DevSecOps encourages security tasks to be wrapped and enabled with software development and operations tasks. The aim is to make them as seamless as possible while adding security value - and not more work.
Identifying vulnerabilities is essential but it’s also time-consuming and often costly. Staples like CI/CD tools have seen widespread adoption, serving as a wake-up call for development teams about the genuine need for secure code at speed. How do companies and teams answer that call?
Many companies are working to achieve automation that works and adds value - all without adding more tasks to the security personnel to run it.
When you move to security automation, you’ll find some security tasks that can be automated and others that are much harder to fit in. Architecture reviews and threat modelling can be challenging to automate and their heavily manual nature doesn’t allow for much labour saving.
Although a core tool for analysing security and identifying potential vulnerabilities, penetration testing has long suffered from the restraints of manual processes. Nobody wants to be shackled to this mundane yearly testing that doesn’t always give you the insights you need to move forward.
DevOps teams need the right software stack to fully realise DevSecOps or security by design. To be an effective addition, security tools must smoothly integrate with existing workflows.
This typically comes down to the following five categories of security checks or tools:
Working similarly to IAST, RASP and similar tools, they all have their strengths when it comes to false positive rates, deployment and feedback.
Depending on what you’ll do with your DevSecOps program, you’ll likely need a combination of the above tools to give yourself adequate coverage. When you then examine the gaps you have in security testing and correlate against the types of issues you find in your processes, you can then add further security tools to your DevSecOps to increase failsafe.
Are you currently working with a range of tools with unique outputs and triggers in each environment? See how unproductive that sounds?
Often the data generated from siloed tools has entirely different outputs, files, terms and even how the data is formatted. This can be a nightmare to make sense of.
Making it easier to see what’s going on and where your current risk lies by consolidating security tools in a central platform is the way to go. This lowers the exposed vulnerabilities, ensuring it all runs smoothly and you can rely on visibility when developing.
Everyone generally agrees that DevOps teams must adopt cybersecurity best practices, but everyone has different ideas of what that exactly means. With a well recognised skills gap in cybersecurity, security experts are in short supply. Often vastly outnumbered by developers too, they’re responsible for the security of code they played no part in writing.
Even when they can carry out the testing, they’re seen as a bottleneck that slows down the whole process.
Issues found manually by skilled penetration testers can be scripted up and added to your DevSecOps tech, facilitating all-important continuous improvements with time and each interaction.
We’ve seen this numerous times: an issue is found in one project, a script is created and run against other projects where the same issue exists. Think of the time saved in discovery and remediation tracking of that issue, not to mention the DevSecOps program has further reduced the risk for the company.
There are automated market-leading solutions that are happy just to get to work without any real need for maintenance or management. They can trigger tools to work at the right time depending on the outcome it finds - again, without any manual input needed.
This gives you and your time valuable time back to focus on what’s important.
If we go back a few years, container and Kubernetes security were nowhere to be found in a standard security program, yet they’re now commonplace. Go back further and cloud security would have been a specialism to only a few. But like the business needs of today, the landscape has changed.
What hasn’t changed is security requirements. The automation opportunities, infrastructure and integrations available certainly have.
DevSecOps programs need flexibility built-in as standard to accommodate different types of security tools and allow security programs to mature without needing to be reinvented. There’s no use employing a system that doesn’t fill all the gaps.
Let the security processes and tech drive the security tooling used, rather than letting your security tool limitations affect your security processes. The first step is understanding what guardrails you’re looking for and work towards making that a success. Avoid setting yourself up for security failure by being aware of the challenges you’ll encounter.
This article is one of a series of challenges Uleska are discussing during the summer of 2021. We're publishing one a week, so check back for more information or follow us on LinkedIn. Other articles published so far include:
Challenge 1: How to approach DevSecOps security automation
Challenge 2: Fitting DevSecOps into CI/CD Pipelines
Challenge 3: Doing DevSecOps without constant CI/CD changes
Challenge 4: Using DevSecOps to reduce and focus issues raised