The definition of application security has not evolved in parallel with the current state of applications. Let me explain. Twenty years ago, applications mainly operated independently of the Internet. During this time, the process for securing apps was simply adhering to best practices for secure coding throughout the software development lifecycle. But, it’s no longer the late 90’s. While secure coding is still an essential foundation to application security, it’s only one piece of a much larger puzzle.
Security professionals must now expand our definition of application security to include a risk-based perspective that accounts for the vast number of threats we must defend against. In doing so, we’ll improve the security posture across all facets of our apps and their deployment, thereby safeguarding our data and businesses. Looking at app security from a risk-based perspective puts focus on component failures, and provides robust security for the ultimate target of most attacks—company, customer, and personal data.
Today’s attackers have a convenient route to data through the application, but a risk-based approach accounts for vulnerabilities that secure coding can’t protect against. This approach includes analyzing the exposed elements of an application, and then developing a holistic security strategy for that app in its entirety. Attackers only need one component of an app left unaccounted for in order to compromise it -- whether it’s a code vulnerability, compromised identity, network availability, weak encryption, or DNS. And once attackers are inside, the entire application, as well as the data it houses, will be affected.
Application availability is a great example of a threat beyond the scope of secure coding. Since most apps today are Internet-based, a volumetric DDoS attack can cripple, or even take them down, rendering even the most securely-written code useless. Another threat vector to consider is confidentiality. What happens when a password is stolen? The application can be compromised and its data exposed.
This situation will not get any easier. There are approximately one billion Web apps in existence today. The rapid growth of the Internet of Things—and the applications that go along with it—will lead to apps numbering in the billions, and it’s naive to think that all of them will be securely coded.
We must immediately rethink our definition of application security so we’re in a better position to effectively secure all the components that make up our apps, safeguard our data, and protect our businesses.