2002
DOI: 10.1145/545186.545188
|View full text |Cite
|
Sign up to set email alerts
|

Token-based scanning of source code for security problems

Abstract: We describe ITS4, a tool for statically scanning C and C++ source code for security vulnerabilities. Compared to other approaches, our scanning technique stakes out a new middle ground between accuracy and efficiency. This method is efficient enough to offer real-time feedback to developers during coding while producing few false negatives. Unlike other techniques, our method is also simple enough to scan C++ code despite the complexities inherent in the language. Using ITS4, we found new remotely exploitable … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

2
23
0

Year Published

2004
2004
2017
2017

Publication Types

Select...
3
3
3

Relationship

1
8

Authors

Journals

citations
Cited by 31 publications
(25 citation statements)
references
References 5 publications
2
23
0
Order By: Relevance
“…Rather than describing the differences between these tools and ours in every case, we we briefly discuss ITS4, developed by Viega et al [37], and representative of the many other static code scanners. Viega et al's requirement was to have a tool that is fast enough to be used as real-time feedback during the development process, and precise enough so that programmers would not ignore it.…”
Section: Related Workmentioning
confidence: 99%
“…Rather than describing the differences between these tools and ours in every case, we we briefly discuss ITS4, developed by Viega et al [37], and representative of the many other static code scanners. Viega et al's requirement was to have a tool that is fast enough to be used as real-time feedback during the development process, and precise enough so that programmers would not ignore it.…”
Section: Related Workmentioning
confidence: 99%
“…Secure Coding Practices [27,37,50] Lexical Analysis [9,10,49,54] Data-Flow Analysis [17,30] Context Free Grammars [52,53] New APIs [13,36] Learning [15,32,48] Query Modification [4,7,46] Runtime Tainting [22,29,42,56] Data-Flow Analysis [51] Hybrid [24,25,35] Syntax Embeddings [5] Intrusion Set Randomization [3,28,31] The most straightforward and sensible approach is the adoption of secure coding practices [27,50,37], like the ones we mentioned above to prevent sql code injection. However, this does not always happen, as programmers may not be aware of them, or time schedules may be tight, encouraging sloppy practices instead.…”
Section: Static Methods Dynamic Methodsmentioning
confidence: 99%
“…Then, the resulting tokens are associated with vulnerable function calls susceptible to buffer overflows like gets, strcpy and scanf. This approach is taken by security utilities like its4, 4 Flawfinder 5 and rats 6 [54,10,9,49]. However, these tools suffer from several false positive and negative reports [11,14].…”
Section: Static Methods Dynamic Methodsmentioning
confidence: 99%
“…The lexical analysis approach is implemented by security utilities such as BOON (Wagner et al, 2000), PScan (Johnson, 2006;Heffley & Meunier, 2004;Chen & Wagner, 2007), ITS4 (Viega et al, 2002;Viega et al, 2000;Wilander & Kamkar, 2002), Flawfinder (http://www.dwheeler.com/flawfinder/) (Wilander & Kamkar, 2002) and RATS (http: //www.security-database.com/toolswatch/RATS-v2-3-Rough-Auditing-Tool-for.html) (Kong et al, 2007;Chess & McGraw, 2004;Wilander & Kamkar, 2002). For the most part, these tools scan source code pointing out unsafe calls of string-handling functions that could lead to a CIA.…”
Section: Lexical Analysismentioning
confidence: 99%