Application Security Audit
 


"Software bugs... cost the US economy an estimated $59.5 billion annually... a third of these, [estimated at] $22.2 billion, could be eliminated by an improved testing infrastructure that enables earlier identification and removal of software defects...", National Institute of Standards and Technology (NIST), May 2002

Security testing of application software involves determining all avenues of input to the program and ways in which users can circumvent controls that the software has put in place. Securing your database, operating systems and networks amount to nothing if your application reveals your data to unauthorized users. Security auditing has to complete the entire gamut of systems and must include auditing of bespoke applications being used within your organization. A single vulnerability in the software could potentially lead to not only the application crashing, but as has been proven, the server itself could be compromised. Therefore, the main quality of any application audit has to be comprehensiveness. Our audits are exhaustive, and are not limited to running a standard set of tools on the software.

Methodology

We will first carry out a detailed study of the application, its components and their interactions. We will then carry out a Risk Assessment exercise for the application. This will identify the Threats to the application, the Impact from such Threats, possible Vulnerabilities within the application that would allow these threats to materialize, and the Probabilities for occurrence of the Threats.
We will then analyze the Application for a number of possible vulnerabilities, not limited to the following:

  • Buffer Overflows
  • Format String bugs
  • SQL Injection
  • Cross-Site Scripting
  • Information Disclosure
  • Path Disclosure
  • Directory Traversal
  • Session Management Vulnerabilities
  • Weak Encryption Algorithms/Protocols
  • Authentication bugs
  • Authorization bugs
  • Vulnerabilities in the way the application interacts with the Database, Operating System and Network layers
  • Vulnerabilities in the in-built Auditing mechanism of the application
  • Known vulnerabilities in third-party components that the application may rely on

Source Code Audits

If the source code of the software is available, you may also engage us for a comprehensive source code audit. Our experience on various technologies and development platforms is as follows:

Operating Systems Windows, HP-UX, AIX, Solaris, Linux, Open VMS, Novell Netware
Web Servers IIS, Apache, Netscape Enterprise Server
Databases Oracle, MS SQL, MySQL, PostgreSQL, Sybase, SQLBase
Web Technologies ASP, ASP.NET, JSP, Java Applets/Servlets, Perl, PHP
Programming Languages C/C++, Visual Basic, VC++, Visual.NET, C#, Shell Scripts, Java, PL/SQL, T-SQL, Cobol
Tools Used RATS, ITS4, Flawfinder, Customized scripts

Why Titanium?

The methodology for testing software has been developed as a result of our experience and efforts. We have been actively involved in independent research and have found security vulnerabilities in mission-critical software from vendors such as Oracle, Microsoft, Macromedia, Symantec, Cypherix and others.


Deliverables

At the end of the application audit we deliver to the client:

  • A complete list of vulnerabilities discovered in the system, ranked by their severity in terms of the privilege levels that might be gained by an attacker.
  • A detailed set of recommendations to overcome these vulnerabilities.
  • A handbook on secure coding practices for the language, platform, and environment existing at the client's end.
  • A transfer of knowledge explaining our testing methodologies and evaluation criteria for the audit.
  • If we develop any code to exploit the discovered vulnerabilities, then this code will be handed over to the client as well.

You may contact us for a document detailing our methodology and approach towards auditing software applications




 
  Home Buy Online Downloads Site Map