中文

利用基于 SSE 的别名分析在基于 Linux 的嵌入式固件中发现污染型漏洞

密码学与安全 2021-09-28 v1 软件工程

摘要

尽管利用静态分析检测基于 Linux 的嵌入式固件中污染型漏洞的重要性已被广泛认识,现有方法受限于三个主要不足。(a) 基于符号执行的方法可能遗漏别名信息,因此误漏报率高。(b) 基于 VSA(值集分析)的方法常提供过近似的指针范围,从而产生许多误报。(c) 现有检测污染型漏洞的工作未考虑间接调用解析,而间接调用在面向互联网的嵌入式设备中被频繁使用,因此可能产生许多漏报。在这项工作中,我们提出一种精确的按需驱动、流敏感、上下文敏感和域敏感的别名分析方法。基于此新方法,我们还设计了一种新颖的间接调用解析方案。结合净化规则检查,我们的方案通过静态污染分析发现污染型漏洞。我们以名为 EmTaint 的原型实现了我们的想法,并使用来自六家流行厂商的 35 个真实世界嵌入式固件样本对其评估。EmTaint 发现了至少 192 个缺陷,包括 41 个 n-day 缺陷和 151 个 0-day 缺陷。在撰写时,已从报告漏洞的子集中分配了至少 115 个 CVE/PSV 编号。与 KARONTE 和 SaTC 等最先进工具相比,EmTaint 在更短时间内于同一数据集上发现了显著更多的缺陷。

关键词

引用

@article{arxiv.2109.12209,
  title  = {Finding Taint-Style Vulnerabilities in Linux-based Embedded Firmware with SSE-based Alias Analysis},
  author = {Kai Cheng and Tao Liu and Le Guan and Peng Liu and Hong Li and Hongsong Zhu and Limin Sun},
  journal= {arXiv preprint arXiv:2109.12209},
  year   = {2021}
}

备注

14 pages, 4 figures