Conqueror:实现传统系统上防篡改代码执行
在当今数字化时代,代码的安全性和完整性至关重要。尤其是在不可信的传统系统中,如何确保代码的防篡改执行成为了一个关键问题。本文将介绍一种名为Conqueror的软件认证方案,它为传统系统上的代码执行提供了可靠的安全保障。
1. 代码认证概述
代码认证是验证在不可信系统中执行的代码完整性的过程。它不仅能验证代码的完整性,还能确保代码在未被篡改的执行环境中运行。近年来,像TPM芯片这样的硬件扩展被用于保障计算安全和执行认证,但并非所有计算设备都具备这些扩展。在这种情况下,纯软件解决方案成为了唯一可行的选择。
目前,许多软件认证方案都基于挑战 - 响应协议,涉及不可信系统和验证者两个参与方。验证者向不可信系统发出挑战,要求计算特定内存位置和执行环境属性的校验和。这个校验和通过执行特定的认证程序(即校验和函数)来计算,计算完成后将其发送回验证者。验证者根据时间来判断校验和的真实性,因为任何篡改尝试都会导致执行时间显著增加,所以接收过晚的校验和可能是攻击的迹象。
然而,认证程序的复杂性取决于不可信系统的硬件特性。在复杂的硬件架构中,攻击者可以利用多种执行环境配置来破坏认证。因此,认证程序必须确保并向验证者证明其执行环境满足防止攻击的所有要求,即认证程序不仅要认证自身代码,还要认证执行环境。
2. 现有认证方案的局限性
Pioneer是一种软件认证方案,用于在不可信的传统系统上建立可信计算基础(动态信任根)。它专门针对具有EM64T扩展的Intel x86架构,通过验证函数来建立动态信任根,该函数是传统校验和函数的扩展,还包含哈希函数以验证可执行文件的完整性。验证函数由校验和函数、
超级会员免费看
订阅专栏 解锁全文
15

被折叠的 条评论
为什么被折叠?



