SSAS (E08) Lab Exercise on 10 OCT 2008
Tool Support for Implementation Audits
The goal of this lab is to familiarise you with the concept of tool
support for implementation audits. In particular you should download
such a tool and run it on one (or more) applications of your choice,
e.g., your web server implementation from the network part of the
course.
In particular you should:
- Download and install an audit tool (see below)
- Run the tool on an application of your choice (e.g., your own
web server, your favourite open source project)
- Note the number of potential bugs found, what kinds of bugs are
found, and where in the program they are found
- Follow up on a representative number of potential bugs reported:
- Determine if the potential bug is real or not
- If it is not a real bug
- Discuss why the tool reported it anyway
- Discuss how the program could be changed so the tool
would not report it
- If it is a real bug determine if it is exploitable
- If it is exploitable describe potential consequences and
further attacks
- If it is not exploitable discuss
- Discuss why the tool reported it anyway
- Discuss how the program could be changed so the tool
would not report it
- Discuss how the program could be changed to make the
bug exploitable
- Discuss the strengths/weaknesses/usefulness of such tools
Suggested Tools
For Java applications I highly recommend FindBugs or PMD. Both tools are open source
and relatively easy to get started with.