This article provides you with an overview of the current state of application security testing. Some of the challenges with application security testing include ensuring adequate coverage of black-box application testing, false negative issues with white box testing using automated source code analysis software and the lack of experience in the security industry with testing of client side applications.
With standard black box web application penetration tests the tester is given no access to source code or design documentation and given only some URLs and Login IDs and passwords. The challenge is that without comprehensive criteria and custom test cases written from a threat modelling perspective to test to the tester will only look for common "low hanging fruit" and issues they know to look for (ie OWASP top 10) and miss more obscure but more important issues related to application business logic. Also without access to the source code developing "paint by numbers" recommendations to close the vulnerabilities identified is difficult.
Read more on application security: Opinions: The sorry state of application security
With white box security testing the tester is provided with source code, design documentation and can ask the developer questions. Often there is too much code to review manually so Source Code Analysis software (SCA) is utilised to provide coverage. The current challenge is that SCA only assists an application security specialist not replaces them. Often new "vulnerability signatures" need to be written or existing ones modified to capture the vulnerabilities in the first place. Then these signatures can be searched for across the whole codebase providing a fair degree of coverage. SCA software allows searching of code and tracing the flow of input through an application. Often SCA can be used to successfully find all instances of issues identified via black box "pen tests".
There is a reasonable degree of experience in the wider information security community related to web application security these days. Most security consultants are aware of most of the key security controls which address the most commonly encountered vulnerabilities. This is because web applications are often custom developed for each client, often internet facing, hence at higher risk and often requested to be tested. Source code is often available, but access to it by the end customer is often restricted for commercial purposes.
With compiled executable applications installed on end user computers like web browsers, PDF readers, word processors, media players and other COTS applications there are additional challenges. The end customer and hence the security tester employed by them; doesn't have access to the source code; is often legally restricted from reverse engineering the application and legal hell will be oft rained down upon them if they dare reporting security vulnerabilities for remediation. This provides challenges to the enterprise as these applications are often the target of cyber criminals who exploit vulnerabilities in these commonly deployed applications to deploy remote access trojans, rootkits, key-loggers and the like via vectors such as malicious web sites and email attachments.
Read more on application security in CSO's Application security section
About the Author:
Matthew HacklingMatthew Hackling B.Sc. (Security) CISSP
Matthew has over ten years experience operating solely in the area of information security, holds a Bachelors degree in security management from ECU and is also a CISSP. He is a former Account Director in Deloitte's Security & Privacy Services practice. Matthew has led security testing teams on assessments of large core systems replacement projects for banking institutions. He operates more in the area of information security governance these days, despite his urges still stay a bit technical. Hence he plays with backtrack linux, metasploit and new web application security assessment tools in his rare free time. Currently he runs his own consultancy called Ronin Security Consulting and holds the title of General Manager of Security Testing at Enex TestLab. He is an active member of the Australian Information Security Association, and held the office of Melbourne Branch Executive for a number of years. Matt's security blog is called Infamous Agenda and he is an active twitter user with the handle @mhackling
Follow CSO Australia on Twitter: @CSO_Australia