La sécurité en question

"Si code source est distribué, les pirates seront en mesure de pénétrer dans notre système plus facilement"

Le fait que le code source de Linux soit publiquement connu est suffisant pour que beaucoup de sociétés de conseil recommandent d'éviter son usage. Beaucoup d'entreprises souscrivent à la doctrine de "la sécurité par le secret", quoique cela ait été critiqué dans les milieux professionnels de la sécurité. En fait, un système véritablement sécurisé est un système qui ne repose pas sur la conservation interne de ses secrets. Les algorithmes de chiffrement, par exemple, sont connus du grand public. L'algorithme de DES et son dérivé, l'algorithme Triple-DES, ont été intensivement disséqués pendant les dernières deux décennies. Aucune faiblesse critique n'a été trouvée. Le Triple-DES est maintenant considéré comme un des algorithmes de chiffrement les plus sûrs, parce qu'il a été soumis à un examen minutieux et strict. Il y a un grand avantage à exploiter un système qui est exposé, attaqué, analysé et corrigé, et qui en conséquence se fiabilise. Un système fermé et secret ne peut en faire autant, et il se peut que des bugs et des trous de sécurité n'aient jamais été détectés. Pour quoi que ce soit, l'état de source ouverte de Linux permet à d'éventuels problèmes de sécurité d'être débusqués et corrigés très rapidement. Il existe bon nombre d'anecdotes sur des corrections de bugs liés à la sécurité de Linux qui ont été réalisées quelques heures après leur découverte (attaques ftp, attaque par fragmentation IP, et le "ping de la mort"). Au total, du point de vue de l'aspect sécurité, Linux, FreeBSD et les autres sources libres restent préférables aux systèmes d'exploitation fermés fournis par un développeur commercial. Les anomalies et les insuffisances des systèmes commerciaux continueront à demeurer non détectées jusqu'au jour où un pirate les exploitera.

Dans ce contexte, il est intéressant mentionner l'attaque récente via TCP du cheval de Troie Trojan. Le logiciel TCP est destiné à sécuriser les connections réseaux sous Unix/Linux, et est distribué soit sous forme de code source soit déjà compilé. Etant donné sa nature sensible, personne ne s'attendait à ce que quelqu'un puisse télécharger le code source, lui ajouter une faille de sécurité, le re-compiler et re-déposer l'exécutable modifié sur le même site Internet.

Une erreur de sécurisation ? Assurément. Mais ce qui a rendu le logiciel vulnérable à l'attaque a également rendu facile la détection et la correction du problème. Les codes sources libres peuvent être consultés et modifiés, mais le système utilisé par leurs auteurs est tout sauf naïf. Le "checksum" de chaque partie du logiciel (appelé "message digest") est numériquement signé par son auteur et placé sur le même site Internet que le logiciel. Puisque la clé publique de l'auteur est publiquement accessible via de nombreuses sources indépendantes, le "message digest" peut être déchiffré. Lors d'une comparaison avec le "message digest" intégré au logiciel téléchargé, l'utilisateur ne doit voir aucune différence. S'il en existe, cela signifie que le logiciel a été trifouillé. Et c'est ainsi le cheval de Troie Trojan a été détecté, après pas moins de 52 téléchargements déjà réalisés (ces 52 personnes n'ayant pas pris la peine de valider la correspondance des "message digest"). Le "pirate" n'avait aucun moyen de signer numériquement l'exécutable transformé sans la clé privée de l'auteur, aussi la découverte du pot aux roses n'était qu'une question de temps. La sécurité du site Web en question a également été immédiatement renforcée par une meilleure configuration pour empêcher à l'avenir une telle mésaventure.

La leçon à en tirer est que les logiciels ayant leurs sources ouvertes sont parfaitement sûrs et fiables au niveau sécurité, mais qu'il appartient aux utilisateurs de les employer correctement pour en tirer le meilleur parti. Les firewalls dont le code source est diffusé, comme le programme "ipchains" livré avec le nouveau noyau de Linux, sont hautement sécurisés, mais doivent être configurés de façon adéquate pour être efficaces. Les logiciels liés aux problèmes de sécurité aisément disponibles pour Linux incluent le programme TCP évoqué ci-dessus et l'interpréteur de commandes ssh, en plus des outils libres et puissants de cryptographie comme PGP (Pretty Good Privacy), SSLeay, Cryptix et FreeS/WAN. La sécurité de Linux sera donc à la mesure de la configuration que vous aurez retenue, et en tout cas pas moins sûre que dans la plupart des logiciels commerciaux.

Références :

Open Source et la sécurité

L'attaque du cheval de Troie par TCP

Outil de configuration de firewall

Page de téléchargement de TCP et d'autres outils

L'interpréteur de commandes sécurisé ssh

L'outil de configuration de firewall "Mason" distribué sous licence GNU GPL

Page de téléchargement de PGP

Page d'accueil de SSLeay

Page d'accueil de Cryptix

Les dernières informations sur FreeS/WAN

La page d'accueil de FreeS/WAN