23/07/2024
le meilleur pirate de la décennie, mais il ne le sait pas.
Un développeur a éteint la moitié des ordinateurs Windows de la planète avec une seule ligne de code. Tout le monde se demande comment il a fait!
Crowdstrike est une société américaine spécialisée en cybersécurité. Elle édite notamment un pilote système qui est à la base du problème.
Un ordinateur, c'est avant tout une unité de calcul, le processeur, et des cases mémoire pour stocker les informations, la RAM (mémoire vive). Il y a aussi le disque dur, mais lors de l'exécution d'un programme, c'est la RAM qui est utilisée par le processeur pour stocker et lire les informations rapidement.
0x00, c'est la représentation en base 16 de l'octet 0, soit la suite de 8 bits 00000000. Si vous avez 1 octet de RAM sur votre système, par exemple, les adresses vont de 0x00 à 0xFF (en base 16, c'est 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F).
Si vous avez 4 giga de RAM, les adresses vont de 0x00 00 00 00 jusqu'à 0xFF FF FF FF, ce qui donne environ 4,3 milliards d'octets.
Le problème, c'est que la première adresse de la RAM est réservée, tout comme la dernière.
Le système charge au début et à la fin de la RAM l'OS, des bibliothèques, etc.
Voilà le drame : en C++, une des pratiques couramment utilisées par les développeurs est d'utiliser 0x00 comme adresse null.
Mais comme cette adresse est réservée, le système éteint n'importe quel programme qui essaie d'y accéder.
Il existe plusieurs niveaux de privilèges dans un système :
- Privilège système
- Privilège utilisateur
Si le système détecte un programme avec des privilèges utilisateur qui essaie d'accéder à l'adresse 0x00, Windows stoppe le programme et tout continue normalement. Vous pouvez ouvrir Paint et dessiner un chat, jouer à PinBall, à Solitaire. Tout fonctionne bien.
MAIS, si le système détecte un programme avec des privilèges système qui essaie d'accéder à l'adresse 0x00, Windows passe en blue screen par mesure de sécurité, et là, il faut redémarrer.
Le programme de Crowdstrike avait des privilèges système et essayait d'accéder à la 156ème adresse de la RAM, qui est largement dans la plage des adresses réservées, et donc BOUUUUUM, Blue screen !
Et voilà, c'est ce qui s'est passé vendredi 19 juillet 2024 : il fallait redémarrer la moitié des ordinateurs de la planète qui tournent sous Windows.
Les ordinateurs des hôpitaux, les ordinateurs des gares, les ordinateurs des usines, et d'autres systèmes critiques... ce qui peut causer un joli bazar pour les entreprises et les États, et par conséquent, les particuliers.
Maintenant, vous savez tout ce qui s'est passé.