32、Linux内存管理:ASLR、KASLR与物理内存组织

Linux内存管理:ASLR、KASLR与物理内存组织解析

Linux内存管理:ASLR、KASLR与物理内存组织

1. 什么是用户模式地址空间布局随机化(User-mode ASLR)

用户模式地址空间布局随机化(User-mode ASLR)通常就是我们所说的ASLR。启用它意味着每个进程的用户空间映射都具备这种保护机制。实际上,启用ASLR后,每次运行用户模式进程时,其绝对内存映射都会有所不同。

Linux从很早之前(2005年的2.6.12内核版本开始)就支持ASLR了。内核在 procfs 中有一个可调整的伪文件,可用于查询和(以root权限)设置ASLR状态,这个文件是 /proc/sys/kernel/randomize_va_space 。它有三种可能的值,具体含义如下表所示:
| 可调值 | /proc/sys/kernel/randomize_va_space 中该值的解释 |
| — | — |
| 0 | (用户模式)ASLR关闭;也可以在启动时通过传递内核参数 norandmaps 来关闭。 |
| 1 | (用户模式)ASLR开启:基于 mmap(2) 的分配、栈和vDSO页面会被随机化。这也意味着共享库加载位置和共享内存段会被随机化。 |
| 2 | (用户模式)ASLR开启:包含上述值1的所有内容,此外堆的位置也会被随机化(从2.6.25内核版本开始);这是操作系统的默认值。 |

用户模式ASLR可以在启动时通过引导加载程序向内核传递 norandmaps 参数来关闭。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值