DevSecOps is the most popular term for building security checks and practices into DevOps processes, but there are also two other ways to put the Sec into DevOps. Let’s go back to basics and see if there is any real difference between DevSecOps, SecDevOps, and DevOpsSec – and how you can build secure DevOps in practice.
Any sizable company is now a software company that builds and runs many of its own websites and applications. This means that you have the same company (and often many of the same people) working on every step of the software development lifecycle (SDLC), from design and development right through to operations and maintenance. In such environments, merging all the separate stages into a single unified workflow can greatly increase efficiency and agility while also reducing costs.
In web application development, where agile methodologies with continuous integration and continuous deployment (or continuous delivery) are the order of the day, DevOps is the only practical way to keep business-critical applications running smoothly across frequent updates. The entire development process is heavily automated to minimize manual steps and communication overhead, with companies using a wide array of tools combined into multiple toolchains (10 toolchains on average, according to the 2020 Atlassian DevOps Trends Survey). Automation allows small development teams to deliver projects on scales and schedules that would be way beyond their reach with more manual methods.
The benefits of agile DevOps are well-documented: faster development, lower costs, shorter times to fix, and rapid response to changing business requirements. Yet there is one crucial aspect of application development that is missing from many DevOps workflows: application security. Perhaps due to lingering pre-web misconceptions that software security is not a big deal, many organizations still treat it as an afterthought and try to bolt a security testing silo onto an agile and highly automated DevOps process. As we’ve written before, this can’t possibly work and only serves to reinforce the myth that cybersecurity and automation don’t mix.
CI/CD pipelines can pump out application updates on a weekly or even daily basis, so application security testing must be automated if it is to keep up with agile development and operations. But with surprisingly many organizations still treating software security as a nice-to-have rather than a necessity, let’s quickly run through 5 good reasons why you need to include application security testing in your DevOps practices:
The bottom line is that DevOps organizations can’t afford not to do application security testing, and the only realistic way to build secure products in agile environments is through security integration and automation.
Time to address the headline question: does it really matter where you add the Sec into DevOps, or is it yet more marketing alphabet soup? The answer really depends on how deep you want to go. If we’re talking about building secure software quickly and efficiently, the exact term doesn’t matter as long as everyone knows that security practices must be an integral part of the development and operations pipeline. DevSecOps is by far the most popular way to describe this, but putting the security part elsewhere can be useful to show which stages are emphasized in different workflows. Let’s have a shot at deciphering it all:
Keep in mind that DevOps itself is a very general concept, not a hard-and-fast model. Depending on your organization, adding security to DevOps could be as simple as plugging the right automated tool into your development and deployment processes or as complex as combining separate teams to grow a security-infused DevOps culture from scratch. Luckily, there is an easy way to build AppSec into an agile development process.
Application security testing covers a wide variety of methods: manual penetration testing, static code analysis (SAST), vulnerability scanning, software composition analysis, and more. Each has its merits, and a mature application security program should incorporate multiple approaches to maximize testing coverage. At Invicti, we firmly believe that the foundation of this program should be an accurate, integrated, and automated solution for dynamic application security testing (DAST, also called dynamic analysis) that is easy to deploy regardless of the existing workflows and underlying technologies.
A modern DAST product such as Invicti gives you visibility into the real-life security of your application in its current environment, whether development, staging, or production (or any combination thereof). Most importantly for building DevSecOps, you can integrate testing into your existing build process and have tests triggered and results reported fully automatically – see our white paper on building dynamic security testing into the SDLC to learn how this is done. With a wide array of built-in integrations, Invicti is ready to work with popular issue trackers and CI/CD platforms straight out of the box.
The vulnerability testing process itself is also automated, as Invicti features Proof-Based Scanning to automatically confirm over 94% of direct-impact security vulnerabilities. You can set up issue tracker integration to send these verified and actionable reports (complete with remediation guidance) directly to the developers to fix, with no risk of false positives. With this security testing automation in place, security issues are addressed like any other software bug – and all without leaving the optimized tools and workflows that your DevOps professionals rely on.