仅为自己禁用并重新启用地址空间布局随机化
- 2024-11-04 08:42:00
- admin 原创
- 41
问题描述:
我想在我的系统(Ubuntu Gnu/Linux 2.6.32-41-server)上禁用地址空间布局随机化(ASLR),但如果我使用
sysctl -w kernel.randomize_va_space=0
我推测这个改变将会影响系统上的所有用户。(这是真的吗?)我怎样才能将禁用 ASLR 的影响限制在我自己这个用户身上,或者限制在调用命令进行禁用的 shell 会话中?
顺便说一句,我发现我的系统当前(默认)设置是
kernel.randomize_va_space = 2
为什么是 2 而不是 1 或 3?在哪里可以找到有关 /proc/sys 设置的数值、其范围及其含义的文档?谢谢!
解决方案 1:
在 Linux 系统上本地禁用 ASLR 的最佳方法是使用进程个性标志。操作个性标志的命令setarch
是
-R
,--addr-no-randomize
禁用虚拟地址空间的随机化(打开 ADDR_NO_RANDOMIZE)。
具体操作如下:
$> setarch $(uname -m) -R /bin/bash
此命令运行已禁用 ASLR 的 shell。此进程的所有后代都将继承父进程的个性标志,因此 ASLR 已禁用。打破标志继承的唯一方法是调用 setuid 程序(支持此类功能会存在安全漏洞)。
请注意,这里uname -m
不对平台架构进行硬编码,并使该命令可移植。
您可以通过多次输入以下命令来检查它是否有效:
#> cat /proc/self/maps
如果内存映射保持不变,则表明 ASLR 已被禁用。如果没有,则可能是你做错了什么。
解决方案 2:
randomize_va_space
sysctl设置的文档位于Documentation/sysctl/kernel.txt
内核源代码树中。基本上,
0-关闭进程地址空间随机化。
1-使 mmap 基址、堆栈和 VDSO 页面的地址随机化。
2 – 另外启用堆随机化。
相关推荐
热门文章
项目管理软件有哪些?
- 2024年20款好用的项目管理软件推荐,项目管理提效的20个工具和技巧
- 2024年开源项目管理软件有哪些?推荐5款好用的项目管理工具
- 项目管理软件有哪些?推荐7款超好用的项目管理工具
- 项目管理软件哪个最好用?盘点推荐5款好用的项目管理工具
- 项目管理软件有哪些最好用?推荐6款好用的项目管理工具
- 项目管理软件有哪些,盘点推荐国内外超好用的7款项目管理工具
- 2024项目管理软件排行榜(10类常用的项目管理工具全推荐)
- 项目管理软件排行榜:2024年项目经理必备5款开源项目管理软件汇总
- 2024年常用的项目管理软件有哪些?推荐这10款国内外好用的项目管理工具
- 项目管理必备:盘点2024年13款好用的项目管理软件
热门标签
云禅道AD