ASLR与PIE

全称

  • 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:关闭

关系

ASLR与PIE

  • pie影响的是.bss   .text  .data段的地址
  • pie表示有没有能力随机化,aslr表示系统用不用随机化,

参考

http://https//www.cnblogs.com/rec0rd/p/7646857.html

https://de4dcr0w.github.io/关于系统随机化和pie的一些记录.html