发布于 2017-10-23 01:54:29 | 85 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

OpenBSD 类UNIX操作系统

OpenBSD是一个多平台的,基于4.4BSD的类UNIX操作系统,是BSD衍生出的三种免费操作系统(另外两种是NetBSD和FreeBSD)之一,被称为世界上最安全的操作系统。专案领导人 Theo de Raadt在1995年发起了OpenBSD 专案,希望创造一个注重安全的操作系统。


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

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 特性。



最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务