Chucky: exposing missing checks in source code for vulnerability discovery

Chucky: exposing missing checks in source code for vulnerability discovery
复制标题

DOI:
10.1145/2508859.2516665
复制
发表时间:
2013-11
期刊:
Proceedings of the 2013 ACM SIGSAC conference on Computer & communications security
影响因子:
--
通讯作者:
Fabian Yamaguchi;Christian Wressnegger;Hugo Gascon;Konrad Rieck
Fabian Yamaguchi;Christian Wressnegger;Hugo Gascon;Konrad Rieck
中科院分区:
其他
文献类型:
--
作者:
Fabian Yamaguchi;Christian Wressnegger;Hugo Gascon;Konrad Rieck

文献摘要

被引文献

相似文献

发现软件中的安全漏洞是运行安全系统的关键。不幸的是,只有一些安全缺陷可以自动检测到,绝大多数漏洞仍然是通过对源代码进行繁琐的审计来识别的。在本文中,我们努力改善这种情况,加快人工审核的过程。我们介绍Chucky,一种暴露源代码中缺少检查的方法。许多漏洞是由于输入验证不足造成的,因此遗漏或错误的检查为发现安全漏洞提供了有价值的线索。我们的方法收益静态污染源代码和识别异常或丢失的条件链接到安全关键objects.In五个流行的开源项目的实证评估,Chucky能够准确地识别人工和真实的丢失检查,这最终使我们能够发现12个以前未知的漏洞在两个项目(Pidgin和LibTIFF)。
Uncovering security vulnerabilities in software is a key for operating secure systems. Unfortunately, only some security flaws can be detected automatically and the vast majority of vulnerabilities is still identified by tedious auditing of source code. In this paper, we strive to improve this situation by accelerating the process of manual auditing. We introduce Chucky, a method to expose missing checks in source code. Many vulnerabilities result from insufficient input validation and thus omitted or false checks provide valuable clues for finding security flaws. Our method proceeds by statically tainting source code and identifying anomalous or missing conditions linked to security-critical objects.In an empirical evaluation with five popular open-source projects, Chucky is able to accurately identify artificial and real missing checks, which ultimately enables us to uncover 12 previously unknown vulnerabilities in two of the projects (Pidgin and LibTIFF).