表列
- ASLR
- KASLR: 作用於 kernel 的 ASLR
/proc/sys/kernel/randomize_va_space
1
: enable ASLR- vDSO, shared library, mmap(), stack
- DEP/NX
- Stack Smashing Protector
- Security Cookie
- Stack Canary
- Control-Flow Guard
- Arbitrary Code Guard
- JavaScript JIT hardening
- 編譯器
- gcc 關閉或開啟編譯器保護參數
- 硬體實作
- Intel CET 透過 ShadowStack 和 IBT 緩解 ROP
SMEP 與 SMAP
兩者皆是避免 kernel 對 user space
- SMEP: 管理模式執行保護,避免 kernel 執行 user space 程式
- SMAP: 管理模式訪問保護,避免 kernel 存取 user space 資料
利用方法
SECure COMPuting Mode (Seccomp)
kernel 用於禁用部份 system call 的機制。
- Seccomp BPF 用於配置 syscall 的過濾規則
分析工具
- seccomp-tools 可以導出 BPF 剖析 syscall 名稱與參數,以及編寫 Seccomp Rules 等等
部分 ctf 題目會出現,有相關 function 可以在程式執行的時候限制相關的 syscall。
參考
- linux漏洞缓解机制介绍
- Operating System Concepts 10th
- 漏洞缓解技术
- SMEP/SMAP
- OS Dev Stack Smashing Protector
- Seccomp
- Seccomp BPF (SECure COMPuting with filters) kernel.org 的文檔
- Seccomp
- seccomp学习笔记
- Seccomp从0到1
Exploit Mitigation PWN