Skip to main content

Adopting DevSecOps

Updated Mar 17, 2021 ·

Accelerate Digital Transformation​

As a refresher, the different phases of DevOps include:

  • Planning

    • Business features are defined
    • Backlogs are created and tasks are prioritized
    • Impementing Scrum and Kanban
  • Coding

    • Implementation of small chunks of software untis
    • Automated builds are versioned and stored in repository
  • Testing

    • Automation suites are used
    • Perform code covergae and dynamic analysis
    • Implement techniques such as Test-Driven Development (TDD)
  • Release

    • CICD Pipeline is leveraged
    • End-to-end testing, making software ready for deployment
  • Deployment

    • Utilize tools such as Ansibel, uppet, and Chef for configuration management
  • Operate

    • Monitor systems through metrics, alerts, and health checks

Avoid Late Security Checks​

Avoiding security checks that are late in the release cycle prevents:

  • Slower release cycles and slower throughput
  • Higher cost
  • Breakdown of Agile and DevOps practices

Security threats are constantly evolving and organizations require application with improved response to these threats. As a possible solution, we can follow the "Rugged Manifesto".

Enter the "Rugged Manifesto"​

"Rugged" describes software development organizations that have culture of rapidly evolving their ability to create available, survivable, defensible, secure, and resilient software.

  • Security as the primary consideraton at every phase
  • Makes DevSecOps and DevOps are both critical in an environment
  • Adds robust security methods to traditional DevOps practices
  • Add increased trust, transparency, and clearer understanding of probable risk
  • Adopt security measure into all stages of software design and requirements

Secure Devops for Application Security​

DevSecOps signifies a shift in security as it orchestrates and integrates config management.

Planning:

  • Address security at planning stage
  • Prepare threat modelling and data flow diagram

Coding:

  • Security architecture should be done with code inspector and environment hardening
  • Choose security tools and solutions that integrate within the development environment

Testing:

  • Interactive applications can help in instrumenting the app from the inside
  • Perform other activites such as protocol and input fuzzing, and application vulnrability correlation

Release Phase:

  • Further security checks can be done, such as penetration testing

Deployment Phase:

  • Harden the system
  • Binary is signed and timestamped in the config phase
  • Signatures are checked before deploying to the CICD pipeline
  • Perform chaos testing to observe how application behaves in unsual circumstances

Operate:

  • Check signature of binaries
  • Focus on configuration assurance at instantiation by security controls

Monitor:

  • Not all vulnerabilities will be identifies, and some may reach production
  • Continuous monitoring can check for irregular behavior in production

Business-Driven Strategies​

1. Build Security Champions in DevOps

  • Promote respect between developers, security, and business.
  • Include security experts in DevOps to balance priorities.
  • Understand security concerns and learn product vulnerabilities.

2. Embed Security in DevOps Processes

  • Align processes for quick delivery.
  • Treat features and defects equally.
  • Foster collaboration and prioritize incremental improvements.

3. Integrate Security Tools in DevOps

  • "Shift-left" to consider security early.
  • Use automatic audit trails and security gates.
  • Utilize data from security tools and test readiness with security exercises.

OWASP Security Guidelines​

The Open Web Application Security Project® (OWASP) is a nonprofit focused on enhancing software security. It offers resources on security methodologies, tools, and technologies.

The OWASP Top 10 is a widely accepted resource for developers and security professionals. It highlights the most critical security risks facing web applications.

Resources​