Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

License

NotificationsYou must be signed in to change notification settings

devsecopsmaturitymodel/DevSecOps-MaturityModel

Repository files navigation

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.

Usage

Go tohttps://dsomm.owasp.org.

  • matrix shows the dimensions, subdimensions and activities are described.
  • Implementation Levels can be used to show the current implementation level by clicking on the specific activities which have been performed (it is recommended to use a gitops-like flow)
  • Mappings Shows mappings to other standards and provides the ability to download an excel sheet
  • Usage describes how to use DSOMM

In thisvideo Timo Pagel describes different strategic approaches for your secure DevOps strategy. The use OWASP DSOMM in combination withOWASP 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'define(IS_SHOW_EVIDENCE_TODO, true);

This page uses the Browser's localStorage to store the state of the circular headmap.

Changes

Changes to the application are displayed at the release page ofDevSecOps-MaturityModel.

Changes to the maturity model content are displayed at the release page ofDevSecOps-MaturityModel-data.

Community

Join #dsomm inOWASP Slack.Create issues or even better Pull Requests ingithub.

Slides and talks

Assessment

In case you would like to perform a DevSecOps assessment, the following tools are available:

  • Usage of the applicaton in acontainer.
  • Development of an export toOWASP Maturity Models (recommended for assessments with a lot of teams)
  • Creation of your excel sheet (not recommended, you want to use DevOps, don't even try!)

Container

  1. InstallDocker
  2. Rundocker pull wurstbrot/dsomm:latest && docker run --rm -p 8080:8080 wurstbrot/dsomm:latest
  3. Browse tohttp://localhost:8080 (on macOS and Windows browse tohttp://192.168.99.100:8080 if you are using docker-machine insteadof the native docker installation)

For customized DSOMM, take a look athttps://github.com/wurstbrot/DevSecOps-MaturityModel-custom.

You can download your current state from the circular heatmap and mount it again via

wget https://raw.githubusercontent.com/devsecopsmaturitymodel/DevSecOps-MaturityModel-data/main/src/assets/YAML/generated/generated.yaml# or go to /circular-heatmap and download edited yaml (bottom right)docker run -p 8080:8080 -v /tmp/generated.yaml:/srv/assets/YAML/generated/generated.yaml wurstbrot/dsomm:latest

.

This approach also allows teams to perform self assessment with changes tracked in a repository.

Amazon EC2 Instance

  1. In theEC2 sidenav selectInstances and clickLaunch Instance
  2. InStep 1: Choose an Amazon Machine Image (AMI) choose anAmazonLinux AMI orAmazon Linux 2 AMI
  3. InStep 3: Configure Instance Details unfoldAdvanced Details andcopy the script below intoUser Data
  4. InStep 6: Configure Security Group add aRule that opens port 80for HTTP
  5. Launch your instance
  6. Browse to your instance's public DNS
#!/bin/bashservice docker startdocker run -d -p 80:8080 wurstbrot/dsomm:latest

Generating thegenerated.yaml File

Thegenerated.yaml file is dynamically created during the build process. If you don’t see this file after setup, follow these steps to generate it:

1. Clone the Required Repository:Thegenerated.yaml file is built via the DevSecOps-MaturityModel-data repository. Make sure you have cloned and set it up correctly.

2. Run the Build Command:Navigate to the project directory and run the following command:

  • Using npm:
npm run build
  • Using yarn:
yarn build

If the file is missing, ensure all dependencies are installed and that you have the correct access to theDevSecOps-MaturityModel-data repository.

Activity Definitions

The definition of the activities are in thedata-repository.

Teams and Groups

To customize these teams, you can create your ownmeta.yaml file with your unique team definitions.

Assessments within the framework can be based on either a team or a specific application, which can be referred to as the context. Depending on how you define the context or teams, you may want to group them together.

Here are a couple of examples to illustrate this, in breakers the DSOMM word:

  • Multiple applications (teams) can belong to a single overarching team (application).
  • Multiple teams (teams) can belong to a larger department (group).

Feel free to create your ownmeta.yaml file to tailor the framework to your specific needs and mount it in your environment (e.g. kubernetes or docker).Here is an example to start docker with customized meta.yaml:

# Customized meta.yamlcp src/assets/YAML/meta.yaml .docker run -v $(pwd)/meta.yaml:/srv/assets/YAML/meta.yaml -p 8080:8080 wurstbrot/dsomm# Customized meta.yaml and generated.yamlcp src/assets/YAML/meta.yaml .cp $(pwd)/src/assets/YAML/generated/generated.yaml .docker run -v  $(pwd)/meta.yaml:/srv/assets/YAML/meta.yaml -v $(pwd)/generated.yaml:/srv/assets/YAML/generated/generated.yaml -p 8080:8080 wurstbrot/dsomm

In the correspondingdimension YAMLs, use:

[...]      teamsImplemented:        Default: false        B: true        C: true      teamsEvidence:        B: All team members completed OWASP Secure Coding Dojo training on 2025-01-11.         C: |          The pentest report from 2025 has been split into Jira tasks under          [TODO-123](https://jira.example.com/issues/TODO-123).                    _2025-04-01:_ All fixes of **critical** findings are deployed to production.

The| is yaml syntax to indicate that the evidence spans multiple lines. Markdownsyntax can be used. The evidence is currently visible on the activity from the Matrix page.

Back link

Your help is needed to perform

  • Adding a manual on how to use DSOMM
  • Integration of Incident Response
  • DevSecOps Toolchain Categorization
  • App Sec Maturity Models Mapping
  • CAMS Categorization
  • Adding assessment questions

Multilanguage support

Multilanguage support is not given currently and not planned.

Sponsors

Timo Pagel IT-Consulting

Apprio Inc

Heroku (hosting)

Donations

If 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 theOWASP Project Wiki Page. Donations might be used for the design of logos/images/design or travels.

License

This program is free software: you can redistribute it and/or modify it under the terms of theGPL 3 license.

The intellectual property (content in thedata folder) is licensed under Attribution-ShareAlike.An example attribution by changing the content:

This work is based on theOWASP DevSecOps Maturity Model.

The OWASP DevSecOps Maturity Model and any contributions are Copyright © by Timo Pagel 2017-2022.


[8]ページ先頭

©2009-2025 Movatter.jp