OWASP DevSecOps ガイドライン

OWASP DevSecOps ガイドラインはどのようにしてセキュアなパイプラインを実装するかを説明し、ベストプラクティスを使用し、この事象に使用できるツールを紹介します。また、このプロジェクトは開発プロセスにおいてシフトレフトのセキュリティ文化を促進することに役立てようとしています。 このプロジェクトは開発パイプライン、つまり DevOps パイプラインを持つあらゆる規模の企業に役立ちます。 このプロジェクトでは、セキュアな DevOps パイプラインの展望を描き、カスタマイズされた要件に基づいてそれを改善していきます。

理想とする目標は "(設計やアプリケーションの脆弱性による) セキュリティ問題をできるだけ早く検出すること" です。

最初のステップ

DevSecOps とは DevOps にセキュリティを取り込むことです。しかし CI/CD のペースに追いつくためにはソフトウェア作成やテストの初期段階でセキュリティを注入する必要があります。

DevSecOps cycle

OWASP プロアクティブコントロール にはすべての開発者がアプリケーションをコーディングする際に実装しなければならないセキュリティコントロールのトップ 10 をリストしています。このセットは DevSecOps サイクルでコードを設計、記述、またはテストしなければならないときの出発点と考えてください。

また OWASP ソフトウエアセキュリティ保証成熟度モデル (Software Assurance Maturity Model, SAMM) にしたがって、成熟度に応じたセキュリティ要件 (およびその他) に対して考慮すべきことを確立することができます。

パイプラインに追加するもの

最初に、基本的なパイプラインに以下のステップを実装することを検討します。

  • 潜在的なクレデンシャルの漏洩を発見するために git リポジトリをスキャンする

  • SCA (ソフトウェアコンポジション解析)

  • SAST (静的アプリケーションセキュリティテスト)

  • IaC スキャン (Terraform, HelmChart コードをスキャンして設定ミスを発見する)

  • IAST (インタラクティブアプリケーションセキュリティテスト)

  • API セキュリティ

  • DAST (動的アプリケーションセキュリティテスト)

  • CNAPP (クラウドネイティブアプリケーション保護)

  • インフラストラクチャスキャン

  • 他のツールからの継続的なスキャン

  • コンプライアンスチェック

ソフトウェア開発ライフサイクル (SDLC) やソフトウェアアーキテクチャにしたがってパイプラインのステップをカスタマイズし、始めていれば段階的に自動化を追加することができます。 たとえば SAST/DAST からセキュリティコントロールが組み込まれた通常のテストスイートに切り替えたり、既知の脆弱な依存関係をチェックする監査スクリプトを追加することができます。

CI/CD は SecOps にとって有利であり、セキュリティ対策やコントロールのための特権的なエントリポイントとなります。 ただし、CI/CD ツールを使用して自動化を行う場合にはツール自体が攻撃対象領域を拡大することがよくあることに注意します。そのため、ソフトウェアのビルド、デプロイメント、および自動化にセキュリティコントロールを配置します。


目次:


OWASP ウェブサイトのプロジェクトページは こちら です

Last updated