操作系统/虚拟化安全知识域:系统强化之控制流限制

  发布时间:2025-12-07 19:52:05   作者:玩站小弟   我要评论
控制流限制正交防线是调节操作系统的控制流。通过确保攻击者无法将控制权转移到他们选择的代码上,即使我们不删除内存错误,我们也使利用内存错误变得更加困难。最好的例子被称为控制流完整性CFI),现在许多编译 。
控制流限制

正交防线是操作调节操作系统的控制流 。通过确保攻击者无法将控制权转移到他们选择的系统虚拟系统限制代码上 ,即使我们不删除内存错误 ,化安我们也使利用内存错误变得更加困难 。全知强化最好的识域例子被称为控制流完整性(CFI) ,现在许多编译器工具链(如LLVM和微软的控制流VisualStudio),并于2017年以ControlFlowGuard的操作名义并入Windows内核-另见软件安全CyBOK知识领域。

从概念上讲  ,系统虚拟系统限制CFI非常简单 :我们确保代码中的化安控制流始终遵循静态控制流图  。例如,服务器租用全知强化一个函数的识域返回指令应该只允许返回到它的调用站点,而使用C中的控制流函数指针或C++中的虚函数的间接调用应该只能够定位它应该能够调用的合法函数的入口点。为了实现这种保护,操作我们可以标记间接控制转移指令的系统虚拟系统限制所有合法目标(返回 、间接调用和间接跳转),化安并将这些标签添加到特定于此指令的集合。在运行时 ,建站模板我们检查指令即将进行的控制转移是否是到集合中的目标  。否则,CFI会发出警报和/或使程序崩溃。

与ASLR一样,CFI有多种口味 ,从粗粒度到细粒度  ,从上下文敏感到上下文不敏感 。就像在ASLR中一样 ,今天的大多数实现只采用最简单,最粗粒度的保护 。模板下载粗粒度CFI意味着为了性能而稍微放宽规则 。例如 ,它不是将函数的返回指令限制为可能调用此函数的仅目标合法调用站点,而是可以针对任何调用站点。虽然不如细粒度CFI安全,但它仍然极大地限制了攻击者的回旋余地,并且具有更快的运行时检查 。

在现代机器上,某些形式的CFI甚至(或将要)得到硬件的云计算支持 。例如  ,英特尔控制流强制技术(CET)支持影子堆栈和间接分支跟踪 ,以帮助分别强制实施退货和前向控制传输的完整性(以非常粗粒度的方式)  。ARM也不甘示弱 ,它提供了指针身份验证,以防止对指针值进行非法修改—主要是通过使用指针的上位来存储指针身份验证代码(PAC)  ,其功能类似于加密指针值上的签名(除非您获得正确的PAC,否则您的指针无效)。免费模板

遗憾的是,CFI只能通过破坏返回地址、函数指针和跳转目标等控制数据来帮助抵御改变控制流的攻击 ,但对非控制数据攻击却无能为力。例如,它无法阻止覆盖当前进程的权限级别并将其设置为“root”的内存损坏(例如,通过将有效用户ID设置为root用户的ID)。但是 ,如果对控制流的源码库限制在实践中如此成功,您可能想知道数据流是否也可以进行类似的限制。事实上,它们确实如此 ,这被称为数据流完整性(DFI) 。在DFI中,我们静态地确定每个加载指令(即从内存中读取的指令)存储指令可能合法地产生了数据,并且我们标记这些指令并将这些标签保存在一组中 。在运行时 ,对于内存中的每个字节 ,我们记住该位置的最后一个存储的标签 。当我们遇到加载指令时 ,我们会检查该地址的最后一个存储是否在合法存储集中,如果不是,我们会发出警报。与CFI不同  ,DFI在实践中并未被广泛采用 ,可能是因为其显著的性能开销  。

  • Tag:

相关文章

  • 了解你的敌人,像黑客一样去思考

    在网络安全领域,安全管理者和研究人员一直致力于发现和识别可能的攻击对手,以及他们的攻击思路和策略。然而,在强调边界防护的传统安全建设模式中,防护者深入了解黑客思维的能力会受到很多制约和限制。为了了解攻
    2025-12-07
  • 为什么VPS服务器是一个好的选择?

    数字世界不断发展。无论是小型企业、中型企业还是大型企业,建立在线形象对于企业来说都变得非常重要。那么,在本文中,我们将主要讨论网站的托管服务器。有许多托管解决方案可供选择,而虚拟专用服务器(VPS)托
    2025-12-07
  • Linux系统安装教程(一步步教你轻松安装Linux系统,成为Linux大神)

    随着信息时代的发展,Linux作为一种免费开源的操作系统,越来越受到广大技术爱好者和开发者的青睐。然而,对于初学者而言,Linux系统的安装过程可能会让人望而生畏。本文旨在为读者提供一份详细的Linu
    2025-12-07
  • AMD发布第二代Versa自适应 SoC,为AI边缘场景应用提供更加强大算力支撑

    从智慧交通、智慧金融、智能医疗到智能个人助理,自动驾驶,我们已经迈入无处不在的AI时代。在全民AI时代,人工智能在帮助我们提高工作效率,提升工作、生活体验的同时,也对算力提出了更高的要求。除了数据中心
    2025-12-07
  • 聊一聊Equals与时间序列攻击

    引言随着信息技术的迅速发展,网络安全和隐私问题变得愈发重要。黑客和攻击者不断寻找新的攻击方法,其中之一是时间序列攻击Timing Attack)。时间序列攻击是一种侧信道攻击,攻击者试图通过测量程序的
    2025-12-07
  • 服务器之 ECC 内存的工作原理

    在开始今天的分享之前,我先给大家看两个 1R * 8 的内存条。现在的 CPU 都是 64 位的,每次和内存通信都要传输 64 比特的数据。1R * 8 类型的内存中的 1R 指的是该内存条只有一个
    2025-12-07

最新评论