La preuve que la sécurité est un échec
Pour ceux qui ne lisent pas (ou plus) la liste de diffusion Full Disclosure, voici la version courte de l’histoire : un « groupe » se faisant appeler « anti-sec » lance une guerre totale contre les « white hats » (les gentils hackers, si toutefois cela a un sens) et le « full disclosure ». Une telle initiative refait surface de manière périodique, la dernière en date étant le « pr0j3kt m4yh3m » (tout un programme).
Comme preuve de leur motivation, ils ont saccagés quelques sites à forte visibilité : Astalavista, ImageShack … le dernier en date étant la crème du consulting américain en sécurité informatique : la société Matasano.
Cette histoire est emblématique à plusieurs titres.
Tout d’abord la réponse à « pourquoi la sécurité est un échec » se voit une n-ième fois confortée : toutes ces attaques sont basées sur la découverte d’un mot de passe faible par brute-force SSH, n’en déplaise à ceux qui pensaient avoir trouvé un « 0day » exploitable en préauth dans SSH sur un Linux 64 bits avec le patch GrSecurity appliqué …
N’oublions pas le cas de Twitter, qui aurait pu simplement « disparaitre » du Web à la suite de la compromission d’un mot de passe (heureusement que cette attaque était le fruit d’un individu isolé plutôt bien intentionné).
Ensuite le cas de Matasano laisse songeur, surtout lorsqu’on voit que le même système est utilisé pour de l’hébergement Web, de la messagerie … et le stockage de données d’audit client (ex. « ISA Pen Test Availability_13_Feb.xls »).
La sécurité est un échec car personne, quel que soit son niveau de compétences et l’énergie investie dans l’administration de ses systèmes, ne peut prétendre être invulnérable. D’ailleurs vous ne m’entendrez jamais dire « fu^H^Hhack me I’m famous », car je sais trop bien que vous y arriveriez :)
Des exemples ?
On lit dans la presse que divers réseaux de sensibilité extrême sont piratés (DoD, FAA, système de paiement, …). C’est bien sûr totalement invérifiable, mais crédible. Ayant eu l'occasion de m'intéresser à quelques réseaux sensibles vaguement connectés à Internet (SITA, réseaux satellitaires, etc.), il s’avère qu’ils sont tous de même niveau de sécurité que le réseau bureautique moyen … l’expérience des attaques en moins !
Prenons quelques exemples publics et vérifiables :
- Le site « j’aime les artistes ». Un(e) ministre ayant commis l’erreur de prétendre ce site inviolable, il a été immédiatement mis hors d’usage.
- La société « Extelia ». Après avoir gagné l’appel d’offres HADOPI, cette société et tous ses sites clients ont immédiatement été piratés.
- Le (défunt) Challenge Securitech. Bien sûr faire converger tous les « experts en sécurité » français (soyons clair, Securitech était devenu très « corporate » sur la fin :) sur un site où ils peuvent gagner un iPod en piratant était dangereux. Mais se faire avoir parce que l’hébergeur a désactivé l’option « magic quotes » est un peu humiliant quand même :)
- Le blog d’Ivanlef0u. En même temps, je ne vois pas qui peut assurer la sécurité d’un hébergement mutualisé en PHP. Ils serait plus facile de compiler OpenOffice sous OpenBSD.
- Edit: n'oublions pas la fameuse démo du projet SPAClik au SSTIC'09. "Aucune faille n'a été trouvée dans mon système jusqu'à présent". On connait la suite, avec l'humiliation en direct sur scène.
Ainsi dans mon cas, je suis dépendant de :
- La sécurité de ma Freebox (autant dire pas grand-chose, puisqu’elle est administrable à distance par au moins tout le personnel de Free).
- La sécurité de mes fournisseurs de messagerie (Free, Gmail, etc.). Autant dire pas grand-chose non plus, même si j’utilise de fausses réponses aux questions secrètes, que je ne lis jamais mon mail via l’interface Web, et que j’utilise un mot de passe différent sur chaque site. Car réaliser un Webmail sécurisé relève de la mission impossible.
- La sécurité de mes machines à la maison. Ainsi « on » m’a fait remarquer que dans la configuration Debian par défaut du serveur ProFTDd, l’utilisateur anonyme peut accéder à tout le disque par un simple « ../ ». Mais qui fait encore confiance à Debian pour assurer sa sécurité ? :)
Alors que peut-on faire ? Rien du tout, car en général il suffit que l’un de ces maillons soit brisé pour que le château de cartes s’écroule par le jeu des relations de confiance. La meilleure défense consiste à ne rien stocker de sensible qui ne soit accessible en ligne, car tout ce qui est connecté à Internet est ou peut être compromis.
Pour tenter une analogie (avec tous les risques que cela comporte), les digicodes ne servent à rien quelle que soit la longueur du code - à partir du moment où au moins un résident de l'immeuble a déjà commandé une pizza par téléphone (disclaimer: je n'ai jamais audité le réseau Pizza Hut, je suppose juste que tous les digicodes sont stockés en clair dans leur base de données :).