J'ai lu le très bon rapport de l'équipe de recherche en sécurité. Le problème soulevé est un manque de cohérence dans la politique de sécurité.
Le système méconnu mis en avant dans ce rapport est le mode de fonctionnement "System Managment Mode" spécifique aux processeurs (compatibles) Pentium. À ce que j'ai compris, c'est un mode 16 bits dans lequel *tout est permis* (écriture n'importe où en mémoire avec un accès directement, ie. sans MMU, communication _directe_ avec la matériel, etc.). Note : malgré le fait que le jeu d'instruction soit en 16 bits, 4 Go (pas plus) de mémoire restent accessibles.
Ce mode est activé par un message matériel (ne pouvant, à priori, ne pas être déclanché par le logiciel) particulier. Mais en fait, le rapport prouve qu'il est possible de déclancher ce message simplement en écrivant sur un port particulier (les ports 16 bits : intructions assembleurs Intel IN/OU).
Là où le bas blesse, c'est que Xfree/X.org a un accès direct au matériel. Je pense que c'est pour des questions de performance. Accès direct : écriture n'importe où en mémoire (en particulier, dans des projections mémoire de registre matériel) et écriture dans les ports 16 bits.
Pour exploiter ce mode, il faut :
- Pouvoir injecter son propre code => possible si on a un accès à toute la mémoire (ce que Xorg peut faire)
- Entrer dans le mode "System Managment Mode" => en écrivant dans un port particulier
Plusieurs solutions sont proposées, plus ou moins compliquées à mettre en 1⁄2uvre.
Note : Je pense que Windows est très certainement victime de ce problème de politique de sécurité.
# Pensez à suivre les liens avant de critiquer
Posté par Victor STINNER (site web personnel) . En réponse au journal Graves problèmes de sécurité dans x.org. Évalué à 5.
Le système méconnu mis en avant dans ce rapport est le mode de fonctionnement "System Managment Mode" spécifique aux processeurs (compatibles) Pentium. À ce que j'ai compris, c'est un mode 16 bits dans lequel *tout est permis* (écriture n'importe où en mémoire avec un accès directement, ie. sans MMU, communication _directe_ avec la matériel, etc.). Note : malgré le fait que le jeu d'instruction soit en 16 bits, 4 Go (pas plus) de mémoire restent accessibles.
Ce mode est activé par un message matériel (ne pouvant, à priori, ne pas être déclanché par le logiciel) particulier. Mais en fait, le rapport prouve qu'il est possible de déclancher ce message simplement en écrivant sur un port particulier (les ports 16 bits : intructions assembleurs Intel IN/OU).
Là où le bas blesse, c'est que Xfree/X.org a un accès direct au matériel. Je pense que c'est pour des questions de performance. Accès direct : écriture n'importe où en mémoire (en particulier, dans des projections mémoire de registre matériel) et écriture dans les ports 16 bits.
Pour exploiter ce mode, il faut :
- Pouvoir injecter son propre code => possible si on a un accès à toute la mémoire (ce que Xorg peut faire)
- Entrer dans le mode "System Managment Mode" => en écrivant dans un port particulier
Plusieurs solutions sont proposées, plus ou moins compliquées à mettre en 1⁄2uvre.
Note : Je pense que Windows est très certainement victime de ce problème de politique de sécurité.
Bon, je ne suis pas sûr que mes explications soient très claires, mais reportez-vous au PDF sinon :-)
http://www.ssi.gouv.fr/fr/sciences/fichiers/lti/sstic2006-du(...)
(version française)
Haypo