Le virus, qui se répand sur Windows et Linux, révèle un bug du noyau Linux

Cloud

Le récent virus affectant les deux plates-formes ne fonctionnait pas sur certaines versions récentes de l’OS libre.

Il y a des virus qui rendent service. Malgré eux. C’est notamment le cas de Virus.Linux.Bi.a/Virus.Win32.Bi.a. Découvert le 7 avril par l’éditeur Kaspersky, la bestiole s’illustre par sa capacité à affecter aussi bien les plates-formes Windows que Linux (voir édition du 10 avril 2006). Un virus de démonstration (proof of concept) qui ne fonctionnait pourtant pas sur certaines des distributions Linux les plus récentes mais se propageait sans problème sur les plus anciennes (ainsi que sur Windows).

Une anomalie qui a amené Linus Torvalds à s’interroger sur l’origine de ce « dysfonctionnement ». Comme le rapporte le site NewsForge, dédié aux développements Linux et open source, la propagation de Virus.Bi se heurtait essentiellement au noyau le plus récent de Linux (le 2.6.16). Une analyse rapportée par Hans-Werner Hilse et validée par Linus Torvalds.

Le compilateur plus que le noyau

Cette « incompatibilité » avec la dernière version exploitée en distributions du noyaux de Linux n’était pas à mettre sur la présence d’une fonction de sécurité mais bien sur celle d’un bug. Toujours selon NewsForge.com, cette erreur de programmation proviendrait d’une option (intitulée REGPARM) utilisée dans le compilateur du noyau. Une option activée par défaut qui expliquerait l’irrégularité du fonctionnement du virus. Depuis, le père de Linux a corrigé le bug (dans le noyau 2.6.17) et le virus fonctionne de nouveau parfaitement.

Selon Linus Torvalds, le bug n’aurait paradoxalement pas (ou peu) affecté les applications sous Linux. C’est donc les intentions malveillantes d’un auteur de virus qui, pour une fois, ont permis à la communauté du libre d’améliorer la qualité de leurs développements.