中文

基于 GNN 的代码标注逻辑用于在 C 代码中建立安全边界

密码学与安全 2024-11-20 v2 机器学习

摘要

在当今互联的软件环境中,保护敏感操作至关重要但也充满挑战。现代平台依赖可信执行环境(Trusted Execution Environments, TEEs),如 Intel SGX 和 ARM TrustZone,将安全敏感代码与主系统隔离,从而减少可信计算基(Trusted Computing Base, TCB)并提供更强的保障。然而,识别哪些代码应驻留在 TEEs 中十分复杂,需要专业知识,而当前的自动化工具并不支持这一点。现有解决方案通常将整个应用程序迁移到 TEEs,导致使用不佳和 TCB 增加。为了填补这一空白,我们提出了代码标注逻辑(Code Annotation Logic, CAL),这是一种开创性工具,可自动识别安全敏感组件以进行 TEE 隔离。CAL 分析代码库,利用基于图的方法结合新颖的特征构建,并采用自定义图神经网络模型来准确确定代码的哪些部分应被隔离。CAL 有效地优化了 TCB,减轻了手动分析的负担并增强了整体安全性。我们的贡献包括安全敏感代码的定义、源文件综合数据集的构建与标注、特征丰富的基于图的数据准备流水线,以及用于 TEE 集成的 CAL 模型。评估结果表明,CAL 在识别敏感代码方面表现出色,召回率为 86.05%,F1 分数为 81.56%,安全敏感函数的识别率为 91.59%。通过实现高效的代码隔离,CAL 推动了使用 TEEs 的应用程序的安全开发,为开发者减少攻击向量提供了实用解决方案。

关键词

引用

@article{arxiv.2411.11567,
  title  = {GNN-Based Code Annotation Logic for Establishing Security Boundaries in C Code},
  author = {Varun Gadey and Raphael Goetz and Christoph Sendner and Sampo Sovio and Alexandra Dmitrienko},
  journal= {arXiv preprint arXiv:2411.11567},
  year   = {2024}
}

备注

Submitted