rulururu

post Sécurité du modèle de développement des Logiciels Libres (2ème partie : quelques attaques)

August 30th, 2008

Filed under: Sécurité — gryzor @ 15:56

La plupart des projets développés en Logiciels Libres s’appuient sur des communautés de développeurs, qui se créent et évoluent au fil du temps selon les intérêts et talents de chacun. La méritocratie à la base de la constitution de ces communautés est-elle bien suffisante pour garantir l’intégrité des développeurs qui rejoignent un projet ?

Il semble que les projets LL disposent de peu de critères objectifs et stricts pour décider d’accorder à un contributeur des droits d’écriture sur tout ou partie du code. Les système simplement basés sur le vote des membres en place sont attaquables, par exemple par des attaques sociales. Un attaquant peut tâcher de devenir sympathique aux yeux de quelques membres clés, et cela peut suffire, en manifestant sa présence sur un salon IRC, et en envoyant les bons patches au bon moment…

Mettons nous à la place de vendeurs de Logiciels propriétaires/privatifs, qui n’ont pour certains eu de cesse ces derniers temps que de décrier les Logiciels Libres pour défendre leur bifsteak. Les moyens mis en oeuvre par ces acteurs sont parfois douteux, comme on le voit plus ou moins couramment lors de certaines campagnes de lobbying auprès d’institutions politiques. Ces vendeurs/éditeurs disposent de moyens colossaux, et peuvent vouloir nuire à tel ou tel projet, voire vouloir discréditer le Logiciel libre dans son ensemble. Si j’étais à leur place, je considérerais que payer des “taupes” pour infiltrer des projets et y semer du code dormant sur la durée pourrait être un moyen relativement efficace de parvenir à mes fins.

À la place, notamment, des distributions Linux, je me méfierais.

Suggestions :

  • Formaliser un délai minimum et incompressible entre les premiers contacts avec un développeur et son admission au titre de commiteur
  • Formaliser une politique sur le volume de code envoyé avant de gagner le moindre droit de commit
  • Formaliser une procédure de parrainage
  • Exiger une preuve d’identité de chaque développeur (et pourquoi pas un jour mettre en place une liste noire centralisée d’indésirables ?)

Aucun de ces moyens ne suffit à garantir l’intégrité d’un développeur, mais leur application conjointe pourrait ralentir considérablement les agissements d’un attaquant.

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment

ruldrurd