论文标题

低级程序的可及性逻辑

Reachability Logic for Low-Level Programs

论文作者

Naus, Nico, Verbeek, Freek, Schoolderman, Marc, Ravindran, Binoy

论文摘要

自动利用生成是一个相对较新的研究领域。在这一领域的工作旨在自动化在软件中查找漏洞的手册和劳动密集型任务。在本文中,我们提出了一种新型的程序逻辑,以支持自动利用生成。我们开发了一个名为“可及性逻辑”的程序逻辑,该逻辑正式定义了断言的可及性与允许它们发生的前提之间的关系。然后,该关系用于计算前提条件的搜索空间。我们表明,可及性逻辑是自动找到可以达到断言的证据的强大工具。我们验证该系统适用于小型石榴石测试以及现实世界算法。已经开发了实现,并且整个系统在定理供者中被证明是合理的和完整的。这项工作是朝着正式验证的自动利用生成迈出的重要一步。

Automatic exploit generation is a relatively new area of research. Work in this area aims to automate the manual and labor intensive task of finding exploits in software. In this paper we present a novel program logic to support automatic exploit generation. We develop a program logic called Reachability Logic, which formally defines the relation between reachability of an assertion and the preconditions which allow them to occur. This relation is then used to calculate the search space of preconditions. We show that Reachability Logic is a powerful tool in automatically finding evidence that an assertion is reachable. We verify that the system works for small litmus tests, as well as real-world algorithms. An implementation has been developed, and the entire system is proven to be sound and complete in a theorem prover. This work represents an important step towards formally verified automatic exploit generation.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源