一句话:提出 PS3,利用符号仿真提取编译选项无关的语义签名,精确检测二进制中安全补丁是否存在。
针对大规模软件系统中二进制补丁存在性检测因编译选项不同而不准确的问题,本文提出 PS3。它通过符号仿真提取在不同编译选项下保持稳定的语义级符号签名,并在语义层面比较参考版本与目标二进制的签名,从而判断目标是否已应用已知漏洞补丁。该方法克服了现有方法依赖相同编译选项的局限,能在编译配置差异较大时仍精确测试补丁存在性。摘要未给出具体实验数据,但强调其精确性与对编译选项的鲁棒性。
During software development, vulnerabilities have posed a significant threat to users. Patches are the most effective way to combat vulnerabilities. In a large-scale software system, testing the presence of a security patch in every affected binary is crucial to ensure system security. Identifying whether a binary has been patched for a known vulnerability is challenging, as there may only be small differences between patched and vulnerable versions. Existing approaches mainly focus on detecting patches that are compiled in the same compiler options. However, it is common for developers to compile programs with very different compiler options in different situations, which causes inaccuracy for existing methods. In this paper, we propose a new approach named PS3, referring to precise patch presence test based on semantic-level symbolic signature. PS3 exploits symbolic emulation to extract signatures that are stable under different compiler options. Then PS3 can precisely test the presence of the patch by comparing the signatures between the reference and the target at semantic level.
@inproceedings{paperbot11448,
title = {PS3: Precise Patch Presence Test based on Semantic Symbolic Signature},
author = {Qi Zhan and Xing Hu and Zhiyang Li and Xin Xia and David Lo and Shanping Li},
booktitle = {ICSE},
year = {2024},
doi = {10.1145/3597503.3639134}
}