全称
- ASLR:Address Space Layout Randomization
- PIE:Position Independent Executables
作用
- ASLR:随机放置关键数据的地址空间,放置攻击者跳转到内存特定位置
- PIE:生成相对寻址的位置无关的可执行程序
谁实现?
- ASLR:操作系统
- cat /proc/sys/kernel/randomize_va_space:查看
- echo x > /proc/sys/kernel/randomize_va_space
- 0:关闭
- 1: 共享库、栈、mmap() 以及 VDSO 将被随机化
- 2:额外增加一个堆随机化
- PIE:编译器
- -pie :开启
- -no-pie:关闭
关系
- pie影响的是.bss .text .data段的地址
- pie表示有没有能力随机化,aslr表示系统用不用随机化,
参考
http://https//www.cnblogs.com/rec0rd/p/7646857.html
https://de4dcr0w.github.io/关于系统随机化和pie的一些记录.html