arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2407.07166cs.CRcs.SE
收藏

使用静态和符号分析的UEFI漏洞签名生成

UEFI Vulnerability Signature Generation using Static and Symbolic Analysis

Md Shafiuzzaman, Achintya Desai, Laboni Sarker, Tevfik Bultan

AI总结:

本文提出STASE技术,结合静态分析与符号执行,自动生成UEFI漏洞签名,检测出5个PixieFail漏洞和13个新漏洞,提升精确性与可扩展性。

摘要:

自2006年重大发布以来,统一可扩展固件接口(UEFI)已成为连接计算机硬件与操作系统的行业标准,取代了BIOS。UEFI对系统资源拥有比任何其他软件组件(包括系统内核)更高权限的安全访问。因此,识别和表征UEFI中的漏洞对计算机安全至关重要。然而,自动化检测和表征UEFI漏洞是一个具有挑战性的问题。静态漏洞分析技术具有可扩展性,但缺乏精确性(报告许多误报),而符号分析技术虽然精确,但受制于路径爆炸和约束求解成本带来的可扩展性问题。在本文中,我们介绍了一种称为静态分析引导的符号执行(STASE)的技术,该技术整合了两种分析方法,以利用它们的优势并最小化其弱点。我们首先在LLVM位码上执行基于规则的静态漏洞分析,以识别符号执行的潜在漏洞目标。然后,我们对每个目标进行符号执行,以实现精确的漏洞检测和签名生成。STASE依赖于可重用漏洞规则和攻击者控制输入的手动规范。然而,它自动化了引导符号执行过程的测试工具(harness)的生成,解决了符号执行的可用性和可扩展性问题,而符号执行通常需要手动生成测试工具以减少状态空间。我们将STASE实现并应用于UEFI代码库的实现。STASE检测并生成了最近报告的9个PixieFail漏洞中的5个以及Tianocore的EDKII代码库中13个新漏洞的漏洞签名。

英文摘要:

Since its major release in 2006, the Unified Extensible Firmware Interface (UEFI) has become the industry standard for interfacing a computer's hardware and operating system, replacing BIOS. UEFI has higher privileged security access to system resources than any other software component, including the system kernel. Hence, identifying and characterizing vulnerabilities in UEFI is extremely important for computer security. However, automated detection and characterization of UEFI vulnerabilities is a challenging problem. Static vulnerability analysis techniques are scalable but lack precision (reporting many false positives), whereas symbolic analysis techniques are precise but are hampered by scalability issues due to path explosion and the cost of constraint solving. In this paper, we introduce a technique called STatic Analysis guided Symbolic Execution (STASE), which integrates both analysis approaches to leverage their strengths and minimize their weaknesses. We begin with a rule-based static vulnerability analysis on LLVM bitcode to identify potential vulnerability targets for symbolic execution. We then focus symbolic execution on each target to achieve precise vulnerability detection and signature generation. STASE relies on the manual specification of reusable vulnerability rules and attacker-controlled inputs. However, it automates the generation of harnesses that guide the symbolic execution process, addressing the usability and scalability of symbolic execution, which typically requires manual harness generation to reduce the state space. We implemented and applied STASE to the implementations of UEFI code base. STASE detects and generates vulnerability signatures for 5 out of 9 recently reported PixieFail vulnerabilities and 13 new vulnerabilities in Tianocore's EDKII codebase.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑