Skip to Content Java Solaris Communities Partners My Sun Sun Store United States Worldwide

»  Spotlight Articles
»  Projects
»  Publications
»  People
»  Awards
»  Events
»  Downloads
»  Internships
»  Contrarian Minds
»  About Sun Labs
Sun Labs Technical Report TR-2008-171
User-Input Dependence Analysis
via Graph Reachability
by Bernhard Scholz, Chenyi Zhang, and Cristina Cifuentes

Read Technical Report

April 22, 2008 - Systems software with security vulnerabilities (software bugs) expose both individual and enterprise systems to a high risk of exploitation, as the vulnerabilities can be exploited by malicious input to gain control over a system. Worms, including the Microsoft SQL server Slammer and the Sun Telnet worm, which exploit security vulnerabilities in software can compromise hundreds of thousands of computers in the Internet within minutes, causing millions of dollars damage. Manual code inspection is current industry practice to find security vulnerabilities in code. These inspections are time-consuming, repetitive and tedious.

In recent years, bug checking tools that use static program analysis have been developed to check source code to automatically find bugs in software. However, for classifying bugs as potential security vulnerabilities, a bug checking tool needs to test whether a detected bug is dependent on user-input. The program analysis reported in this technical report is a pre-processing step of a bug checking tool for finding program statements that can be controlled by an attacker.

We describe a linear-time algorithm to find statements that expose security vulnerabilities in a program, and report on results for array accesses - as buffer overflows are the most common type of security vulnerability being exploited these days in systems code.

Related Links:

Would you recommend this Sun site to a friend or colleague?
Contact About Sun News Employment Privacy Terms of Use Trademarks Copyright 1994-2008 Sun Microsystems, Inc.