|
 |
|
 |
|
La sécurité et l'Open Source
|
|
 |
|
 |
Introduction
Depuis Linus Torvalds et son système Linux, l'Open Source s'est considérablement développé. Mais qu'est-ce que l'Open Source ?
C'est le fait de rendre public le code source d'un logiciel. L'Open Source est régie par un ensemble de licences, dont la plus
connue est la GNU Public License.
Ce code source n'est donc plus la possesion privée d'une personne, d'un groupe de personne, ou d'une société, comme c'était
le cas depuis la naissance de l'informatique dans les années 60, jusque dans les années 80/90.
Les plus grandes entreprises emboitent actuellement le pas des développeurs indépendants et proposent à leur tour
des logiciels de qualité professionnelle en Open Source.
Mais derrière cet effervescence intellectuelle, quelles sont les conséquences, en matière de sécurité, pour les projets Open Source ?
Les avantages
Relectures multiples du code
Qu'il soit étudiant, professionel, ou tout simplement amateur et quelque soit
son niveau, ses méthodes, sa culture, sa nationalité, le programmeur a accès au code. Il peut donc le relire pour le comprendre
et anticiper le debuggage. De ces lectures croisées de nombreux bugs sont décelables. Parmis ces bugs, il y en a certainement qui
touchent directement la sécurité du logiciel, comme les
buffers overflow.
On appelle cela des trous de sécurité applicatif.
Réactivité de l'open source
Un autre avantage de l'open source est le fait que la communauté réagisse plus rapidement dans la correction d'un bug. Cela arrive même fréquemment que le programmeur qui découvre un bug propose aussi le patch qui permette de le corriger, lorsque l'information est rendue publique. Les sociétés traditionnelles de logiciel mettent plus de temps car leur structure est plus hiérarchisée, plus grosse et donc moins réactive.
Les inconvénients
Relectures multiples du code
La relecture multiple du code permet de détecter un plus grand nombre de trous de sécurité dans un logiciel. Par contre, il serait naif de penser que tous les trous de sécurité sont vus ! Les logiciels sont de plus en plus complexes et certains dépassent même la vision que peut avoir un programmeur de l'ensemble du logiciel. C'est le cas de Linux : Les programmeurs se cantonnent à écrire des patchs, au mieux des modules, et rares sont ceux qui ont une vision globale de tous les morceaux de code que composent le kernel Linux. Si on ajoute à cela qu'il existe un noyau Linux pour chaque OS, et que chaque OS a un comportement différent en matière de sécurité dans la programmation...
De surcroit, à l'échelle de tous les programmeurs dans le monde, il existe peu de personnes qualifiées pour faire une relecture de code open source, à la recherche de trous de sécurité. Il est donc tout à fait concevable qu'un trou de sécurité existe dans un logiciel open source et que personne ne le découvre avant des mois, voir des années.
L'open source est... Open !
Le fait de mettre le code accessible à tout le monde est risqué : Si une personne découvre un trou de sécurité, rien ne l'empèche de le garder pour lui en vue d'en tirer un profit quelconque. Un trou de sécurité ne peut être corrigé que s'il est connu. Donc tant que des hackers gardent leurs informations pour eux, le logiciel cible ne sera pas corrigé. Et cela peut prendre des mois.
Conclusion
Tout le monde sait que baser la sécurité sur un programme propriétaire n'est pas sécurisant : N'importe quel hacker peut désassembler le code jusqu'à comprendre comment la protection est faite. C'est un fait. C'est pourquoi l'open source est généralement considéré comme plus sécurisant qu'un code propriétaire. Comme nous l'avons vu, il n'en est rien. Le seul fait qui aille dans le sens de l'open source, c'est qu'un bug de sécurité est en général plus rapidement découvert, et donc plus rapidement corrigé.
|
|