2014 IEEE Symposium on Security and Privacy 2014
DOI: 10.1109/sp.2014.44
|View full text |Cite
|
Sign up to set email alerts
|

Modeling and Discovering Vulnerabilities with Code Property Graphs

Abstract: Abstract-The vast majority of security breaches encountered today are a direct result of insecure code. Consequently, the protection of computer systems critically depends on the rigorous identification of vulnerabilities in software, a tedious and errorprone process requiring significant expertise. Unfortunately, a single flaw suffices to undermine the security of a system and thus the sheer amount of code to audit plays into the attacker's cards. In this paper, we present a method to effectively mine large a… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
293
0
1

Year Published

2015
2015
2024
2024

Publication Types

Select...
7
1
1

Relationship

0
9

Authors

Journals

citations
Cited by 541 publications
(294 citation statements)
references
References 33 publications
0
293
0
1
Order By: Relevance
“…Fabian et al [32] combines three representations into a unified data structure. In [32], author introduced a new concept of Code Property Graph which models ASTs, CFGs and PDGs as property graphs.…”
Section: ) Code Property Graphmentioning
confidence: 99%
“…Fabian et al [32] combines three representations into a unified data structure. In [32], author introduced a new concept of Code Property Graph which models ASTs, CFGs and PDGs as property graphs.…”
Section: ) Code Property Graphmentioning
confidence: 99%
“…In particular, the Joern tool represents programs as code property graphs, a combination of abstract syntax trees (AST), control flow graphs (CFG) and program dependency graphs (PDG), and stores them in a graph database [5]. That representation allows modeling templates of common vulnerabilities with graph traversals to identify buffer and integer overflows, format string vulnerabilities, and memory disclosures.…”
Section: Existing Workmentioning
confidence: 99%
“…Yamaguchi et al [22], [52] also proposed methods that assist security auditing for C/C ++ programs by using machine learning to classify functions as vulnerable/non-vulnerable based on the absence/presence of sanitization [52], or by applying intraprocedural analysis on the code property graph (a combination of AST, CFG and PDG) of a program [22]. Besides the fact that we focus on Java instead of C/C ++ , our approach is based on interprocedural analysis which takes the call-return and parameter-passing mechanisms of the program into account.…”
Section: B Program Slicingmentioning
confidence: 99%
“…Symbolic execution-based security analysis approaches have yet to address scalability issues due to the path explosion problem [21]. Other approaches [22] report analysis results without any form of pruning (e.g. the whole program dependency graphs), thus containing a significant amount of information not useful to security auditing.…”
Section: Introductionmentioning
confidence: 99%