[ajug-members] Java source analyzer for security holes, memory leaks etc?
Dean H. Saxe
dean at fullfrontalnerdity.com
Mon Jul 23 08:05:47 EDT 2007
Fortify SCA is the gold standard here. www.fortify.com
Users or Fortify or any source scanning tool must understand both the
advantages and disadvantages of an automated approach. First, these
tools do a good job of finding bugs. Bugs are defined as problems at
the time of implementation, such as integer overflows, failure to
close resources appropriately, etc. SQL Injection and cross-site
scripting are also found quite effectively by Fortify. However, bugs
only make up ~50% of all software security issues in any code-base.
The other issues to identify and fix are flaws, these are the
architectural level problems that come from the design of the
software. Issues such as poor cryptography (home grown, weak keys,
weak key storage), authentication bypass, authorization problems such
as privilege escalation, etc. These issues will never be found by
Fortify or any code scanning tools and must be found through design
reviews mechanisms such as threat modeling or a manual code review.
What's the point? At best, scanning tools find 50% of all issues in
any code base. And that is only if there are no false negatives and
there is 100% code coverage, both of which are quite unlikely to occur!
Gary McGraw (cigital.com among others) calls any scanning tool a
"badnessometer" because it will only tell you how much your code
sucks and not that your code is secure (the same can be said about
automated penetration testing with a tool like SPI Dynamics
WebInspect, as well as manual pen testing to a lesser degree). Using
any scanning tool in the absence of other techniques is a sure-fire
way to get a false sense of security. If you intend to go down this
path I urge you to look at how Fortify or other scanning tools fit
into an SDLC built with security in mind and not just as a bolt-on
attachment to the SDLC to meet some regulatory requirement.
-dhs
Dean H. Saxe, CISSP, CEH
dean at fullfrontalnerdity.com
"To announce that there must be no criticism of the president, or
that we are to stand by the president right or wrong, is not only
unpatriotic and servile, but is morally treasonable to the American
public."
-- Theodore Roosevelt
On Jul 23, 2007, at 6:40 AM, Curt Smith wrote:
> Greetings,
>
> Does anyone have a tip for a java (j2ee) source analyzer that would be
> run during nightly builds etc that would find security holes or memory
> leaks? I'd guess there's tools that would find the forgotten
> conn.close() and resultset.close(), but more thorough and extensive
> scanning is also desired.
>
> Thanks, Curt Smith
>
> _______________________________________________
> ajug-members mailing list
> ajug-members at ajug.org
> http://www.ajug.org/mailman/listinfo/ajug-members
>
More information about the ajug-members
mailing list