Abstract | ||
---|---|---|
This paper describes the design and implementation of a lightweight static security analyzer that exploits the compilation process of the gcc compiler. The tool is aimed at giving to programmers useful and precise hints for improving the security of the developed software, while also detecting format string vulnerabilities, buffer overflows, and subtle vulnerabilities due to incorrect arithmetic and conversion on integers. The experimented technique is a combination of the taint analysis concept and of a value range propagation algorithm. The experimental results obtained by analyzing some real-world security critical programs show that the tool is only slightly heavier than pure compilation, and that it is able to detect known vulnerabilities, as well as unknown ones. Moreover, even if false positives are given, many of the warnings that do not correspond to vulnerabilities are indeed instances of unsafe programming practices, which can be avoided by applying a defensive programming style. Then, the tool can be profitably used during development, as a means that facilitates such coding practice. |
Year | DOI | Venue |
---|---|---|
2008 | 10.1109/ARES.2008.26 | ARES |
Keywords | Field | DocType |
developed software,real-world security,coding practice,critical program,lightweight security analyzer,buffer overflow,lightweight static security analyzer,compilation process,defensive programming style,pure compilation,unsafe programming practice,algorithm design and analysis,security,prototypes,availability,false positive,software security,defensive programming,profitability,arithmetic,static analysis,computer bugs | Computer science,Software security assurance,Computer security,Software bug,Compiler,Taint checking,scanf format string,Secure coding,Defensive programming,Buffer overflow | Conference |
Citations | PageRank | References |
2 | 0.36 | 10 |
Authors | ||
2 |
Name | Order | Citations | PageRank |
---|---|---|---|
Davide Pozza | 1 | 105 | 7.45 |
Riccardo Sisto | 2 | 556 | 56.79 |