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

控制流限制

正交防线是调节操作系统的控制流。通过确保攻击者无法将控制权转移到他们选择的代码上,即使我们不删除内存错误,我们也使利用内存错误变得更加困难。最好的例子被称为控制流完整性(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在实践中并未被广泛采用,可能是因为其显著的性能开销。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/140148.html<

(0)
管理的头像管理
上一篇2025-03-03 19:38
下一篇 2025-03-03 19:39

相关推荐

  • 云服务器和云虚拟主机怎么选?云服务器和虚拟主机区别

    云服务器适合业务增长快、需弹性扩展的场景,而云虚拟主机适合预算有限、技术门槛低的小型静态网站或测试环境,二者核心区别在于资源独享性与运维复杂度,核心差异解析:从底层架构到使用体验很多人容易混淆这两者,觉得它们都是“买空间建站”,它们的底层逻辑完全不同,云服务器(ECS)就像是你租了一整栋别墅,水电网络独立,你想……

    2026-06-29
    0
  • 赣州智慧旅游招聘是真的吗?赣州旅游人才招聘信息

    中级岗位(3-5年经验)月薪范围通常在6000-10000元,这类岗位需要独立负责项目模块,如独立运营一个抖音账号,或维护一个景区小程序的功能迭代,具备成功案例的候选人议价能力较强,高级岗位(5年以上经验)月薪范围通常在10000-20000元,部分核心管理岗可达更高,这类人才需要具备战略规划能力,如制定整个景……

    2026-06-29
    0
  • 赣州智能物联网车位锁如何管理?智能车位锁管理系统多少钱

    赣州智能物联网车位锁管理的核心在于通过云端平台实现远程控锁、状态实时监控及自动计费,彻底解决传统车位“被占难管”与“找位难”的痛点,在赣州这样的城市,随着机动车保有量的持续增长,老旧小区、商业综合体以及私人固定车位的资源矛盾日益凸显,传统的机械地锁或简易遥控锁,不仅操作繁琐,更无法实现数据化管理,引入智能物联网……

    2026-06-29
    0
  • 赣州智能消防栓好用吗,智能消防栓多少钱一个

    赣州智能消防栓通过物联网技术实现实时监测与远程报警,能显著降低火灾响应时间并提升城市消防安全管理水平,是目前智慧城市建设中不可或缺的基础设施,赣州智能消防栓的核心价值与应用场景传统消防栓往往存在“看不见、摸不着、用不了”的痛点,在赣州这样地形复杂、老城区与新城区并存的区域,传统设施的管理难度极大,智能消防栓的出……

    2026-06-29
    0
  • 云服务器和物理机到底有啥区别?

    云服务器本质上是虚拟化资源池中的弹性实例,而传统物理服务器是独占的硬件实体,前者胜在弹性与运维便捷,后者强在物理隔离与性能稳定,具体选择取决于业务对成本、扩展性及安全合规的权衡,很多人初次接触服务器时,容易把“云服务器”和“传统物理服务器”混为一谈,觉得它们都是用来跑网站或存数据的盒子,这两者的底层逻辑完全不同……

    2026-06-29
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注