论文
通过 DSL 引导和 LLM 辅助修补自动修复 TEE 分区问题
Automated Repair of TEE Partitioning Issues via DSL-Guided and LLM-Assisted Patching
摘要
可信执行环境 (TEE) 提供基于硬件的隔离,以保护敏感数据和计算免受可能受损的操作系统 (OS) 的影响。然而,TEE应用程序不可避免地通过SDK接口与不可信操作系统进行交互,不恰当的分区可能会引入数据泄露、代码注入等严重漏洞。虽然之前的工作已经提出了静态分析工具来检测此类问题,但自动修复在很大程度上仍未得到探索。由于TEE特有的三个因素,这个问题尤其具有挑战性:缺乏标准化的安全开发指南、从低级C代码中提取语义信息的困难以及缺乏成熟的测试和验证方法。在这项工作中,我们提出了 TEERepair,一个用于自动修复 TEE 应用程序中错误分区问题的框架。我们的方法通过引入特定于域的语言 (DSL) 来编码表达和捕获常见 TEE 安全模式的修复规则来解决上述挑战,这些规则被实例化为带有上下文特定变量占位符的补丁模板。然后,我们利用 大语言模型 (LLM) 来推理代码语义并合成上下文感知补丁,并进一步生成测试客户端来验证修复。我们在 TEE 分区错误基准 (PartitioningE-Bench) 上评估 TEERepair,与基线相比,修复成功率显着提高到 87.6%。此外,将 TEERepair 应用于现实世界的 TEE 项目,我们提交了 5 个修复拉取请求,其中 2 个已被项目维护者确认并合并。