Static code analysis to help open developers hunt Flaws
Fortify software announced May 15 it is joining the open-source FindBugs project as a sponsor and is offering its static code analysis technology to help open-source developers find dangerous security vulnerabilities and other software bugs in Java programs.
Fortify, of Palo Alto, Calif., will integrate its namesake Source Code Analysis Suite with the FindBugs static analysis tool to allow developers to use both tools and to load and view the results from various Fortify tools, such as Audit Workbench and Software Security Manager.
Integration will give Java developers a central view of all results with which to catch potential flaws and quality bugs.
FindBugs, with 200,000 downloads, is considered the most widely used open-source bug-finding tool for Java. Developed by David Hovemeyer and Bill Pugh at the University of Maryland, FindBugs uses static analysis to inspect Java bytecode for occurrences of bug patterns.
FindBugs is written in Java and can be run with any virtual machine compatible with Suns JDK (Java 2 Platform, Standard Edition) 1.4. It can analyze programs written for any version of Java and can be run from the command line, from within Ant, from a GUI tool, or from IDEs (integrated development environments) such as Eclipse and NetBeans.
The deal "is a win for everyone," said Pugh in College Park, Md.
"[Originally], I was worried that we wouldnt be able to maintain the level of engineering support that a widely used tool such as FindBugs needs or do many other useful things [that are] not easily ... funded by academic research grants," Pugh said.
With the new sponsorship, Pugh said the project will get funds to support and improve the open-source FindBugs infrastructure.
Fortify recently inked a deal with Oracle to integrate its code-scanning products into the development process for Oracles server technologies.
Oracle has licensed Fortifys software for use with Oracles database server, application server, enterprise management, collaboration suite and identity management products. Oracle is using the technology to find buffer overflows, heap overflows and other common security holes in code that is under development.
Code-scanning technology is also a big part of a U.S. government-funded software auditing project aimed at beefing up the security and reliability of several widely deployed open-source products.
The Vulnerability Discovery and Remediation Open Source Hardening Project uses source code analysis technology from San Francisco-based Coverity to pinpoint and correct security vulnerabilities and other potentially dangerous defects in key open-source packages.
Coveritys automated scans have pinpointed several bugs in the LAMP (Linux, Apache, MySQL and Perl/Python/PHP) stack, including a critical vulnerability in the X Window System code, but security experts warn that total dependence on static code scanning is a mistake.
While static analysis tools are useful, they are no replacement for the human intellect, said Michael Howard, senior security program manager at Microsoft, in Redmond, Wash.
"If a developer does not know how to code securely or if a designer does not know how to design secure systems, and testers dont know how to validate the security posture of code, tools will provide little, if any, help," said Howard, who co-wrote Microsofts SDL (Security Development Lifecycle).
Inside the FindBugs Project
FindBugs is free software that uses static analysis to look for bugs in Java programs. It is based on the concept of bug patterns such as the following that arise during the coding process:
* Difficult language features
* Misunderstood API methods
* Misunderstood invariants when code is modified during maintenance
* Garden-variety mistakes: typos, use of the wrong Boolean operator