Find me if you can ... Security in DevOps
I'm writing this post following several discussions, readings, trainings and certifications in the field of DevSecOps.
I confess that a few years ago, I was essentially considering static (SAST) and dynamic (DAST) Application Security Test (code analysis) behind the term DevSecOps .
Unfortunately, today it's impossible to stay with that idea, given that the DevOps approach is at the heart of the digital transformation, and with it the creation of new businesses and the ongoing releases of new features in a complex and dynamic technical environment ( including cloud).
Let's start with a few definitions to set the scene :
What is DevOps ?
DevOps is a software development approach that aims to improve collaboration between development (Dev) and operations (Ops) teams within an organization. The main goal of DevOps is to accelerate software delivery by automating development, testing, and deployment processes while fostering effective communication and collaboration between development and operations teams.
Key principles of DevOps include:
By adopting DevOps, organizations aim to enhance the flexibility, responsiveness, and quality of their software development processes, enabling them to deliver products more quickly while reducing risks and costs.
What are the main softwares for DevOps ?
Everyone has seen this image of the Infinity Loop ... the first time I think I saw it was in Ulysse 31 ....
This is a continuous evolution cycle. The need is specified, then it is developed, tested, and validated in a version before being deployed on the information system, all while being monitored to prepare for the application's evolution.
There are numerous tools and platforms available for implementing DevOps practices, and it can be challenging to distinguish major vendors because most DevOps solutions result from open-source efforts or contributions from various companies.
In a simplification attempt, which DevOps purists may contest, I would distinguish six major categories of vendors and some of the leaders :
These editors have tended to expand the features they provide to cover other services within the DevOps practice and even add security services.
Microsoft Azure, Amazon AWS, and Google GCP cloud providers also offer their solutions, which are particularly tailored to each of their environments.
It is important to note that the choice of DevOps tools depends on the specific needs of each organization, its technological infrastructure, and its development pipeline. Many companies opt for combinations of tools that best meet their requirements.
?What are the main Cybersecurity Vulnerabilities in DevOps ?
Unfortunately, they will appear throughout the DevOps process.
In other word, vulnerabilities can be in the code being developed, in the application dependencies or operating system (OS) packages, through credentials in plaintext , and in all the misconfigurations that may occur throughout the entire process, especially when the application is running.
Common vulnerabilities include missing data encryption, buffer overflows, missing authentication for critical functions and insecure interactions between software components.
Exposed secret is a risk at the different stages of the Software Development Lifecycle (SDLC) in some many components.
App code development relies heavily on open source software which is frequently built by combining multiple packages. Note on the graphic below the high percentage of codebases that contain a vulnerability.
Just as a reminder, three well-known exploits that were caused by vulnerable open source software and impacted significantly many organizations.
The survey below illustrates the challenges organization have to deal with and the risks they want to adress through DevSecOps .
As CI/CD environments, processes, and systems are the beating heart of any modern software organization, OWASP, well-known for the “Top 10 Web Application Security Risks” framework, released in november 2022, the “Top 10 CI/CD Security Risks”framework :
(for more details about theses risks and guidance for mitigating them).
It's a losing battle for cybersecurity if it's not fully integrated into the DevOps process, so that it can reduce risk while not creating too much friction.
What does that mean ?
I would use my favorite triad to detail them, namely PEOPLE, PROCESS, and TECHNOLOGY.
领英推荐
PEOPLE
Vulnerability management and remediation cannot be centralized within security teams because the ratio between developers and security engineers is too imbalanced (beyond 1 to 100 in some organizations). To a lesser extent, the same issue arises with teams responsible for hybrid infrastructure (on-premises and cloud) during application deployment and operation.
Therefore, all these stakeholders must be involved, even responsible for securing a part of the process. They need to be made aware of risks, understand how they work, and be provided with solutions to address these risks as easily and quickly as possible.
PROCESS
DevSecOps is an extension of the DevOps approach that integrates security (Sec) throughout the software development lifecycle. The main goal of DevSecOps is to ensure that security is considered from the beginning of the development process, rather than added later when it becomes complicated, costly, and obstructive.
Key processes in the security part of DevSecOps include:
TECHNOLOGY
The list of security controls is constantly increasing. These controls are carried out throughout the development cycle.
The diagram below is a good summary of the controls, and the associated steps.
In terms of the categories defined by the Gartner around the security within DevOps , there are at least :
There has clearly been a convergence over the past few years, with the demise of the CWPP and CSPM, gradually replaced by the CNAPP, as well as the AST players addressing container and API security, areas also covered by several CNAPP vendors.
What is included today as part of the DevSecOps may evolve as the market is highly dynamic and continues to experience rapid evolution in response to changing application architectures and enabling technologies.
So, where do we start ?
Like any self-respecting former consultant, I would say it depends !
Several factors need to be considered, namely :
One thing is sure - without an assessment of the current situation, any initiative to secure the process could be of limited effectiveness, or even counterproductive, especially if it only involves pointing out the presence of numerous vulnerabilities, implying incompetence from the DevOps teams.
Therefore, visibility would be, in my opinion, the first necessary step for any improvement in the DevSecOps process.
The second step is defined a plan agreed by the different stakeholders ( Dev, Sec and Ops)
Conclusion
Like the CI/CD process, this article will evolve to incorporate improvements or correct any potential mistakes.
Feel free to comment
Sources and additional materials :
Country Manager at Checkmarx
10 个月Thank you for this analysis , Yann Fareau ! we know this market will consolidate in the coming months / years .. At Checkmarx, we position a unified approach including SAST,SCA, SCA, API security , DAST, Container and IaC Security - with the objective to eliminate the need for multiple tools and fragmented worflows #DevSecTrust#Appsec#From Code to Cloud
Founder @ Bridge2IT +32 471 26 11 22 | Business Analyst @ Carrefour Finance
10 个月Your post perfectly captures the essence of DevOps and its impact. Thanks for sharing! ????
Founder @ Bridge2IT +32 471 26 11 22 | Business Analyst @ Carrefour Finance
10 个月Your post perfectly captures the essence of DevOps and its impact. Thanks for sharing! ????