Cool de faire des OS de plus en plus "sécuritaire" (haha!), et des algorithmes d'encryption quasi-inviolables… Mais bon, quand le hardware ne suit pas, ça sert pas à grande chose. Des étudiants de l'Université de Princeton ont trouvé une nouvelle faille, géniale dans sa simplicité. En effet, quand on éteind un ordinateur, le contenu de la mémoire vive n'est pas immédiatement perdu: le contenu des cases mémoire s'efface au bout généralement de quelques secondes. À partir de là, c'est assez simple d'accéder à des données cryptées; au lieu de passer des heures de calcul à casser les clefs à la manière forte («brute-force attack»), il suffit d'allumer l'ordinateur, l'éteindre brusquement et refroidrir les circuits, avec par exemple une simple canette d'air comprimé. Le fait de refroidir les circuits ralentit encore la dégradation des données. Il ne suffit plus alors qu'à lire le contenu de la RAM pour trouver la clef d'encryptage. Tout les logiciels de cryptage de disque testés (BitLocker, FileVault, dm-crypt, et TrueCrypt) ont été vaincus par une simple canette d'air comprimé.

J'adore l'ironie de la chose: des techniques inventées par des doctorants en mathématiques mises à terre par un objet que tout le monde peut trouver au supermarché (OK, pour l'extraction et l'exploitation, c'est tout autre chose).

Bon, et pour l'importance de la chose, elle peut se décrire de cette façon: il n'y a plus moyen d'assurer la sécurité d'un ordinateur accessible physiquement. En effet, depuis que les systèmes d'exploitation ont la possibilité d'être transportables et mobiles (enfin, «les», façon de parler, Windows et OS X n'ont pas cette capacité), la seule façon d'assurer la sécurité des données d'un ordinateur était le crytage complet (FDE - pour Full Disk Encrytion). Et finalement, même ça, ça ne marche plus… Je connais plusieurs agences gouvernementales qui doivent être en train de flipper pour la sécurité de quelques disques compromettants…

Pour ceux que ça intéresse, il existe une multitude d'attaques cryptographiques basées sur les faiblesses du matériel: Timing Attack, EM Attack… L'article Wikipédia traitant du sujet: http://en.wikipedia.org/wiki/Side_channel_attack

Pour ceux que ça intéresse vraiment, ou qui n'ont que ça à faire au boulot, un petit programme pour tester votre ordi (rassurez-vous, vous n'aurez pas besoin de refroidir vos circuits). Le principe est simple: le programme remplit la RAM d'un texte connu. Quand la RAM est pleine, on redémarre à froid. Et on regarde si, effectivement, il reste des morceaux du texte connu dans la RAM, malgrès le reboot.

Petit programme en python: http://citp.princeton.edu/memory/exp/ (Linux Only !)

L'annonce de l'attaque: http://citp.princeton.edu/memory/
Le journal DLFP: https://linuxfr.org//~palm123/26212.html

PS: Pour les ISEN, l'expérience a été faite sur T43 ;)