OWASP DevSecOps ガイドライン
Last updated
Last updated
OWASP DevSecOps ガイドラインはどのようにしてセキュアなパイプラインを実装するかを説明し、ベストプラクティスを使用し、この事象に使用できるツールを紹介します。また、このプロジェクトは開発プロセスにおいてシフトレフトのセキュリティ文化を促進することに役立てようとしています。 このプロジェクトは開発パイプライン、つまり DevOps パイプラインを持つあらゆる規模の企業に役立ちます。 このプロジェクトでは、セキュアな DevOps パイプラインの展望を描き、カスタマイズされた要件に基づいてそれを改善していきます。
理想とする目標は "(設計やアプリケーションの脆弱性による) セキュリティ問題をできるだけ早く検出すること" です。
DevSecOps とは DevOps にセキュリティを取り込むことです。しかし CI/CD のペースに追いつくためにはソフトウェア作成やテストの初期段階でセキュリティを注入する必要があります。
潜在的なクレデンシャルの漏洩を発見するために git リポジトリをスキャンする
SCA (ソフトウェアコンポジション解析)
SAST (静的アプリケーションセキュリティテスト)
IaC スキャン (Terraform, HelmChart コードをスキャンして設定ミスを発見する)
IAST (インタラクティブアプリケーションセキュリティテスト)
API セキュリティ
DAST (動的アプリケーションセキュリティテスト)
CNAPP (クラウドネイティブアプリケーション保護)
インフラストラクチャスキャン
他のツールからの継続的なスキャン
コンプライアンスチェック
ソフトウェア開発ライフサイクル (SDLC) やソフトウェアアーキテクチャにしたがってパイプラインのステップをカスタマイズし、始めていれば段階的に自動化を追加することができます。 たとえば SAST/DAST からセキュリティコントロールが組み込まれた通常のテストスイートに切り替えたり、既知の脆弱な依存関係をチェックする監査スクリプトを追加することができます。
CI/CD は SecOps にとって有利であり、セキュリティ対策やコントロールのための特権的なエントリポイントとなります。 ただし、CI/CD ツールを使用して自動化を行う場合にはツール自体が攻撃対象領域を拡大することがよくあることに注意します。そのため、ソフトウェアのビルド、デプロイメント、および自動化にセキュリティコントロールを配置します。
2-2-3-インタラクティブアプリケーションセキュリティテスト (Interactive-Application-Security-Testing)
2-2-1-1-プレコミット (Pre-commit)
2-2-1-2-シークレット管理 (Secrets-Management)
2-2-1-3-コードのリンティング (Linting-code)
2-2-1-4-リポジトリ堅牢化 (Repository-Hardening)
2-2-2-1-静的アプリケーションセキュリティテスト (Static-Application-Security-Testing)
2-2-2-2-ソフトウェアコンポジション解析 (Software-Composition-Analysis)
2-2-2-3-Infastructure as Code (Infastructure-as-Code-Scanning)
2-2-2-4-1-コンテナスキャン (Container-Scanning)
2-2-2-4-2-コンテナ堅牢化 (Container-Hardening)
2-3-1-動的アプリケーションセキュリティテスト (Dynamic-Application-Security-Testing)
2-3-3-API セキュリティ (API-Security)
2-3-4-構成ミスチェック (Miss-Configuration-Check)
2-4-1-クラウドネイティブセキュリティ (Cloud-Native-Security)
2-4-2-ログ記録と監視 (Logging-and-Monitoring)
2-4-3-ペンテスト (Pentest)
2-4-4-脆弱性管理 (Vulnerability-Management)
2-4-6-侵害と攻撃のシミュレーション (Breach-and-attack-simulation)
3-3-1-成熟度追跡 (Tracking-maturities)
にはすべての開発者がアプリケーションをコーディングする際に実装しなければならないセキュリティコントロールのトップ 10 をリストしています。このセットは DevSecOps サイクルでコードを設計、記述、またはテストしなければならないときの出発点と考えてください。
また にしたがって、成熟度に応じたセキュリティ要件 (およびその他) に対して考慮すべきことを確立することができます。
最初に、基本的なパイプラインに以下のステップを実装することを検討します。
OWASP ウェブサイトのプロジェクトページは です