lundi 27 juillet 2009

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.
Quel est le point commun entre tous ces cas ? La dépendance du niveau de sécurité global à celui des tierces parties impliquées.

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 :).

Alors quand on voit le nombre d'intermédiaires impliqués dans la gestion du réseau Internet en France, on peut se poser des questions sur la sécurité même de nos infrastructures critiques ...

(Que serait un billet polémique qui ne se termine pas sur impots.gouv.fr ? ;)

Edit: je n'avais pas vu que le magazine Capital était arrivé exactement à la même conclusion ! Promis je n'étais pas au courant ...

35 commentaires:

jpgaulier a dit…

Mis à part ton habitude de faire des trolls qui tombent à l'eau vis-à-vis de GNU/Debian ou LaTeX, je crois sincèrement que tu es prêt à devenir un très bon RSSI, ça relèverait le niveau ambiant :)

newsoft a dit…

@jpgaulier: c'est une proposition déguisée ?

Cette fois-ci j'ai tenté de me renouveler avec OpenOffice et OpenBSD. Il y a moins de supporters :)

Philippe a dit…

Bonjour Nicolas;

quoi Debian, c'est nul en matière de sécurité. Néophyte en la métière (je suis sous Linux depuis cet hiver via différentes distrib' : mandriva, ubuntu, debian et suse), cela signifie donc que Linux n'est pas plus sécurisé que Windows ?

Bravo en tous les cas pour ce billet. Je suis abonné à capital et j'ai repéré le papier de damien (zataz) mais pas encore lu...

HIK3 a dit…

En fait, même si le PC est sous tension il est vulnérable, certes après ça relève du hardware hacking, mais je suis plus que d'accord sur le fait de dire que si un maillon de la chaîne est faible, toute la chaine casse.

Fred a dit…

> "on peut se poser des questions sur la sécurité même de nos infrastructures critiques"

Heureusement que les réseaux critiques, en tout cas dans la défense, sont cloisonnés physiquement. C'est pas forcément le cas dans le monde de l'entreprise...

Matthieu a dit…

En meme temps ce coup ci tu as vraiment ete dur. Je vais mettre 2 mois pour me remettre de la couverture de Capital. Elle donne vraiment envie de se jeter par la fenetre.
Le titre aurait pu etre "Les gens de l'infosec sont un echec, certains croient encore a la paix dans le monde alors que certains font des guerres a 3,000,000,000,000 USD et que d'autres ont des pertes abyssales.

La vrai question c'est: La securite pour quoi faire?

newsoft a dit…

@philippe: oui j'ai vu sur ton blog que tu étais passé à Linux. Je ne vais pas nourrir le troll Linux vs. Windows. Disons simplement que ces derniers mois, Linux se ridiculise constamment par une gestion calamiteuse des failles "noyau" ...

@Fred: défense != infrastructures critiques. L'infrastructure critique de base, c'est le réseau. Voici une expérience "grandeur nature" qui le prouve:

http://libertesinternets.wordpress.com/2009/04/26/il-suffit-dun-secateur- pour-paralyser-une-ville-de-50-000-habitants/

anti-bs a dit…

@Fred : "les réseaux critiques, en tout cas dans la défense, sont cloisonnés physiquement"

et la marmotte...

meme en NZ ils savent que tu racontes n'importe quoi...
(si tu penses me sortir l'argument selon lequel le reseau touche n'etait pas critique, je te reponds des maintenant que les chats ne font pas des chien)

DbD a dit…

~ $ uname
OpenBSD
~ $ cd /usr/ports/editors/openoffice
# make install clean
[...]
~ $ soffice

Anonyme1 a dit…

J'attendais clairement qu'on parle d'anti-sec en France, par contre soit tu t'es arrêté aux conneries et flames sur FD, soit tu ne veux pas te lancer dedans, mais au final je suis tout simplement deçu.
Je pense que tu as loupé le plus gros troll de l'histoire (en plus de propager une vision plutôt intéressante de l'industrie de la sécurité).

Dommage, je suis sûr que ça aurait fait un peu mouliner le cerveau de certains (pour le bien de tous).


Pour la tentative Debian/OpenBSD/OpenOffice/etc, je ne me prononcerai même pas, les commentaires parlent d'eux-même.

newsoft a dit…

@DbD: je n'y crois pas. La dernière fois que j'ai essayé d'installer un OpenBSD (et c'était il n'y a pas longtemps), les dépendances de paquets étaient toutes cassées.

@Anonyme1: je ne vois pas bien ce qu'antisec apporte de nouveau (il faut dire que j'ai rapidement arrêté de lire le troll). Il me semble que les chevaux de bataille n'ont pas changé depuis le dernier en date: reporter les failles équivaut à faire de la QA gratuite pour les éditeurs, etc.

Julien a dit…

@newsoft: Pourquoi ces derniers mois ? Je me souviens d'avoir fait une rump en 2005 a SSTIC, tout apeuré que j'étais par la sécurité du noyau Linux.

Mon effroi était notamment du à des développeurs noyaux qui refusaient de patcher des null pointer derdference et rétorquant que ça produirait un oops dans tous les cas. Maintenant la plupart comprennent un peu mieux ce qui se passe, mais ca n'est pas encore ça..

Cela étant dit la sécurité du noyau Linux n'est pas forcément pire que celle du noyau Windows. Personne ne regarde vraiment ni l'un ni l'autre, en tout cas pas pour dévoiler publiquement des failles, c'est tout. Mais dans les deux cas, en creusant un peu on en trouve.

Ce qui se passe avec Linux c'est que certaines failles se révèlent toutes seules dans les Changelogs.

De plus, personne ne compte vraiment sur la séparation des privilèges au sein de Windows j'imagine.

newsoft a dit…

@julien: effectivement la sécurité du noyau Linux a toujours été calamiteuse (surtout si on inclut tous les drivers disponibles), tout comme celle du noyau Windows (et particulièrement le sous-système GDI et ses 600+ appels système).

Mais ces derniers temps, même la presse s'en est rendu compte :)

Et puis la différence entre Linux et Windows, c'est qu'un système Linux est généralement fait pour distribuer des shells à plein d'utilisateurs non "root" (ex. les pages perso Cegetel accessibles en SSH !). Donc les failles locales sont critiques. Alors qu'un poste Windows n'a qu'un seul utilisateur, et il est souvent "admin local" (même si c'est en train de changer).

newsoft a dit…

PS. J'ai fait 2 éditions dans le billet d'origine. Je ne sais pas si cela va apparaitre dans le flux RSS.

endrazine a dit…

@newsoft : excellent post :) D'ou tu tiens que c'est un bete bruteforce ssh ?

@julien : agreed sur les failles kernel. Plus généralement, imho, personne ne teste la sécurité : pas plus Microsoft que les dev Linux. Ca coute cher et les end users s'en foutent, alors pour quoi faire ? Btw : je vote pour toi aux pwnies ;)

note: pas de feedback sur le troll^H^H^H^H^Hpost de Linus ?

blah a dit…

perso, mettre wordpress (inaccessible depuis d'ailleurs) et des rapports clients sur une meme machine sur internet ...

Je pense qu'il y a plus de chance que ce soit une vuln dans wordpress que dans SSH.

karlinou a dit…

On parle beaucoup de Linux et Windows, un peu d'OpenBSD mais très rarement de FreeBSD.

J'utilise cet OS sur des serveurs de prod. depuis 1999. Je pense que ça vaut vraiment le coup de s'y attarder un peu, d'autant qu'au niveau sécu noyeau, ça reste "honnête" ;)

Dernier point : Le make install clean dans /usr/ports/editors/openoffice.org-2 marche vraiment bien ! ;)

zf05 a dit…

ah oui, FAIL ! ;-)

Vincent a dit…

karlinou: [...] FreeBSD. J'utilise cet OS sur des serveurs de prod. depuis 1999. [...] au niveau sécu noyeau, ça reste "honnête" ;)

Pour avoir utilisé FreeBSD sur mes serveurs de prod, des gros environnements de jails (parfois très hostiles, dans le cadre de challenges de sécurité), j'en suis arrivé au constat que c'est un code propre, mais sans aucune protection. Le noyau est extrêmement difficile à hardened (qui ici a déjà réussi à rajouter ne serait-ce qu'un classique ProPolice ? :)), et en userland rien n'est disponible (ce qui en fait une plateforme parfaite pour commencer un enseignement sur de l'exploitation binaire).

De plus les mainteneurs mettent parfois plusieurs semaines avant de pousser un patch dans les ports, obligeant à maintes reprises à le faire à la main.


Dernier point : Le make install clean dans /usr/ports/editors/openoffice.org-2 marche vraiment bien ! ;)

Si je l'ai abandonné en Desktop, c'est plus par soucis de simplicité, car effectivement tout fonctionne bien, c'est un bon BSD, et pour le sandboxing d'appli, rien ne vaut une architecture à base de jails (log/nullfs/xvnc & Co).
C'est comme tout, ça prenait trop de temps à monter et à entretenir pour le peu de sécurité offert en comparaison à une Ubuntu-grs (rien qu'au niveau du chiffrement, une Ubuntu alternate c'est une case à cocher à l'install).

Ton petit canard a dit…

ahaha, ça fait bien plaisir, encore 2 ou 3 français (ou un suisse) et la sécurité ne sera plus un échec

mr potatoe a dit…

My goodness tu ose linker le voici de la securite informatique :(

Anonyme a dit…

@zf05:
effectivement,
La recherche "zf05 inurl:zf05.txt filetype:txt" sur google est intéressante :)

doxpara.com? he bin...
cr0.org ???? hebin, surtout que le repertoire exploits/ est vide :)

newsoft a dit…

Pour ceux qui aiment le troll de qualité, voici une interview de Spender à lire d'urgence.

"Best of":

"Je sais que cela va probablement énerver certains des lecteurs, mais en ce moment je suis en train d'utiliser Windows 7 RC"

"Mais comme il y a beaucoup de trous, le sentiment général qui domine est plutôt celui de la dépression :-)"

[OpenBSD] "Depuis ce temps, ils ont ajoutés des mesures défensives, mais plusieurs années après d'autres dans l'industrie."

"Le code écrit par des abrutis sera utilisé seulement par des abrutis."


Tout est dit !

Matthieu a dit…

Pour alimenter le feed de commentaire je rajouterai
http://seclists.org/fulldisclosure/2009/Jul/0505.html

You think having a CISSP makes you more employable? Try adding a plastic vagina, it doesnt matter if you have a manface

newsoft a dit…

http://twitter.com/newsoft/status/3056918614

Matthieu a dit…

J'en rajoute une couche.

""After a stern criticism from Linus, the long-time kernel hacker Alan Cox has decided to walk away .."

http://linux.slashdot.org/story/09/07/29/1925224/Alan-Cox-Quits-As-Linux-TTY-Maintainer-mdash-Ive-Had-Enough

S. a dit…

Toute façonl Linux n'a pas été désigné pour la sécurité ?

OpenBSd non plus, il a été designé pour que Théo aie les plus grosses coucoug....

Sid a dit…

@S.: Linux a juste été créer pour troller avec Tanenbaum. Et ce potentiel polémique ne l'a jamais vraiment abandonné :)

10/10 en rédaction a dit…

En attendant, HSC signe sa meilleure newsletter...

newsoft a dit…

Effectivement, très bonne newsletter.

En ce qui me concerne, je tiens à rassurer mes lecteurs: s'il y a pandémie majeure, je resterai à la maison pour bloguer toute la journée :)

Anonyme a dit…

Et pour le risque systémique dû à l'état de la finance mondiale, ils ont aussi un plain de continuité ?

Anonyme (le vrai) a dit…

@Anonyme: Pourquoi ? T'as pas confiance en nos banques ??

Anonyme a dit…

http://seclists.org/fulldisclosure/2009/Dec/489

Anonyme a dit…

Terrific work! This is the type of information that should be shared around the web. Shame on the search engines for not positioning this post higher!

newsoft a dit…

J'aimerais bien connaitre le schéma de spam derrière ce commentaire ... si quelqu'un a une idée ?