SECURITY RESOURCES > FAQs
Auditing applications for source code security vulnerabilities is the most important step towards overall enterprise security. Applications, especially Web applications, can expose vital data to the World Wide Web, and security vulnerabilities from inadequately designed or written code may allow attackers to threaten privacy and steal data - for example, gain access to confidential information, modify a database or other system, or cause the application to crash or become unstable.
Application source code audit is necessary not only because of the significant operational risk posed by vulnerable software, but because it is mandated by the regulations and policies that govern data privacy, integrity, and good corporate governance. Regulations such as PCI, Sarbanes-Oxley and FISMA, and control frameworks such as COBIT and COSO are driving software risk analysis and software security assurance activities to the forefront of business requirements and best practices.
According to John Pescatore of Gartner, "Removing only 50 percent of software vulnerabilities before use will reduce patch management and incident response costs by 75 percent." Auditing application source code for security defects starting early in the development lifecycle results in significant cost savings.
The most common code audit techniques include manual source code review, application penetration testing, and automated source code analysis.
To learn more about these code audit technologies, please visit www.ouncelabs.com/dozen.
While manual code analysis, application penetration testing and automated source code analysis tools each present their own set of benefits and shortcomings, using automated source code analysis as the foundational tool, supplemented by other ancillary options such as patch management, penetration testing, and manual source code review to conduct application code audit can help organizations to effectively locate, understand and eliminate coding errors, configuration issues and design flaws.”
Organizations can ensure security of their outsourced applications by requiring a security audit of the source code as part of the outsourcing contract. Ounce Labs has published sample contract language for software development that sets specific security standards and ensures that outsourced code is developed with security from the ground up, and is validated prior to acceptance. To download a copy of this contract language, please visit www.ouncelabs.com/assurance.
For more information about building security into outsourced development projects, click here.