lundi 4 mai 2009

Security through obscurity

Security through obscurity est un type de sécurité qui se base sur la méconnaissance d'un système de la part de l'utilisateur. En gros, quelqu'un qui ne connaît pas une faille cachée ne l'exploitera pas. Ceci est diamétralement opposé à la sécurité par design (Secure by design), où la sécurité est "intrinsèque".

La distinction a quelque chose de particulièrement intéressant en cryptographie. Par exemple, quelqu'un qui a besoin de quelque chose de très sécuritaire (pensons par exemple à la CIA et à sa torture), la sécurité par obscurité est insuffisante. Si on utilise une clé quelconque pour crypter un message et que cette clé finit par être découverte (et est suffisante pour décrypter le message), alors voilà, tout est fini.

Un exemple concret serait par exemple si je vous disais MON MOT DE PASSE EST J44F!!, et que la manière que j'ai encrypté mon mot de passe est que j'ai décalé mes mains sur le clavier vers la droite, alors vous savez que mon mot de passe est "H33D".

Une clé robuste, c'est-à-dire qui implémente le deuxième type de sécurité ("par design") est telle que la meilleure manière de la tester est de la publier (!). Évidemment, dans un tel cas, elle dépend de quelque chose qui n'est pas publié (habituellement un nombre premier quelconque, à la base du fonctionnement de la clé). Bref, on tourne en rond, mais on peut voir qu'on est quand même rendu une coche au-dessus côté robustesse.


Un exemple de sécurité par obscurité dont la faille est utilisée (tiré d'ici):
In November 2004 the [defunct] HTS-based HowDark Security Group notified the phpBB Group, makers of the popular phpBB bulletin software, of a serious vulnerability in the product. The vulnerability was kept under wraps while it was brought to the attention of the phpBB admins, who after reviewing, proceeded to downplay its risks. Unhappy with the Groups' failure to take action, HowDark then published the bug on the bugtraq mailing-list. Malicious users found and exploited the vulnerability which led to the takedown of several phpBB-based bulletin boards and websites. Only then did the admins take notice and release a fix. Slowness to patch the vulnerability by end-users led to an implementation of the exploit in the Perl/Santy worm (read full article) which defaced upwards of 40,000 websites and bulletin boards within a few hours of its release.



Au passage, je noterai que les logiciels libres (dont le code source est publié) offrent habituellement une sécurité par design (étant donnée leur nature publique). Autrement, un produit commercial pourrait bel et bien avoir recours à la sécurité par obscurité sans nécessairement éprouver de problèmes (tant que le tout soit étanche).







P.S. Pas la peine de l'essayer, ni J44F, ni H33D n'est mon mot de passe.

4 commentaires:

Patrick a dit...

(sur ton affaire de twitter:) "Il fait 17 dehors, température ressentie 1 433. " LOL

Nicolas a dit...

Le meilleur exemple de ça, c'est Windows

Souvent, ils sortent des correctifs pour des failles à cause de virus destructeurs qui ont été lancés, autrement, la faille serait sûrement restée là beaucoup plus longtemps. Exemple récent: Conficker

Seigneur a dit...

J'étais justement venu pour en parler à propos de Windows... par contre, ils sont quand même relativement efficaces (et ils règlent les problèmes quand ils le réalisent, pour le peu qu'on sache... c'est difficile savoir s'il y a des failles qui sont connues à l'interne et qu'ils ne corrigent pas en espérant que personne ne le remarque... ça m'étonnerait par contre).

Nicolas a dit...

Il y a des sites consacrés exclusivement aux failles découvertes dans Windows. Souvent, Microsoft sort les correctifs parce que les failles ont été exposées sur ces sites