Testing Static Analysis Tools usingExploitable Buffer Overflows from Open Source CodeMisha Zitser Richard Lippmann Tim LeekD. E. Shaw Group MIT Lincoln Laboratory MIT Lincoln LaboratoryNew York, NY Lexington, MA Lexington, MAzitserm@deshaw.com rpl@ll.mit.edu tleek@ll.mit.eduABSTRACTFive modern static analysis tools (ARCHER, BOON, Poly-Space C Veri er, Splint, and UNO) were evaluated usingsource code examples containing 14 exploitable bu er over- ow vulnerabilities found in various versions of Sendmail,BIND,andWU-FTPD.Eachcodeexampleincludeda“BAD”case with and a “OK” case without bu er over ows. Bu erover ows varied and included stack, heap, bss and databu ers; access above and below bu er bounds; access us-ing pointers, indices, and functions; and scope di erencesbetween bu er creation and use. Detection rates for the“BAD” examples were low except for PolySpace and Splintwhich had average detection rates of 87% and 57%, respec-tively. However, average false alarm rates were high androughly50%forthesetwotools. Onpatchedprogramsthese Figure 1: Cumulative bu er over ow vulnerabilitiestwo tools produce one warning for every 12 to 46 lines of found in BIND, WU-FTPD, and Sendmail serversource code and neither tool accurately distinguished be- software since 1996tween vulnerable and patched code.Categories and Subject Descriptors1. INTRODUCTIOND.2.4 [Software Engineering]: [Software/Program Veri -The Internet is constantly under attack as witnessed ...
Voir