web-dev-qa-db-fra.com

Qu'est-ce que Hiaslr?

J'ai entendu ce mot toute la journée. Quelqu'un peut-il me donner une brève intro? Comment va-t-il différer d'ASLR?

9
kiran

HIASLR est un terme qui représente l'amélioration de l'ASLR sous Windows 8. La partie "HI" fait référence à l'amélioration de l'entropie générée par l'augmentation du nombre de bits aléatoires que la pile et le tas peuvent être compensés par. Microsoft incluait également une randomisation à divers tas de systèmes, tables système, etc. pour faire la possibilité d'utiliser un NOP Slocked ou une fuite d'informations plus difficile.

Le tableau suivant est tiré de Ken Johnson et Matt Miller's "Exploitez les améliorations d'atténuation de Win8" Talk à Blackhat USA 2012.

Entropy (in bits)      |    Windows 7    |           Windows 8         |
per region             | 32-bit | 64-bit | 32-bit | 64-bit | 64-bit HE |
-----------------------|--------+--------|--------+--------|-----------|
Bottom-up allocations* | 0      | 0      | 8      | 8      | 24        |
    Stacks             | 14     | 14     | 17     | 17     | 33        |
    Heaps              | 5      | 5      | 8      | 8      | 24        |
Top-down allocations*  | 0      | 0      | 8      | 17     | 17        |
    PEBs / TEBs        | 4      | 4      | 8      | 17     | 17        |
EXE images             | 8      | 8      | 8      | 17**   | 17**      |
DLL images             | 8      | 8      | 8      | 19**   | 19**      |
Non-ASLR DLL images*   | 0      | 0      | 8      | 8      | 24        |

* opt-in, either via flag in module or system option
** 64-bit DLLs based below 4GB get 14 bits, EXEs below 4GB get 8 bits.

Notez que la colonne finale représente Hcime Entropy, qui est le nom officiel de Hiaslr.

11
Polynomial