首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁用码头集装箱内的ASLR

禁用码头集装箱内的ASLR
EN

Security用户
提问于 2019-08-08 08:13:36
回答 3查看 4.5K关注 0票数 7

我正在寻找禁用ASLR (地址空间布局随机化)在一个码头容器。不确定这是否有可能。容器在阿尔卑斯山上运行,但据我所知,ASLR是一个内核特性,Docker使用主机内核来运行,因此很难仅为Docker禁用ASLR。

如何仅在Docker容器中禁用ASLR?

EN

回答 3

Security用户

发布于 2020-04-30 12:19:19

我试着在CTF环境下完成这个任务。

不起作用的

  • 使用人格ADDR_NO_RANDOMIZE将使任何SUID应用程序忽略标志。
  • 授予--privileged码头管理员额外的特权

溶液

实现这一目标的唯一方法是使用以下方法更改主机内核上的ASLR配置:

代码语言:javascript
复制
echo 0 | sudo tee /proc/sys/kernel/randomize_va_space
票数 3
EN

Security用户

发布于 2019-12-23 12:06:10

所以基本上您是对的,禁用ASLR是一个内核设置,您需要在内核级别上进行更改。

这里有几个选择。

  1. 在启动容器之前对主机进行更改。
  2. 在容器内安装/proc并从容器内部进行更改
  3. 使用类似于KataContainers的方法来运行容器,并使用它自己的内核,然后在其中进行更改。

从理论上讲,所有这些都应该有效,但对您有好处的将取决于您的精确用例。

票数 1
EN

Security用户

发布于 2021-04-06 05:30:24

对于macos上的docker,首先需要输入docker桌面Mac VM来修改内核配置,这可以用https://gist.github.com/BretFisher/5e1a0c7bcca4c735e716abf62afad389完成。

代码语言:javascript
复制
# enter docker vm
docker run -it --rm --privileged --pid=host justincormack/nsenter1
# disable ASLR
echo 0  > /proc/sys/kernel/randomize_va_space 
# enable ASLR
echo 2  > /proc/sys/kernel/randomize_va_space 
票数 0
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/214923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档