Giter VIP home page Giter VIP logo

devsecopsguideline's Introduction

OWASP DevSecOps Guideline

The OWASP DevSecOps Guideline explains how we can implement a secure pipeline and use best practices and introduce tools that we can use in this matter. Also, the project is trying to help us promote the shift-left security culture in our development process.
This project helps any companies of each size that have a development pipeline or, in other words, have a DevOps pipeline. We try to draw a perspective of a secure DevOps pipeline during this project and then improve it based on our customized requirements.

The Ideal goal is "detect security issues (by design or application vulnerability) as early as possible."

Initial steps

DevSecOps is all about putting security into DevOps. But to keep up with the pace of CI/CD, security has to be injected early into software writing and testing.

DevSecOps cycle

OWASP Proactive Controls lists the top 10 security controls every developer has to implement while coding any application. Consider this set as the starting point when you have to design, write or test code in the DevSecOps cycle.

You can also follow the OWASP Software Assurance Maturity Model (SAMM) to establish what to consider for security requirements (and more) according to your maturity level.

What to add in a pipeline

DevSecOps pipeline At first, we consider implementing the following steps in a basic pipeline:

  • Scan git repositories for finding potential credentials leakage.
  • SCA (Software Composition Analysis)
  • SAST (Static Application Security Test)
  • IaC Scanning (Scanning Terraform, HelmChart code to find misconfiguration)
  • IAST (Interactive Application Security Testing)
  • API Security
  • DAST (Dynamic Application Security Test)
  • CNAPP (Cloud Native Application Protection)
  • Infrastructure scanning
  • Continuous Scanning from other tools
  • Compliance check

We can customize the steps of our pipeline according to our Software Development Life Cycle (SDLC) or software architecture and add automation progressively if we are starting. For instance, we can switch from SAST/DAST to a regular test suite with built-in security controls or add an audit script checking for known vulnerable dependencies.

CI/CD is an advantage for SecOps, a privileged entry point for security measures and controls. However, when using CI/CD tools to provide automation, keep in mind that the tools themselves often expand your attack surface, so put security controls on building, deployment, and automation software.


Table of Contents:


The project page on the OWASP website is here

devsecopsguideline's People

Contributors

ali-yazdani avatar cirku17 avatar cmandesign avatar coadaflorin avatar dnavarrom avatar iman4000 avatar ioggstream avatar kur05uke avatar kursatoguzhanakinci avatar mbareck7 avatar miladbr avatar milanowasp avatar mohammadkamrani avatar oppedijk avatar paras-malhotra avatar planetlevel avatar raminfp avatar resxar avatar ridershow avatar sergiomarotco avatar sude29537 avatar sumitvgithub avatar vijulp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

devsecopsguideline's Issues

Add privacy to the security guideline

Since we are dealing with several privacy laws and regulations, I believe it makes sense to add a privacy component to the DevSecOps security guideline.

Provenance

Add steps with provenance generating on Build and provenance check on Deploy

Add open source solution

Gitlab security pipelines
Can be found: https://gitlab.com/whitespots-public/pipelines

With Security stage integrated into your team's pipelines, on, let's say, every release, Security stage is run and trigger Security pipelines to do the job. Security stage itself doesn't affect your time-to-market.
Security pipelines combine different types of security scanners in one "Security" stage.
Scans reports are sent to DefectDojo, where triage begins.

Pipelines integration instructions: https://www.youtube.com/watch?v=DLN1kNh_Ha0
SSDLC based approach is described here: https://www.youtube.com/watch?v=6FGV4OcrIB8
How to work with DefectDojo tutorial: https://www.youtube.com/watch?v=_uFOIf1BUwU

We are contributing to this project for about 2 years and are ready to share. Hope it worth being added here.

Pipeline Tampering Risks & Prevention

Hi folks,
As a DevSecOps practitioner for many sizes of development, there is a critical one for maintaining DevSecOps Pipeline to prevent integrity violation and DRY principle with the pipeline consuming

Abstraction Ideas:

  • Pipeline definition store as separate repos
  • Consuming pipeline as git sub-modules
  • Pipeline call should be visible and measured

Benefits:

  • Pipeline enforcement
  • Pipeline integrity
  • Pipeline scalability

I'm happy to help but not so sure which category should we put it on

SCA - Software Composition Analysis

Hello there,

I would like to propose to add a SCA scanning close do SAST. Many security problems in software are related with libs with opened CVE issues.

Adding IAST - Interactive Analysis

I see no mention of IAST on the tools lists.
It's a very powerful technique that people could benefit from, especially if they already have some automated functional testing. Technically it's much faster than DAST and the sync between HTTP requests and stack is very useful in debugging.

Location:
As soon as you have something running you can do IAST on it. So I'd say potentially right next to or before the DAST component. Also, if you do DAST and perform some automatic crawl of the application a lot of times that will help the IAST tool. IAST is dependent on external traffic to have something to monitor.

Dependency Security Management & Continuous Dependency Remediation

In the modern AppSec program, it's necessary to "shift-left" security & governance for dependency from the Code to the Plan stage.

Conceptual approach

Plan phrase:

For OSS Dependency:

For vendor and third-party dependency:

  • Involve SBOM as artifacts release manifest in order to be aware of downstream dependencies. The benefits of the SBOM approach allow the security team to perform security assessments without the need for source code - might not available with third-party

Building private dependencies registry to secure store and sign-off for dependency to prevent availability and tampering issues from upstream maintainers

Code phrase:

  • Setup proper dependency security scanning tool in CI/CD pipeline
  • Setup Dependency Vulnerability Assessment to continuously scan and alerts for new finding developers

Software Composition Analysis & Supply Chain Risk Management

Hey!

I see that the SCA is a little bit less developed than other parts of the doc, so I'd be happy to expand on this to include various techniques, technologies, tools, and workflows on how this is done in a real-world scenario. Let me know if that's what you're interested in. I also gave a talk about it here.

Access Controls in pipeline config

Hey All,
I can provide some content about accessing to pipeline configs, user types and branch protection to secure pipeline config files.
Is this topic sound valuable for you?
Thnks.

How to access the document

Hi, is there a place where the full documentation is available for easy consumption as a web page or PDF?

I can go through the markdown files on the document folder but I feel like there should be a consolidated document published somewhere (maybe the OWASP project page?) to make it easier to read and reference.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.