From a startup to a multinational corporation the software development industry is currently dominated by agile frameworks and product teams and as part of it DevOps strategies. It has been observed that during the implementation, security aspects are usually neglected or are at least not sufficient taken account of. It is often the case that standard safety requirements of the production environment are not utilized or applied to the build pipeline in the continuous integration environment with containerization or concrete docker. Therefore, the docker registry is often not secured which might result in the theft of the entire company’s source code.
The OWASP DevSecOps Maturity Model provides opportunities to harden DevOps strategies and shows how these can be prioritized.
With the help of DevOps strategies security can also be enhanced. For example, each component such as application libraries and operating system libraries in docker images can be tested for known vulnerabilities.
Attackers are intelligent and creative, equipped with new technologies and purpose. Under the guidance of the forward-looking DevSecOps Maturity Model, appropriate principles and measures are at hand implemented which counteract the attacks.
Go to https://dsomm.timo-pagel.de or clone this repository and run
In this video Timo Pagel describes different strategic approaches for your secure DevOps strategy. The use OWASP DSOMM in combination with OWASP SAMM is explained.
In case you have evidence or review questions to gather evidence, you can add the attribute "evidence" to an activity which will be attached to an activity to provide it to your CISO or your customer's CISO.
You can switch on to show open TODO's for evidence by changing IS_SHOW_EVIDENCE_TODO to true 'bib.php'
Join #dsomm in OWASP Slack. Create issues or even better Pull Requests in github.
In case you would like to perform a DevSecOps assessment, the following tools are available:
In case you would like to have perform an assessment for multiple teams, iterate from port 8080 to 8XXX, depending of the size of your team. In case the application should be visible, but the "Implementation Level" shouldn't be changeable, consider the following code:
#!/bin/bash set -xe IMAGE_NAME="<YOUR ORGANIZATION>/dsomm:latest" rm -Rf DevSecOps-MaturityModel || true git clone firstname.lastname@example.org:wurstbrot/DevSecOps-MaturityModel.git cp data/* DevSecOps-MaturityModel/data cp -a selectedData.csv DevSecOps-MaturityModel/selectedData.csv cd DevSecOps-MaturityModel docker build -t $IMAGE_NAME . docker push $IMAGE_NAME
This approach also allows teams to perform self assessment with changes tracked in a repository.
#!/bin/bash yum update -y yum install -y docker service docker start docker run -d -p 80:80 wurstbrot/dsomm:latest
To run basic tests just
docker-compose -f docker-compose.dev.yaml up test-php
dockerin the Juice Shop for simple copy&paste, Björn Kimminich.
(Time, Logo, Icons)
You are using the model or you are inspired by it, want to help but don't want to create pull requests? You can donate at the OWASP Project Wiki Page. Donations might be used for the design of logos/images/design or travels.
This program is free software: you can redistribute it and/or modify it under the terms of the GPL 3 license.
The intellectual property (content in the data folder) is licensed under Attribution-ShareAlike. An example attribution by changing the content:
This work is based on the OWASP DevSecOps Maturity Model.
The OWASP DevSecOps Maturity Model and any contributions are Copyright © by Timo Pagel 2017-2021.