What to automate? Which parts of the delivery process are good candidates? Which applications will benefit from automation? At first, those sound like silly questions. Automate all your repetitive processes. If you think that you'll do the same thing manually more than once, automate it. Why would you waste your creative potential and knowledge by doing things that are much better done by scripts? Yet, an average company does not adhere to that logic. Why is that? ...
DEVOPSdigest asked experts from across the IT industry for their opinions on what steps in the SDLC should be automated. Part 4 is all about security.
It's absolutely critical that security is automated across development processes. Developers tend to believe that security slows down development, but it's entirely possible for developers to run fast and securely. Manually monitoring and managing secrets — like account credentials, SSH and API keys, and passwords — is near impossible and highly prone to human error. Automating secrets management processes should be built into development processes early on. Only then will organizations be able to securely manage secrets used across human and non-human identities and still achieve superior DevOps agility and velocity.
Head of Conjur Engineering, CyberArk
Security is often an afterthought of the development process, and the "bolt-on" approach to security rarely works. Instead, security should be embedded into the development process to make it easier to automate in production. Service mesh tools make this easier by decoupling applications from their dependencies while automating certificate distribution and access enforcement between services.
Co-Founder and CTO, HashiCorp
In today's DevOps-centric organizations, we should automatically test every code change with Static Analysis Security Testing (SAST) and Software Composition Analysis (SCA). 77 percent of apps have at least one vulnerability on initial scan. Automated security testing allows development teams to find and fix flaws early in the software development lifecycle, which saves significant time for both developers and security personnel. These tools ensure that the applications being built are secured at the speed of DevOps.
VP of Strategy, CA Veracode
Automating security testing in the software development lifecycle is critical for success, especially for web applications and REST APIs, which are frequently targeted by cyber-criminals. Internet-facing web applications, in particular, are a frequent source of data breaches according to studies because they are publicly accessible with a large attack surface. Manual security testing is effective, but costly, time-consuming, and doesn't scale. Web applications can be complex and expansive. Automating security scanning in DevOps and CI/CD processes saves both labor and time costs while helping to ensure that your applications are protected from outside attacks.
Director of Product Management for Web Application Scanning, Qualys
Development teams already know that they should be automating everything about their coding, testing, delivery, and deployment pipeline. They also know that they need to automate security testing, but have struggled with traditional tools like dynamic scanners and static analysis, which require experts to use and slow down pipelines dramatically. Development can't wait for security, coders need to know immediately if a new custom code vulnerability has been introduced or if they're using a library with a known vulnerability. Developers should adopt a relatively new approach called "Interactive Application Security Testing" or IAST that was built for the ground up for DevOps and automated software pipelines. Instead of running a scan, IAST relies on software instrumentation to verify code security from inside the application itself.
Co-Founder and CTO, Contrast Security
The one thing enterprises must automate is vulnerability scanning because each year the number of cyberattacks increases 3-fold, and the cost for an individual incident can go into the millions of dollars. Companies that report breaches have also been shown to underperform the market as well, and at the same time, enterprises are pushing hard to accelerate software development to increase their service offerings and differentiate from the competition, which on the surface seems at odds with creating more secure software. Given that 90 to 95% of breaches happen through the exploitation of known vulnerabilities, developing a process to "shift security left" and automate scanning with DevSecOps methodologies can help ensure that only code that is free of these vulnerabilities goes into production. At the same time, automating this process helps developers work faster because they can get near-immediate feedback without waiting for other individuals to get involved. If you automate vulnerability scanning, you can get to a world with fewer breaches and faster development at the same time - and that sounds a lot like nirvana.
SECURITY AND COMPLIANCE
Infrastructure security and compliance have traditionally been a function at odds with speed and agility — and are often overlooked when it comes to automation. By automating infrastructure security and compliance upfront with policy-as-code validation, DevOps teams can eliminate time-consuming manual approval processes and ensure that infrastructure is safe and complies with internal and regulatory policies.
Security and compliance automation is the most important part of the software development life cycle. The ability to assess software code and determine the vulnerability by providing a security rating is critical in preventing catastrophic attacks. Automated workflows that provide actionable intelligence and remediate threats is of vital importance to any DevOps model. Regulations can be enforced and validated with automated staging environments that can test the software during each phase of development.
Director, Technical Marketing, Quali
The problem of "long tail" security vulnerabilities continues to be a serious problem. The root cause being that when a component or library is stored as a "golden image" in a binary repository, that decision isn't reassessed as new patches become available. When approving a new component or version, implementing an automated monitoring model to identify when patches become available and the age of the component helps to re-risk long tail security vulnerabilities.
Technology Evangelist, Synopsys
The age of PDF security reports is over. Developers should automate the process of getting security vulnerabilities to the people that need them, through the tools they already use. So instead of reading a 500 page PDF file, the developer gets an alert through Slack, JIRA, their IDE, Jenkins, etc.
Co-Founder and CTO, Contrast Security
Read Steps You Should Be Automating in the SDLC - Part 5, the final installment, covering deployment and production.