Free Newsletters
Technology & Business Daily

InfoWorld
Log-in | Register

Automate security audits for source code

Fortify Source Code Analysis Suite 3.0 combines comprehensive inspection and intelligent analysis

By Andrew Binstock
January 14, 2005
 

Tools that help software developers write secure code are notably under-represented in today's corporate arsenals. The reason is that checking source code for security weaknesses is a difficult task, given the number of potential threats and the almost endless ways to code programs. 

Free IT resource

Open Source Business Conference (OSBC) May 22-23, 2007

Sponsored by OSBC

Free IT resource

Virtualization Insights from Top Experts - Learn how virtualization gets real!

Sponsored by Dell



Fortify Source Code Analysis Suite 3.0

Fortify Software, fortifysoftware.com

Very Good  8.4
criteria score weight
Accuracy 9 35%
Configurability 9 20%
Setup 8 15%
Language support 9 10%
Performance 7 10%
Value 6 10%

Cost:
Enterprise Edition: $56,400 per year or obtain a perpetual license for $80,000, plus $14,400 per year for support and rules updates. These prices are per CPU on the build server.

Platforms:
Windows, Solaris, Red Hat Linux, Mac OS

Bottom Line:
The Fortify Source Code Analysis Suite is a comprehensive and configurable, if pricey, package that automates security audits of C, C++, C#, Java, JSP, and SQL code. Its thorough analysis and detailed recommendations make remedial action quick and effective.

About our Reviews and Scoring Methodology

Enterprises addressing these security threats at the source code level typically rely on code reviews, security audits, and tools that perform syntactical searches of code bases. These approaches tend to be slow, expensive, and insufficiently comprehensive. Fortify Software's Source Code Analysis Suite 3.0, which understands code and automates security analysis during the development cycle, promises welcome relief. 

Fortify's Code Analysis Suite consists of two principal components: the Fortify Audit Workbench, which drives the source code analysis engine, and the Fortify Software Security Manager, which enables managers to track project security and modify the kinds of vulnerabilities that Fortify will detect.

The Workbench's source code analysis engine does all the heavy lifting. It's a Java application that reads through source code looking for specific vulnerabilities. It is guided by a set of rule packs that identify what specific items to look for. Rule packs for C/C++, C#, Java, JSP, and SQL come with the product.

Source In, Security Out

Fortify's analysis is done at a semantic, rather than syntactical, level. This means that the product understands what the code is doing. For example, it can map out data flows and recognize that untested, user-entered data -- always a potential threat -- has been passed to a routine. The routine might well be entirely correct in its functioning but unaware that the data passed to it has been corrupted in a way designed to unhinge the application. Because the Fortify engine understands the code, it can monitor execution and data flows through multiple modules and identify the points where unsafe data is touched without first being verified. Few solutions today can find intermodule security problems of this kind.

Fortify generates a large XML file containing data on all the vulnerabilities it finds. This file is then analyzed by the Workbench, which displays the information in a user-friendly format. Unless programmers are up-to-date on the nature of specific coding vulnerabilities, they are likely to be surprised by what Fortify flags. The product catches not only buffer over-runs and opportunities for SQL injection, but also more-esoteric issues.

For example, one form of attack consists of forcing an application to open so many files that it fails in a predictable manner. By hacking the application just so, a hacker can take over the code when this failure occurs. Hence, Fortify monitors file opening and closing, and suggests that files should be closed as soon as possible (rather than left open until the program closes them at exit) and that the return value of the close should be monitored.

Because the number of generated warnings can be rather large, the Audit Workbench automatically assigns them severity ratings and enables the creation of filters, so that only items of interest are displayed. The display not only lists the vulnerabilities and the explanations, but also takes developers directly to the offending line of code.

The analysis engine is intended to run on a build server. It is designed to slip easily into make files or Ant build files. It runs at speeds comparable to a compiler. In view of the fact that it need be run only on files modified since the last security audit, this does not represent significant overhead.

Perfecting the Process

The Fortify Software Security Manager, which is part of the enterprise edition of the Fortify suite, tracks the security progress of a project. Using it, a manager monitors the number of defects by type and can compare the count with previous audit results. Managers can also change the severity of specific vulnerabilities, depending on the nature of the company's business processes, and then track the resolution of just those items. Fortify's software makes this management process straightforward and intuitive. New rule packs, which are regularly updated by Fortify as crackers find new ways to identify and exploit vulnerabilities, are also added through this management console.

I ran Fortify on C/C++ and Java code bases from open source projects and applications developed by me, and I found the analysis to be deep and comprehensive. As it will for almost any developer, Fortify has led me to change the way I write many routines, which ultimately is the whole idea: improving security by making programmers more aware of security vulnerabilities. To this end, Fortify plans to release plug-ins for Eclipse and Visual Studio .Net that enable developers to quickly verify their code before checking it in to the source control systems.

The suite did have some shortcomings, mostly in secondary areas. One serious problem was its inability to change projects. When I closed an existing project in the Workbench and opened another, the display included data from both projects, which makes for nonsensical displays in the best cases, incorrect actions in the worst. The company is aware of this bug.

In addition, the GUI is cumbersome in many instances -- buttons are placed in unconventional places, they lead to unexpected features, and the help functions are frustratingly insufficient -- all of which make the product unnecessarily difficult to use. The other issue is pricing, which starts at $56,400 per CPU. (A team edition that lacks the manager console and the ability to write custom rules starts at $30,000.) Sure, closing a security loophole can be a nearly priceless improvement, but Fortify's price is certain to deter adoption at many sites.

Checking software for security vulnerabilities is something that needs to be done regularly by knowledgeable developers. Unfortunately, the necessary expertise is hard to come by. Many shops publish insecure code because they don't have the qualifications to perform good code reviews or the tools that can analyze their code deeply. Fortify's Source Code Analysis Suite provides a comprehensive solution that intelligently analyzes code bases and generates detailed, usable reports of vulnerabilities.

 





 


 
Andrew Binstock is the principal analyst at Pacific Data Works. He previously was in charge of global technology forecasts at PricewaterhouseCoopers. Earlier, he was the editor in chief of UNIX Review.
 

TOP NEWS:


»  Four quick tips for choosing an IM security product
71 percent of businesses will invest in real-time messaging this year. If you're one of them, be sure to protect your enterprise

»  Forrester analysts ID hot IT jobs
Research group finds 16 IT roles with a promising future

»  Nvidia claims 10 hours of HD video on Tegra chip
The Tegra 600 and 650 can be used with hard disk drives and are designed partly for mobile Internet devices

»  Database vendors add Google's MapReduce
Greenplum and Aster Data Systems will support Google's programming technique, developed for parallel processing of large data sets across commodity hardware

»  Network management: Tips for managing costs
New technologies, changing requirements, and ongoing equipment maintenance and upgrades cost money, but there are ways to manage expenses

»  EMC targets SMBs, branch offices with new low-end storage
Celerra NX4 highlights include thin provisioning, snapshot technology for data recovery and backups, and Web-based console for management of storage volumes




Solutions to the Toughest IT Challenges in Remote Offices
Though small in size, remote offices face many of the same IT challenges as larger central offices. This Webcast zeroes in on the top line challenges to deliver information that can provide immediate benefits to your business. Sponsor: AMD and Dell

»  Click here to view this Webcast
  The Path to Enterprise Security
This is your comprehensive guide to Enterprise Security. In it you'll find solutions to the most pressing security threats facing you and your company. Learn the latest on insider threats and how to effectively minimize risk within your organization. Sponsored by Nokia

»  Click here to download now

- Special Advertising Partners -
WHITE PAPERS
 

» Technology White Papers Library

Technology White Papers by Topic

Technology White Papers E-mail Alert

Find out when the latest white paper is available:
 
 
INFOWORLD MARKETPLACE
 
» BUY A LINK NOW
 

FIND PRODUCTS AND COMPANIES
» COMPLETE PRODUCT GUIDE



TECHNOLOGY INDEX
• Applications
• Application Development
• Security
• Networking
• Wireless
• Platforms
• Hardware
• Data Management
• Storage
• Web Services
• Business
• Telecom
• Professional Services
• Standards

TECH WATCH 


What's the 411 on GOOG-411?
Just as Google has become synonymous with "performing a Web search," 411 is understood to mean "information" -- as in "what's the 411?" I was thus surprised to discover, from a billboard, no less, that the king of search is taking on the ...

Apple HTML source reveals 'iPhone Extreme'
"This one's a stretch..." reports AppleInsider. Um, yeah. Reporting on HTML code sightings of product names could be called a stretch, but iPhone Extreme has a ring to it. Now, that sounds like the product Apple should have released first, rather ...

COLUMNISTS

Unified under law
Ephraim Schwartz's Column and Blog (InfoWorld) - In the litigious world we live in, deploying a unified communications platform in your enterprise could...
» MORE COLUMNISTS

MORE INFOWORLD BLOGS


Open Sources 
Product Management
When I joined MySQL four years ago, there was quite a lot of debate about product management. We didn't actually have ...

Zero Day 
Botnet herders tending smaller flocks
New research backs up the theory that botnet operators are keeping their networks smaller in a continued effort to keep ...



• Advice Line
• Database Underground
• The Deep End
• Enterprise Mac
• Geeks in Paradise
• Grid Meter
• The Gripe Line
• InfoWorld Daily
• Inside IT
• IT Troubleshooter
• ITXtreme
• Open Sources
• ProdBlog
• Real World SOA
• Reality Check
• Security Adviser
• SMB IT
• The Storage Network
• Tech Watch
• Virtualization Report
• Zero Day

ADVERTISEMENT


RESOURCE CENTERadvertisement 

GOVERNMENT IT & POLICY
'If you don't go after the network, you're never going to stop these guys. Never.'
From the State Department, All the News for Inquiring Minds
TechPresident, the Internet Citizenry's New Consensus Taker



Sponsored Technology Links

 
 
 HOME  NEWS  BLOGS  PODCASTS  VIDEOS  TECHNOLOGIES  TEST CENTER  EVENTS  CAREERS   About | Advertise | Awards | RSS | Contact Us 

Copyright © 2008, Reprints, Permissions, Licensing, IDG Network, Privacy Policy, Terms of Service.
All Rights reserved. InfoWorld is a leading publisher of technology information and product reviews on topics including viruses,
phishing, worms, firewalls, security, servers, storage, networking, wireless, databases, and web services.

CIO :: ComputerWorld :: CSO :: Demo :: GamePro :: Games.net :: IDG Connect :: IDG World Expo
Industry Standard :: IT World :: JavaWorld :: LinuxWorld :: MacUser :: Macworld :: Network World :: PC World :: Playlist