Why Focus on Application Security?

Most organizations simply don't know whether their applications are secure enough. With years of custom developed software in operation, it can be difficult to know whether the code is trustworthy enough to trust your business to. If the software was developed without a focus on security throughout the lifecycle, there is a very strong chance that it contains serious vulnerabilities, easy for an attacker to find and exploit.

How Are Applications Evaluated?

The goal of an application evaluation is to verify that the application is protected against the threats and attacks facing the application. So the first step is to understand the application, its mission, assets, functions, and countermeasures. This information helps to build a threat model for the application. Then application security tests and analysis can verify that the threats have all been properly addressed in the architecture and implementation.

What Is an Application Security Initiative?

Building trustworthy applications requires a coordinated effort that takes into account the teams, processes, technologies, and culture in your organization. An application security iinitiative is an internal effort to improve your organization's ability to produce trustworthy applications. The starting point may be to add activities to your engineering process, it might be training for developers and managers, or it might be to create standards and supporting technologies. The best approach is to gather some data and decide what the most effective firs steps will be.

What Is the Role of Application Security Tools?

There are a number of different application security tools on the market that can assist an application security initiative. Many of these tools are useful and should be a part of your organization's application security strategy. However, there is wide consensus that tools should support the organization and not the other way around. Over-reliance on tools can create a false sense of security that can actually decrease overall security.

What Is Required to Secure Applications?

Securing applications requires:

  • In depth knowledge of application security principles, threats, attacks, vulnerabilities, and countermeasures across a broad range of technologies
  • Extensive experience with application security tools including both static and dynamic analysis tools, manual penetration testing tools, and manual code review enviornments.
  • A firm understanding of software development (including software architecture, language features, common libraries, software development lifecycles, software development tools, patterns, etc...)
  • Familiarity with common enterprise technologies (including databases, MQ, web services, SOA, directories, mainframe, etc...