iOS_ASLR

作者: iOS小洁 | 来源:发表于2023-01-13 19:53 被阅读0次

    ASLR

    Address Space Layout Randomization,地址空间布局随机化

    是一种针对缓冲区溢出的安全保护技术,通过对堆、栈、共享库映射等线性区布局的随机化,通过增加攻击者预测目的地址的难度,防止攻击者直接定位攻击代码位置,达到阻止溢出攻击的目的的一种技术

    iOS4.3开始引入了ASLR技术

    Mach-O的文件结构

    image-20220628174945828

    未使用ASLR

    • 函数代码存放在__TEXT段中

    • 全局变量存放在__DATA段中

    • 可执行文件的内存地址是0x0

    • 代码段(__TEXT)的内存地址

      • 就是LC_SEGMENT(__TEXT)中的VM Address
      • arm64:0x100000000(8个0)
      • 非arm64:0x4000(3个0)
    • 可以使用size -l -m -x来查看Mach-O的内存分布

    [图片上传失败...(image-e85363-1673697218230)]

    使用ASLR

    • LC_SEGMENT(__TEXT)的VM Address

      • 0x100000000
    • ASLR随机产生的Offset(偏移)

      • 0x5000
      • 也就是可执行文件的内存地址
    image-20220628180815063

    相关文章

      网友评论

        本文标题:iOS_ASLR

        本文链接:https://www.haomeiwen.com/subject/psagcdtx.html