Lune

CCS2022Top-tier venue

TRACER: Signature-based Static Analysis for Detecting Recurring Vulnerabilities

Wooseok Kang, Byoungho Son, Kihong Heo

2022Year
23Citations
13Top-tier citations

Abstract

Similar software vulnerabilities recur because developers reuse existing vulnerable code, or make similar mistakes when implementing the same logic. Recently, various analysis techniques have been proposed to find syntactically recurring vulnerabilities via code reuse. However, limited attention has been devoted to semantically recurring ones that share the same vulnerable behavior in different code structures. In this paper, we present a general analysis framework, called Tracer, for detecting such recurring vulnerabilities. The main idea is to represent vulnerability signatures as traces over interprocedural data dependencies. Tracer is based on a taint analysis that can detect various types of vulnerabilities. For a given set of known vulnerabilities, the taint analysis extracts vulnerable traces and establishes a signature database of them. When a new unseen program is analyzed, Tracer compares all potentially vulnerable traces reported by the analysis with the known vulnerability signatures. Then, Tracer reports a list of potential vulnerabilities ranked by the similarity score. We evaluate Tracer on 273 Debian packages in C/C++. Our experiment results demonstrate that Tracer is able to find 112 previously unknown vulnerabilities with 6 CVE identifiers assigned. CCS CONCEPTS • Security and privacy → Software security engineering; Software security engineering.

Ask about this paper

Your agent reads all of it.

Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.

Questions to start from

Your agent calls

Luneget_paper_fulltext

Ask in Lune

Free to start. No credit card required.

lune papers fulltext 53c5fe50-c28f-4151-8f7a-913b3e5e00b2

Cited by top-tier papers13

Ask how each one uses it

Builds on6

Related papers

Dusk over the sea between two cliffs drawn in fine vertical lines