设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 开源资讯 查看内容

NetBSD和OpenBSD使用随机的方式提升内核安全性

2017-10-23 23:03| 发布者: joejoe0332| 查看: 1038| 评论: 0|原作者: The Register|来自: The Register

摘要: NetBSD 的团队发布了他们的第一个代码片段来实现 64 位 AMD 处理器的内核 ASLR - 地址空间布局随机化。KASLR 版本随机将 NetBSD 内核加载到内存中,为内核提供与 ASLR 提供给应用程序相同的安全保护。 ...

问:“你在内存哪里存放内核?” 答:“对不起,我不知道”

NetBSD 的团队发布了他们的第一个代码片段来实现 64 位 AMD 处理器的内核 ASLR - 地址空间布局随机化。

KASLR 版本随机将 NetBSD 内核加载到内存中,为内核提供与 ASLR 提供给应用程序相同的安全保护。

随机代码的内存位置使得诸如缓冲区溢出之类的错误类更难利用,因为攻击者不能轻易预测(并访问)错误所暴露的内存位置。

开发人员 Maxime Villard 解释说,目前的实现在引导程序和内核之间放置了一个专门的内核“prekern”。

“内核被编译为具有 GENERIC_KASLR 配置文件的原始库,而 prekern 被编译为静态二进制文件。当机器启动时,引导程序将跳入 prekern。prekern 将内核以随机虚拟地址(VA)重新定位,然后跳转到其中。最后,内核执行一些清理,并正常执行。”

Villard 补充说,实现还不够完整。例如,内核放在 prekern 的地方,它都位于连续的内存块中。

这也确立未来的发展方向,主要是:

  • 独立的内核部分

  • 修改几个内核入口点,不会将内核地址泄露给用户界面

  • 随机内核堆(现在仍然是静态的)

OpenBSD 项目在6月份首次提供了类似的方法,称为内核随机化地址链接(kernel address randomised link 或 KARL),用于加固内核,防止内核级的缓冲溢出。类似地址空间布局随机化 (ASLR) 应用于随机应用程序的内存地址,KARL 随机化了内核加载,使得攻击者无法预测出一个内核缓冲溢出的内存分配地址。OpenBSD 创始人 Theo de Raadt 称,以前的内核二进制总是在相同的物理内存和相同的虚拟地址空间。

这将在 OpenBSD 6.2 版本成为 mainstream 特性。

来自:The Register


酷毙

雷人
1

鲜花

鸡蛋

漂亮

刚表态过的朋友 (1 人)

  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部