Des bibliothèques de code Python infectées ont été utilisées par des développeurs, Réactions à la publication du 18/09/2017 |
Bienvenue invité ( Connexion | Inscription )
Des bibliothèques de code Python infectées ont été utilisées par des développeurs, Réactions à la publication du 18/09/2017 |
17 Sep 2017, 23:00
Message
#1
|
|
BIDOUILLE Guru Groupe : Admin Messages : 55 335 Inscrit : 14 Jan 2001 Lieu : Paris Membre no 3 |
Une autorité de sécurité informatique Slovaque a découvert que des développeurs avaient, de manière involontaire, mis en place du code malveillant dans leurs logiciels. Ce code malveillant était caché dans des bibliothèques Python par des pirates. Ils n'ont pas cherché à faire compliqué. Ils ont juste ajouté quelques lignes de code dans les bibliothèques officielles, puis les ont remises en ligne. Certains développeurs n'étant pas passé par des sources officielles les ont téléchargées et utilisées.
Si ces paquets infectés ont été retirés des sites populaires, ils sont toutefois encore présents sur d'autres, et le risque de propagation et de dissémination n'est pas terminé. Une étude de ce code a montré qu'il n'était heureusement pas dangereux. Il se contente de suivre pas à pas ceux qui utilisent ce code, en envoyant leur IP à des serveurs. Le code a été mis en ligne en juin dernier, et aurait été exécuté 45000 fois sur plus de 17000 domaines. Cette attaque sera certainement l'occasion d'une vaste réflexion sur la distribution de Python, et la sécurisation de ses sources. Lien vers le billet original -------------------- C'est parce que la vitesse de la lumière est plus grande que celle du son que tant de gens paraissent brillants avant d'avoir l'air con
|
|
|
18 Sep 2017, 00:43
Message
#2
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 1 652 Inscrit : 24 Jun 2004 Lieu : Grenoble Membre no 20 409 |
Est ce que c'est vraiment une nouveauté ou un truc assez banal en fait ?
Qui authentifie vraiment les bibliothèques Python, C++, Java, etc., qu'on trouve à foison ? Est il seulement possible de le faire alors que bien peu de gens sont à même d'en décortiquer le code souvent très spécialisé ? |
|
|
18 Sep 2017, 06:14
Message
#3
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 1 305 Inscrit : 22 Aug 2001 Lieu : Paris Membre no 668 |
Est ce que c'est vraiment une nouveauté ou un truc assez banal en fait ? Qui authentifie vraiment les bibliothèques Python, C++, Java, etc., qu'on trouve à foison ? Est il seulement possible de le faire alors que bien peu de gens sont à même d'en décortiquer le code souvent très spécialisé ? Quand même, quand tu utilises des systèmes de distribution centralisé, type Maven, et que tu restes sur des répos standards, c'est quand même signé PGP pour y déposer des artefacts. Peut-être un exploit de type Man-In-the-middle, ou DNS poisoning, entre la personne qui soumet l'artefact et le repo... mais c'est pas très facile, et il faut vraiment être renseigné. Par contre, oui, si on télécharge des bouts de code, ici et la, depuis GitHub… façon script kiddie, je cherche sur Google 5 min, et je copié-colle… forcément, un jour on tombe sur un truc pourri. -------------------- MBP13 Early 2015 - Core i7.
|
|
|
18 Sep 2017, 06:47
Message
#4
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 1 608 Inscrit : 1 Jul 2006 Membre no 63 808 |
En l'occurrence, c'est beaucoup plus simple que ça : c'est du typosquatting sur des bibliothèques classiques (acqusition au lieu de acquisition).
Accessoirement, l'auteur explique qu'elles ont été téléchargées, et en déduit qu'elles ont été utilisées. Sauf que pas mal de gens font des copies intégrales des miroirs Python, et donc téléchargent tout systématiquement, sans pour autant les utiliser. |
|
|
18 Sep 2017, 10:15
Message
#5
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 4 969 Inscrit : 26 Jan 2011 Lieu : Pollachius virens Membre no 164 083 |
Est ce que c'est vraiment une nouveauté ou un truc assez banal en fait ? Qui authentifie vraiment les bibliothèques Python, C++, Java, etc., qu'on trouve à foison ? Est il seulement possible de le faire alors que bien peu de gens sont à même d'en décortiquer le code souvent très spécialisé ? Développeur c'est un métier, il y a des vérifications élémentaires de sécurité à faire quand on récupère du code quelque part. Mais bon comme dans tous les métiers il y a des gens sérieux et d'autres moins. -------------------- MBP 2017 15" avec clavier pourri et touchbar inutile
|
|
|
18 Sep 2017, 12:06
Message
#6
|
|
Adepte de Macbidouille Groupe : Membres Messages : 99 Inscrit : 12 May 2010 Membre no 154 100 |
Certains développeurs n'étant pas passé par des sources officielles les ont téléchargées et utilisées. Développeur c'est un métier, il y a des vérifications élémentaires de sécurité à faire quand on récupère du code quelque part. Mais bon comme dans tous les métiers il y a des gens sérieux et d'autres moins. Pas besoin de chercher plus loin, c'est exactement ça... Si tu voyais le nombre de mes collègues qui se rendent sur le premier site bien louche uniquement parce que c'est le seul en Français, et qui téléchargent (sur un article daté de 5 ans un arrière) un zip de code dont ils ne savent rien pour enfin le coller en plein dans le coeur d'un projet vital... |
|
|
18 Sep 2017, 13:08
Message
#7
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 15 378 Inscrit : 4 Jan 2006 Lieu : dtq Membre no 52 877 |
Est ce que c'est vraiment une nouveauté ou un truc assez banal en fait ? Qui authentifie vraiment les bibliothèques Python, C++, Java, etc., qu'on trouve à foison ? Est il seulement possible de le faire alors que bien peu de gens sont à même d'en décortiquer le code souvent très spécialisé ? Développeur c'est un métier, il y a des vérifications élémentaires de sécurité à faire quand on récupère du code quelque part. Mais bon comme dans tous les métiers il y a des gens sérieux et d'autres moins. Ça tombe bien ça, combien de millions de lignes de code utilises-tu, et les vérifies-tu à chaque mise à jour ou quand tu rajoutes un repo avec ça? Sans parler de la difficulté d'une évaluation de la sécurité et de l'absence de bugs risquant de compromettre celle-ci. Mon avis à moi est que c'est mission impossible, à cause de la quantité de code qu'on peut être amené à utiliser/réutiliser, ainsi que leur complexité, et de toute façon analyser un code tier est souvent plus long qu'écrire un code qui réalise le sous-ensemble de fonctionnalité dont on a besoin, le principe de réutilisation amène une optimisation du temps et des coûts si tant est qu'on emploi tel-quel sans perdre de temps (sic!) à vérifier ce qu'on utilise. Pour ce qui est des repo Python, il y a une possibilité d'attaque depuis longtemps, en créant un repo utile, le faisant évoluer régulièrement, et à un point introduire du code malveillant dedans une fois qu'il est assez répandu, puis compter sur les mises à niveau pour gentiment voir son malware être adopté en masse PS: bien sûr tout le monde sait analyser du code C pour l'environnement d'exécution CPython, bien sûr, et ils ont eux-aussi été lire CPython, bien sûr Ce message a été modifié par iAPX - 18 Sep 2017, 13:54. -------------------- Utilisateur de Mac depuis 1985 et possesseur de Mac depuis 2005. Utilisateur d'un PC Lenovo au travail, sous Windows, qui renforce ma passion pour les Mac!
|
|
|
18 Sep 2017, 15:52
Message
#8
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 7 162 Inscrit : 24 Sep 2015 Lieu : Pays d'Aix Membre no 196 570 |
Ha... j’avoue que je suis coupable, vomissant à la vue de la moindre ligne de java... quand on me dit utilise telle merde de lib java... je ne vais pas regarder le code... je préfère rester en bonne santé
Ce message a été modifié par Hebus - 18 Sep 2017, 16:01. -------------------- Bobo du Pays d'Aix et Fanboy Apple
|
|
|
18 Sep 2017, 16:07
Message
#9
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 1 101 Inscrit : 19 Oct 2005 Lieu : Presqu'ile de Rhuys Membre no 48 216 |
Pas besoin de chercher plus loin, c'est exactement ça... Si tu voyais le nombre de mes collègues qui se rendent sur le premier site bien louche uniquement parce que c'est le seul en Français, et qui téléchargent (sur un article daté de 5 ans un arrière) un zip de code dont ils ne savent rien pour enfin le coller en plein dans le coeur d'un projet vital... Arghhhh! J'espère que ces projets ne touchent pas la défense, la santé ou le spatial -------------------- John Stone
Utilisateur de Mac depuis 1989 et d'Apple II depuis 1983, iPhone depuis Dec 2016 Fender Strat Mex / Ovation 1861 US / Martin & Co LX1E / Yamaha G-231 / Epiphone LesPaul Classic Yamaha THR10 / DigiTech RP155 / DigiTech JamMan Stereo / Evolution eKeys 49 / Trio band Creator MBA 2021 / iPhone 14 Pro 2023 / AirPods Pro / Apple TV 4K / iPad 2019 / HomePod mini / AppleWatch 8 |
|
|
18 Sep 2017, 22:52
Message
#10
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 6 580 Inscrit : 20 Mar 2003 Membre no 6 765 |
Ha... j’avoue que je suis coupable, vomissant à la vue de la moindre ligne de java... quand on me dit utilise telle merde de lib java... je ne vais pas regarder le code... je préfère rester en bonne santé Le rapport avec Python c'est quoi ? Est ce que c'est vraiment une nouveauté ou un truc assez banal en fait ? Qui authentifie vraiment les bibliothèques Python, C++, Java, etc., qu'on trouve à foison ? Est il seulement possible de le faire alors que bien peu de gens sont à même d'en décortiquer le code souvent très spécialisé ? Développeur c'est un métier, il y a des vérifications élémentaires de sécurité à faire quand on récupère du code quelque part. Mais bon comme dans tous les métiers il y a des gens sérieux et d'autres moins. A cette différence près qu'un artisan boulanger (ou un poissonnier ) maladroit rendra malades quelques clients, alors qu'un développeur en contaminera potentiellement plusieurs millions. -------------------- késtananafout' (:
|
|
|
18 Sep 2017, 23:30
Message
#11
|
|
Macbidouilleur d'Or ! Groupe : Modérateurs Messages : 19 345 Inscrit : 22 Jul 2004 Lieu : Louvain-la-Neuve (Gaule Gelbique) Membre no 21 291 |
|
|
|
19 Sep 2017, 00:00
Message
#12
|
|
Adepte de Macbidouille Groupe : Membres Messages : 99 Inscrit : 12 May 2010 Membre no 154 100 |
Pas besoin de chercher plus loin, c'est exactement ça... Si tu voyais le nombre de mes collègues qui se rendent sur le premier site bien louche uniquement parce que c'est le seul en Français, et qui téléchargent (sur un article daté de 5 ans un arrière) un zip de code dont ils ne savent rien pour enfin le coller en plein dans le coeur d'un projet vital... Arghhhh! J'espère que ces projets ne touchent pas la défense, la santé ou le spatial ... si |
|
|
21 Sep 2017, 14:12
Message
#13
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 323 Inscrit : 8 Jan 2007 Membre no 77 584 |
Est ce que c'est vraiment une nouveauté ou un truc assez banal en fait ? Qui authentifie vraiment les bibliothèques Python, C++, Java, etc., qu'on trouve à foison ? Est il seulement possible de le faire alors que bien peu de gens sont à même d'en décortiquer le code souvent très spécialisé ? Développeur c'est un métier, il y a des vérifications élémentaires de sécurité à faire quand on récupère du code quelque part. Mais bon comme dans tous les métiers il y a des gens sérieux et d'autres moins. Ça tombe bien ça, combien de millions de lignes de code utilises-tu, et les vérifies-tu à chaque mise à jour ou quand tu rajoutes un repo avec ça? Sans parler de la difficulté d'une évaluation de la sécurité et de l'absence de bugs risquant de compromettre celle-ci. Mon avis à moi est que c'est mission impossible, à cause de la quantité de code qu'on peut être amené à utiliser/réutiliser, ainsi que leur complexité, et de toute façon analyser un code tier est souvent plus long qu'écrire un code qui réalise le sous-ensemble de fonctionnalité dont on a besoin, le principe de réutilisation amène une optimisation du temps et des coûts si tant est qu'on emploi tel-quel sans perdre de temps (sic!) à vérifier ce qu'on utilise. Pour ce qui est des repo Python, il y a une possibilité d'attaque depuis longtemps, en créant un repo utile, le faisant évoluer régulièrement, et à un point introduire du code malveillant dedans une fois qu'il est assez répandu, puis compter sur les mises à niveau pour gentiment voir son malware être adopté en masse PS: bien sûr tout le monde sait analyser du code C pour l'environnement d'exécution CPython, bien sûr, et ils ont eux-aussi été lire CPython, bien sûr Bonjour, Si je lis quotidiennement les news sur macbidouille ainsi que les réaction des personnes, je trouve vos réaction très (trop) tranchées envers les développeurs. Je me demande donc quel est votre travail pour émettre des avis aussi tranchés? La technique du cheval de troie que vous expliquez est applicable à beaucoup de logiciels/librairies. Si tout n'est pas vérifié en permanence par tous les utilisateurs, il y a quand même des sources de confiance dans lesquelles il est rationnel d'avoir confiance. Si des développeurs passent outre, ou ne font pas attention à des règles élémentaires... N.B: je réagis aussi en rapport à un de vos précédent messages sur un autre fil ou pour vous (et je simplifie), un ingénieur logiciel n'était pas un ingénieur parce qu'il n'y a pas de complexité, contrairement à ingénieur embarqué. Loin de moi de vouloir émettre un jugement de valeur entre les différents titres d'ingénieurs, mais dans ce cas concret, on voit que pour concevoir/développer un logiciel, il y a un certain nombre de compétences à pouvoir/savoir mettre en oeuvre. -------------------- I can resist everything but temptation O. Wilde |
|
|
25 Sep 2017, 20:08
Message
#14
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 273 Inscrit : 23 Aug 2003 Membre no 9 180 |
Ce qui est hallucinant, c'est d'autoriser des développeurs à télécharger du code sans aucune entrave. Et à l'incorporer dans le projet du client pour lequel il bosse.
Si Python a été choisi pour finalement y insérer quelques lignes de codes en apparence pas bien méchantes, n'est-ce pas parce que c'est le langage le plus en vogue dans le monde du hack ? Et oui, envoyer des adresses IP où tournent ces programmes n'est pas anodin. Mais vers quels serveurs ??? Ce message a été modifié par ungars - 25 Sep 2017, 20:08. |
|
|
25 Sep 2017, 20:25
Message
#15
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 6 580 Inscrit : 20 Mar 2003 Membre no 6 765 |
Ce qui est hallucinant, c'est d'autoriser des développeurs à télécharger du code sans aucune entrave. Et à l'incorporer dans le projet du client pour lequel il bosse. Dans une boîte sérieuse, le code n'arrive pas comme ça dans un projet. Il y a des développeurs qui apportent du code, des "reviewers" qui relisent le code et qui, soit le rejettent soit le soumettent aux "mergers", qui seuls, après relecture, ont le droit d'ajouter le code au projet. Mais bon, ça, c'est dans une boîte sérieuse, dans un monde idéal. Si Python a été choisi pour finalement y insérer quelques lignes de codes en apparence pas bien méchantes, n'est-ce pas parce que c'est le langage le plus en vogue dans le monde du hack ? Et oui, envoyer des adresses IP où tournent ces programmes n'est pas anodin. Mais vers quels serveurs ??? Bien sûr que si ! Comme Windows a été la cible de tous les virus pendant longtemps, puisqu'il était en vogue. Un pirate, c'est comme un PDG, ça vise le profit maximal. Pour les adresses IP, je donne ma langue au chat. -------------------- késtananafout' (:
|
|
|
26 Sep 2017, 13:18
Message
#16
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 323 Inscrit : 8 Jan 2007 Membre no 77 584 |
En plus il existe pipenv qui intègre un check de typo par rapport au 1000 libs les plus populaires. https://github.com/kennethreitz/pipenv .
Pas encore testé. -------------------- I can resist everything but temptation O. Wilde |
|
|
Nous sommes le : 19th April 2024 - 04:54 |