La sécurité applicative de l'Open Source progresse

L'Open Source Hardening Project a permis de réduire les bugs dans 250 projets du logiciel libre. La sécurité est désormais aussi directement prise en compte dans les projets, dont Mozilla et PHP.

Le programme inauguré en 2006 par le Département américain de la sécurité nationale (DHS) et destiné à sécuriser le code des applications Open Source arrivera à son terme en août prochain. Un premier rapport souligne les progrès accomplis en matière de durcissement des applicatifs portés par les communautés Open Source.

Pour mémoire, le programme (Open Source Hardening Project) confié à l'université de Stanford, Coverity et Symantec englobait le contrôle et la correction du code de 50 projets du Libre. En 2007, il était étendu à 150. Il en concerne désormais 250, parmi lesquels Apache Web server, Linux, Firefox, Samba, PHP et Ruby.

Selon le rapport publié par Coverity, un éditeur spécialisé dans les outils d'audit applicatif, ce sont 10 milliards de lignes de code qui ont été passées en revue, permettant de corriger 8 500 bugs. La densité de bug pour 1 000 lignes de code a reculé de 0,30 à 0,25. Tous les projets Open Source n'ont cependant pas exploité les résultats d'audit communiqués par le groupe de travail.

En revanche, d'autres logiciels libres ont durci leur code. Il s'agit notamment de Perl, PHP, Python, Postfix, Samba et TCL. Les erreurs les plus souvent identifiées (28%) sont de type Null Pointer Dereferences. Ces bugs se produisent lorsqu'un chemin initialise un pointeur avant qu'il ne soit utilisé. Viennent ensuite à 26% les erreurs de type resource leaks (fuites de ressource) conduisent à une dégradation des performances.

28% de bugs de type Null Pointer Dereferences

Coverity a pu également constater que la croyance selon laquelle la longueur d'une fonction générait plus de défauts n'était pas fondée pour les projets Open Source audités. Il n'y aurait ainsi pratiquement aucune corrélation entre la longueur moyenne des fonctions d'un projet et la densité de bugs de ce même projet.

Même si les sommes allouées par le DHS couvre le financement du programme durant trois ans, l'éditeur Covertity a lui déjà fait part de sa volonté de le prolonger au-delà de la période. Toutefois, il n'est pas précisé si ce service apporté aux développeurs de l'Open Source continuera d'être proposé gratuitement. La sécurisation des logiciels libres est néanmoins favorable à leur développement dans les entreprises et les administrations.

L'engagement du Département de la sécurité nationale visait d'ailleurs notamment à durcir le code afin de permettre plus facilement son utilisation au sein des administrations du pays, aux côtés ou en remplacement (voire ou au sein) des logiciels propriétaires déjà déployés sur leurs systèmes d'information.

L'Open Source Hardening Project n'est cependant pas la seule initiative prise en matière de sécurisation des logiciels libres. Plusieurs projets Open Source disposent d'ailleurs de cellules dédiées à la sécurité. C'est notamment le cas de Mozilla qui avait recruté Window Snyder en 2006 afin d'assumer les responsabilités de responsable de la sécurité. Cette dernière travaillait précédemment au sein de Microsoft et pour le cabinet de sécurité Matasano Security.

Le PHP Security Consortium intervient lui pour sur la sécurité du langage PHP, tout comme le Hardened-PHP Project. L'oCERT, auquel participe notamment Google, a lui été inauguré récemment. Composé de bénévoles, sa mission est de compiler et faire le lien entre les projets Open Source, les chercheurs en sécurité, les développeurs et les communautés Linux. L'oCERT apporte également une assistance technique à la correction des vulnérabilités.