【问题标题】:Can the stack adress be deduced from the heap adress (or vice-versa) with ASLR?是否可以使用 ASLR 从堆地址推导出堆栈地址(反之亦然)?
【发布时间】:2022-01-14 23:18:07
【问题描述】:

Linux内核是否分配了一个大范围,并让堆和堆栈在这个范围的开始/结束地址处反向增长,这样如果你知道其中一个的地址你就知道另一个,或者是两个区域独立?

【问题讨论】:

    标签: linux exploit aslr


    【解决方案1】:

    不,出于安全原因,它不会。 如果它们以任何方式相关,这将是一个严重的安全漏洞。

    另一方面,libc 负责使用 mmap() 分配这两个区域,而不是内核……或者至少不直接分配。每个区域都有自己的 mmap() 调用(包括库),内核为每次调用提供部分随机地址。 您可以在/proc/$pid/maps 中看到为特定程序分配的不同区域,$pid 作为进程 ID。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-06
      • 2023-03-20
      • 1970-01-01
      • 2017-11-11
      • 2022-10-20
      • 2012-08-09
      • 2011-06-29
      • 2014-10-30
      相关资源
      最近更新 更多