
jump over aslr:ブランチ予測器を攻撃してaslrをバイパスする手法
著者: Byte Reaper
このリポジトリには、アドレス空間配置のランダム化(ASLR)の文脈における分岐予測子、投機的実行、キャッシュベースのサイドチャネルに関連する概念を示す研究用C実装が含まれています。
Linux x86_64
GCC
CPU that supports BTB
gcc btb.c -o BTB
./BTB
[+] check System Security for Check branch predictors...
[+] Sleep Success.
[-] Not Detect Single Thread Indirect Branch Predictors.
[-] Not Detect Indirect Branch Restricted Speculation
[-] Not Detect Speculative Store Bypass Disable .
[+] Detect L1D_FLUSH.
[+] Detect MD_CLEAR.
[-] Not Detect IA32_ARCH_CAPABILITIES.
[+] Result Detect Branch predictors :
[+] Detect Branch predictors
[+] Get Address victimValue() function Success.
...
intel doc MSR / cpuid : https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/technical-documentation/cpuid-enumeration-and-architectural-msrs.html
jump over aslr : https://www.cs.ucr.edu/~nael/pubs/micro16.pdf
MIT