この記事では、DevOps ドメインのバズワードである DevSecOps について説明します。
DevOps はここ数年で成功を収めてきました。それは現在、あらゆる組織の中核となる実践の 1 つとなっています。開発チームと運用チームが連携することで、組織はより高品質な製品を迅速にリリースできるようになりました。
DevOps ツールとプラクティスを使用することで、ほとんどの作業がよりスムーズに自動化されています。
しかし、DevOps には課題がないと思いますか?
がある!

DevSecOps が必要な理由は何ですか?
Forrester の 調査によると、58% の企業でデータ侵害が発生しており、そのうち 41% はソフトウェアの脆弱性に起因しています。セキュリティ上のミスは、組織に多大な損害を与え、数百万ドルの損害を与える可能性があります。
- 2 年以上で 88% の成長とアプリケーションの脆弱性
- 脆弱性の 78% は間接的な依存関係で見つかります
- オープンソース開発者の 37% は継続的インテグレーション中にセキュリティを実装していません
- 開発者の 54% は Docker イメージのセキュリティ テストを行っていません
以前のウォーターフォール モデルでは、すべての要件を収集し、すべての要件に取り組み、数か月または数年後に完全な製品を提供していました。 DevOps では、完全な製品が繰り返しリリースされます。アプリケーションは 1 日に何百回も反復されることがありますが、ペネトレーション テスターはアプリケーションのセキュリティ上の欠陥を 1 日に 100 回も見つけることができるでしょうか?
答えはいいえだ!
開発者、管理者、アーキテクトは、クラウドで作業している場合、クラウド プロバイダーがセキュリティを管理しているため安全であると考えます。これは俗説であり真実ではありません。ほとんどの場合、クラウド上で作業している場合、攻撃にさらされる可能性が高くなります。
したがって、今日では、セキュリティはどの企業にとっても非常に重要な要素となっています。従来のセキュリティでは、DevOps の急速なペースに追いつくには不十分です。
ここで DevSecOps が役に立ちます。

DevSecOps とは何ですか?
DevSecOps は、DevOps ライフサイクルにセキュリティ ツールを統合する コード文化としてのセキュリティ です。 DevOps プロセスの一部としてのセキュリティは、リスクを軽減する唯一の方法です。
これは、DevOps プロセスの各フェーズにセキュリティの文化、慣行、ツールを組み込む変革的な変化です。これにより、開発、セキュリティ、運用チーム間のサイロが解消されます。
これは、シフトレフト アプローチに従います。これは、開発チームと運用チームにセキュリティ意識を提供し、サイバーセキュリティ要件を満たすために、設計/計画段階の早い段階でセキュリティ プロセスを導入することを意味します。
DevSecOps の実装方法の実践例は次のとおりです。
- 脅威モデルに関してセキュリティおよび開発チームと協力する
- 開発統合パイプラインへのセキュリティ ツールの統合
- 製品バックログの一部としてセキュリティ要件に優先順位を付ける
- 導入前にインフラストラクチャ関連のセキュリティ ポリシーを確認する
- セキュリティの専門家が自動テストを評価しています。
最新のテクノロジー革新は、DevSecOps において重要な役割を果たしています。コードとしてのセキュリティ、コードとしてのコンプライアンス、およびコードとしてのインフラストラクチャにより、多くの手動のセキュリティ活動が不要になり、全体的な効率が向上します。

DevSecOps 用ツール
セキュリティにギャップやボトルネックを生じさせずに DevSecOps 文化を展開するには、複数のソリューションを備えた多くのテクノロジー スタックが必要であり、これらを慎重に統合する必要があります。
以下に、重要かつトレンドの DevSecOps ツールをいくつか示します。
- SonarQube : コード品質の継続的な検査に使用されます。ソフトウェアの品質に関する継続的なフィードバックを提供します。
- ThreatModeler : エンタープライズ ソフトウェア開発ライフサイクルを拡張および保護する脅威モデリング ソリューションを提供します。セキュリティの脅威を予測、特定、定義し、時間とコストの節約に役立ちます。
- Aqua Security : 予防、検出、および対応の自動化を提供して、ビルドを保護し、クラウド インフラストラクチャを保護し、実行中のワークロードを保護します。これにより、アプリケーションのライフサイクル全体が保護されます。
- CheckMarx : ソフトウェア セキュリティ ソリューションの完全なスイート。このスイートは、静的および動的アプリケーションのセキュリティ テスト、ソフトウェア構成分析などのツール、開発者間のソフトウェア セキュリティ文化を促進するコード バッシングを提供します。
- Fortify : アプリケーションのセキュリティをサービスとして提供します。これは、安全な開発、セキュリティ テスト、継続的な監視と保護のために主に企業で使用されています。
- HashiCorp Vault : パスワード、トークン、API キー、証明書などの秘密を管理し、機密データを保護します。ここではさらに秘密のマネージャーを探索できます。
- GauntLT : 攻撃ツールを自動化するための動作駆動型開発ツール。組織のテストツールやプロセスと簡単に統合できます。
- IriusRisk : 運用レベルのアプリケーション セキュリティを大規模に提供します。テスト ツールとの双方向同期を使用し、リアルタイムのセキュリティ アクティビティ ビューを備えた問題トラッカーを使用して、脅威モデルとセキュリティ リスクを管理するのに役立ちます。
DevSecOps エコシステム
これは、DevSecOps エコシステムのさまざまなフェーズの流れです。ここでは、セキュリティ スキャンが完全なエコシステムの一部になります。
- 開発段階では、セキュリティ ツールとプラグインを IDE 環境に直接統合して、ソース コードの脆弱性を特定できます。
- 認証キーなどの安全でないデータ コンテンツをリポジトリにコミットできないようにするプリコミット フックを統合し、そのようなデータを開発者のマシン上にのみ保持することができます。
- バージョン管理は、シークレットの管理と構成をリポジトリ レベルで維持します。
- ビルド前とビルド後に、静的および動的なコードのレビュー、実行、フィードバックが保証されます。
- QA 環境では、セキュリティ スキャン、特にサードパーティ コンポーネントのスキャンがチェックされます。
- ステージング環境では脆弱性と侵入テストが実行され、結果は開発、品質、セキュリティの各チームと共有されます。
- Infrastructure as a Code、Compliance as a Code、および Security as a Code の実稼働環境での自動セキュリティ スキャンにより、多くの手動セキュリティ アクティビティが軽減されます。
- 最後に、環境を監視すると、セキュリティしきい値のアラートと通知が有効になります。
- 脆弱性管理は、DevSecOps エコシステム全体の一部になります。
結論
以上が DevSecOps の基本でした。 DevOps に興味がある場合は、組織内で DevSecOps 文化の推進と適用を開始する必要があります。このブログをチェックして、DevSecOps エキスパートの中核となる責任を理解することもできます。