您选择的条件: 杨程远
  • DASICS-安全处理器设计白皮书

    分类: 计算机科学 >> 信息安全 提交时间: 2023-04-18

    摘要: 开源、共享和协同的软件开发模式促进了互联网、人工智能等领域繁荣发展,但在这种模式下软件开发的复杂性日益增加,体现在依靠大量开发者共同开发一个软件、频繁调用第三方代码库以及管理维护庞大的整体代码量。这种复杂的软件开发模式导致了在开发层面很大概率会引入安全漏洞。例如软件开发者不可避免地需要调用第三方代码库,却缺乏对第三方代码库的安全性的保证,导致了由于调用不可靠的第三方代码库引入了可以被攻击者利用的漏洞,带来信息泄漏和篡改的风险。一旦一个经常使用的第三发库发现漏洞,受影响的往往是大量使用这个库开发的软件。软件安全漏洞中最主要是内存访问漏洞。针对这些内存访问漏洞带来的软件安全挑战,学术界和工业界提出了一系列软硬件内存防护方法。这些防护方法一方面通过数据流完整性技术(Data Flow Integrity,简称 DFI),对非可信的软件代码的数据流进行严格的检查和限制,通过对数据边界的越界检查或者数据来源的合规性检查等来防止对内存的非法操作。这其中代表性的工作包括工业界中 Intel 公司提出的 MPX 和 MPK 技术、ARM 公司的 MTE 技术以及英国剑桥大学主导的 CHERI 安全体系结构等。另一方面通过控制流完整性技术(Control Flow Integrity,简称 CFI)来防止恶意的控制流劫持,例如 Intel 的 CET 技术、ARM 公司的 BTI 技术和 PA 等技术。但是这些内存防护方法不同程度地存在着隔离划分对象粒度过粗、安全元数据容易遭受攻击或者硬件实现/性能开销过大以及需要对现有第三方代码进行大幅修改和重新编译的问题。我们提出了 DASICS 安全处理器设计方案,以解决现有安全防护技术的隔离对象粒度过粗、元数据安全性低、性能开销过大的问题,并关注先前工作较少关注的权限动态划分、同一级地址空间内的内存保护和跨层调用检查。实现一种基于代码片段做权限动态划分的安全处理器设计,提供硬件辅助的高效软件内存防护,保障第三方代码的安全调用和运行,为基于开源开放的软件开发提供坚实的安全保障和支撑。

  • DASICS-安全处理器设计白皮书

    分类: 计算机科学 >> 计算机体系结构 分类: 计算机科学 >> 信息安全 提交时间: 2023-04-18

    摘要: 开源、共享和协同的软件开发模式促进了互联网、人工智能等领域繁荣发展,但在这种模式下软件开发的复杂性日益增加,体现在依靠大量开发者共同开发一个软件、频繁调用第三方代码库以及管理维护庞大的整体代码量。这种复杂的软件开发模式导致了在开发层面很大概率会引入安全漏洞。例如软件开发者不可避免地需要调用第三方代码库,却缺乏对第三方代码库的安全性的保证,导致了由于调用不可靠的第三方代码库引入了可以被攻击者利用的漏洞,带来信息泄漏和篡改的风险。一旦一个经常使用的第三发库发现漏洞,受影响的往往是大量使用这个库开发的软件。软件安全漏洞中最主要是内存访问漏洞。针对这些内存访问漏洞带来的软件安全挑战,学术界和工业界提出了一系列软硬件内存防护方法。这些防护方法一方面通过数据流完整性技术(Data Flow Integrity,简称 DFI),对非可信的软件代码的数据流进行严格的检查和限制,通过对数据边界的越界检查或者数据来源的合规性检查等来防止对内存的非法操作。这其中代表性的工作包括工业界中 Intel 公司提出的 MPX 和 MPK 技术、ARM 公司的 MTE 技术以及英国剑桥大学主导的 CHERI 安全体系结构等。另一方面通过控制流完整性技术(Control Flow Integrity,简称 CFI)来防止恶意的控制流劫持,例如 Intel 的 CET 技术、ARM 公司的 BTI 技术和 PA 等技术。但是这些内存防护方法不同程度地存在着隔离划分对象粒度过粗、安全元数据容易遭受攻击或者硬件实现/性能开销过大以及需要对现有第三方代码进行大幅修改和重新编译的问题。我们提出了 DASICS 安全处理器设计方案,以解决现有安全防护技术的隔离对象粒度过粗、元数据安全性低、性能开销过大的问题,并关注先前工作较少关注的权限动态划分、同一级地址空间内的内存保护和跨层调用检查。实现一种基于代码片段做权限动态划分的安全处理器设计,提供硬件辅助的高效软件内存防护,保障第三方代码的安全调用和运行,为基于开源开放的软件开发提供坚实的安全保障和支撑。