lundi 5 février 2007

Une démonstration par réccurence

Posons l'axiome suivant:
«Aucun système d'exploitation n'a une sécurité parfaite»

Or Linux est parfait, et Ubuntu est une Linux, donc Ubuntu n'est pas un OS...

... heu non c'est pas ça que je voulais dire. (encore que c'est un bel exemple de démonstration par l'absurde)


Prenons un système au hasard : une bonne vielle Débian. Sa sécurité n'est pas parfaite, donc il existe une faille de sécurité. On la corrige, on a un second système qui n'a toujours pas une sécurité parfaite. On re-corrige pour avoir un troisième système qui n'est axiomatiquement pas parfaite
ect.
Après 6 millions de pas, on trouve qu'un noyau Linux moyen possède une faille de sécurité par ligne de code.

En fait il n'est pas dit que le système initial possédait toutes les failles des systèmes itérés (c'est une faute classique de raisonnement quand on écrit des preuves par récurrence). Dans ce cas, on déduit qu'à partir d'un certain moment, à chaque fois qu'on corrige une faille, on en crée un nouvelle (sinon, on aurait une infinité de failles dans le système initial).

1 commentaire:

Sacha a dit…

Cette note est-elle en rapport quelconque avec mon billet sur la sécurité?

Dans la démonstration par l'absurde, la seule erreur qui a conduit à dire que Ubuntu n'est pas un OS, c'est de dire que Linux est parfait.

Ubuntu est une Linux, Linux est un système d'exploitation, aucun système d'exploitation n'a une sécurité parfaite, donc Linux n'est pas parfait.

Petite subtilité, chaque fois qu'on corrige une faille, on n'en fait pas nécessairement une nouvelle : c'est plutôt l'ajout de fonctionnalités nouvelles dont tôt ou tard on découvre les points vulnérables qui crée des failles.

Mais on peut dire également que plus un logiciel a des fonctionnalités, statistiquement plus il y a des failles, d'où nécessité de séparer les éléments du système dont les fonctions sont plus ou moins différentes (un serveur graphique séparé du reste du système, par exemple) et d'où aussi nécessité de séparer les chambres à air dans un bateau : sinon, rien qu'avec un seul trou, le bateau va couler.