IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Des bibliothèques de code Python infectées ont été utilisées par des développeurs, Réactions à la publication du 18/09/2017
Options
Lionel
posté 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
Go to the top of the page
 
+Quote Post
linus
posté 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é ?
Go to the top of the page
 
+Quote Post
GregWar
posté 18 Sep 2017, 06:14
Message #3


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 1 305
Inscrit : 22 Aug 2001
Lieu : Paris
Membre no 668



Citation (linus @ 18 Sep 2017, 00:43) *
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.
Go to the top of the page
 
+Quote Post
flan
posté 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.
Go to the top of the page
 
+Quote Post
yponomeute
posté 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



Citation (linus @ 18 Sep 2017, 01:43) *
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
Go to the top of the page
 
+Quote Post
Nicnl
posté 18 Sep 2017, 12:06
Message #6


Adepte de Macbidouille
*

Groupe : Membres
Messages : 99
Inscrit : 12 May 2010
Membre no 154 100



Citation (Lionel @ 17 Sep 2017, 23:00) *
Certains développeurs n'étant pas passé par des sources officielles les ont téléchargées et utilisées.


Citation (yponomeute @ 18 Sep 2017, 10:15) *
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...
Go to the top of the page
 
+Quote Post
iAPX
posté 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



Citation (yponomeute @ 18 Sep 2017, 05:15) *
Citation (linus @ 18 Sep 2017, 01:43) *
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 smile.gif

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 wink.gif

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!
Go to the top of the page
 
+Quote Post
Hebus
posté 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é laugh.gif

Ce message a été modifié par Hebus - 18 Sep 2017, 16:01.


--------------------
Bobo du Pays d'Aix et Fanboy Apple
Go to the top of the page
 
+Quote Post
johnstone
posté 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



Citation (Nicnl @ 18 Sep 2017, 13:06) *
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 ohmy.gif


--------------------
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
Go to the top of the page
 
+Quote Post
chombier
posté 18 Sep 2017, 22:52
Message #10


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 6 580
Inscrit : 20 Mar 2003
Membre no 6 765



Citation (Hebus @ 18 Sep 2017, 16:52) *
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é laugh.gif

Le rapport avec Python c'est quoi ?


Citation (yponomeute @ 18 Sep 2017, 11:15) *
Citation (linus @ 18 Sep 2017, 01:43) *
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 tongue.gif ) maladroit rendra malades quelques clients, alors qu'un développeur en contaminera potentiellement plusieurs millions. ph34r.gif


--------------------
késtananafout' (:
Go to the top of the page
 
+Quote Post
baron
posté 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



Citation (chombier @ 18 Sep 2017, 23:52) *
[…] (ou un poissonnier tongue.gif ) […]

wink.gif
Go to the top of the page
 
+Quote Post
Nicnl
posté 19 Sep 2017, 00:00
Message #12


Adepte de Macbidouille
*

Groupe : Membres
Messages : 99
Inscrit : 12 May 2010
Membre no 154 100



Citation (johnstone @ 18 Sep 2017, 16:07) *
Citation (Nicnl @ 18 Sep 2017, 13:06) *
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 ohmy.gif


... confused5.gif si
Go to the top of the page
 
+Quote Post
Le Fée Vert
posté 21 Sep 2017, 14:12
Message #13


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 323
Inscrit : 8 Jan 2007
Membre no 77 584



Citation (iAPX @ 18 Sep 2017, 14:08) *
Citation (yponomeute @ 18 Sep 2017, 05:15) *
Citation (linus @ 18 Sep 2017, 01:43) *
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 smile.gif

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 wink.gif


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
Go to the top of the page
 
+Quote Post
ungars
posté 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.
Go to the top of the page
 
+Quote Post
chombier
posté 25 Sep 2017, 20:25
Message #15


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 6 580
Inscrit : 20 Mar 2003
Membre no 6 765



Citation (ungars @ 25 Sep 2017, 21:08) *
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. biggrin.gif

Citation (ungars @ 25 Sep 2017, 21:08) *
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. biggrin.gif
Un pirate, c'est comme un PDG, ça vise le profit maximal. biggrin.gif

Pour les adresses IP, je donne ma langue au chat.


--------------------
késtananafout' (:
Go to the top of the page
 
+Quote Post
Le Fée Vert
posté 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
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 19th April 2024 - 04:54