DevSecOpsとは?実現するメリットやツール、注意点を解説

DevSecOpsとは、開発チームと運用チームが開発サイクルの全工程で連携する「DevOps」に、セキュリティを融合させた考え方です。

柔軟かつスピーディな開発が求められると同時にセキュリティの重要性も高まっている今、「DevSecOps」の考え方が注目されています。

本記事では、DevSecOpsの基礎知識から、実現するための方法、注意点までを解説します。

➡︎【資料ダウンロード】DXを加速させる「アジャイル手法」の教科書

DevSecOpsとは

DevSecOpsとは、ソフトウェアやシステムの開発サイクルの全工程で開発(Development)と運用(Operation)が連携する「DevOps」に、セキュリティ(Security)を融合させた考え方です。

従来のウォーターフォール開発では、開発の最終段階にセキュリティチームが加わり、セキュリティ対策を施していました。しかし、DevOpsアジャイル開発など、開発サイクルを1~4週間といった短期間で回す手法が採用されるようになると、従来の追加型のセキュリティ対策ではプロジェクトの遅延を招くという問題が浮上しました。

そこで登場したのが、DevSecOpsです。DevSecOpsでは、開発からリリース、運用までの全工程にセキュリティ対策を統合し、開発チーム、運用チーム、セキュリティチームの全員が、共同でセキュリティに責任を持ちます。

これにより、安全なシステムやソフトウェアを迅速かつ低コストで届けられるようになりました。

★アジャイル開発について詳しくはこちら

➡︎【資料ダウンロード】DXを加速させる「アジャイル手法」の教科書

DevOpsとは

DevOpsとは、開発(Development)と運用(Operations)を組み合わせた言葉です。

開発と運用は、それぞれ「新機能の追加」と「システムの安定稼働」という異なるミッションを有しているため、両チームは対立しがちです。これに対してDevOpsは、開発プロセスや組織文化を変革し、開発チームと運用チームの連携を促します。

DevOpsの考え方を取り入れて開発と運用が連携することで、価値の高いソフトウェアを迅速に市場に届けることができます。

★DevOpsについて詳しくはこちら

DevOpsとDevSecOpsの違い

DevOpsでは、開発チームと運用チームの連携によるスピーディな開発を目指します。DevSecOpsでは、この連携にセキュリティチームも加わります

開発チーム、運用チーム、そしてセキュリティチームが開発サイクルの全工程において連携することで、開発の初期段階からセキュリティが組み込まれ、スピードを落とすことなく安全性の高いソフトウェアを開発できます。

DevSecOpsの必要性

DevOpsには、開発期間を短縮し、リリース頻度を高め、価値の高いソフトウェアを迅速に市場に届けられるメリットがあります。

一方で、要件定義からリリース、運用までのサイクルを短期間で繰り返すため、セキュリティ対策が疎かになる、もしくはリリースの度にテストが必要になることで工数が増えるという問題があります。

そのため、開発サイクルの初期段階からセキュリティチームが加わり、全工程にわたってセキュリティを組み込んだ開発・運用ができるDevSecOpsを導入する必要があるのです。

DevSecOpsの現状

IPAが発表した『DX白書2023』によると、DX実現に向けたITシステムの開発手法としてDevSecOpsを活用している日本企業(「全社的に活用している」「事業部で活用している」の合計)は、わずか9.1%にとどまります。

一方、米国を見ると52.9%と5割を超えています。日本のDevSecOpsの活用状況は、米国に比して大幅な遅れをとっていると言わざるをえません。

DX(デジタルトランスフォーメーション)とは、デジタル技術の浸透によって人々の生活をより良いものへと変革することです。企業においてDXは、業務フローの改善や新たなビジネスモデルの創出のみならず、レガシーシステムからの脱却や企業風土の変革をも意味します。

日本企業におけるDXを推進するためにも、積極的なDevSecOpsの活用が期待されます。

★DXについて詳しくはこちら

★DX推進に関わるセキュリティリスクについて詳しくはこちら

➡︎【資料ダウンロード】さまざまな業界のDX推進事例をわかりやすく解説「DX事例集」<2024年版>

DevSecOpsのメリット

DevSecOpsには、主に「セキュリティの強化」「セキュリティとアジリティの両立」「ビジネス需要への柔軟な対応」という3つのメリットがあります。

セキュリティの強化

DevSecOpsでは、開発サイクルの各段階でセキュリティ対策を組み込むため、脆弱性を早期に発見して対処することが可能です。そのため、脅威を最小限に抑えてセキュリティを強化することができます

スピードと価値の向上ばかりが重視されがちな短期間の開発サイクルにおいて、「セキュリティの強化」というメリットはDevSecOpsの最大の強みといえます。

セキュリティとアジリティの両立

DevSecOpsでは、安全性を重視しながら、開発スピードを維持することも可能です。検知したセキュリティリスクを都度修正することで手戻りを最小化し、開発スピードを向上させることができます。

ビジネス需要への柔軟な対応

顧客のニーズやテクノロジーが日々変化する環境において、ビジネス需要に柔軟に対応できることも、DevSecOpsの大きなメリットのひとつです。

DevSecOpsでは、開発・運用・セキュリティのチームが一体となってコミュニケーションをとりながら、安全なソフトウェア開発を進めていきます。このため、各チームが独立して開発を進める手法と比べて、迅速かつ柔軟にニーズに応じた修正や変更に対応できます。

➡︎【資料ダウンロード】DXを加速させる「アジャイル手法」の教科書

DevSecOpsを支える4つの柱

米国国防総省が公開している DevSecOps に関するホワイトペーパー 『DoD Enterprise DevSecOps Reference Design』では、DevSecOpsを支える「4つの柱」として、「組織」「プロセス」「テクノロジー」「ガバナンス」を挙げています。DevSecOpsを実現するには、これら4つの要素が必要です。

組織

DevSecOpsに取り組む組織はまず、組織文化を変える必要があります。

チーム全員でセキュリティに対する責任を共有することを確認し、コミュニケーションとコラボレーションを強化しましょう。また、チームで共同作業ができるよう、実用的なセキュリティ・品質保証(QA)情報を共有できる環境を整えることも重要です。

心理的安全性のある文化を醸成すること、成功と失敗の両方から学ぶこと、システム設計の改善やインシデント対応能力を強化することも求められます。フィードバック受け入れて、新要件に対応できる組織を作りましょう。

プロセス

DevSecOpsにおけるプロセス設計は、チーム全体の協働によるものでなくてはなりません。テクノロジーやツールを駆使したプロセスの自動化は必須ですが、ときには人の介在も必要です。

小さく始めて、プロセスを繰り返す中で改善を重ねましょう。DevSecOpsでは、テスト駆動型の開発とサイクルの反復によって継続的に改善を図ります。

テクノロジー

テクノロジーの例としては、各種ツールの適用やクラウド・コンテナ技術の活用などが挙げられます。

開発サイクルを自動化する技術や、インフラ環境のコード化(IaC:Infrastructure as Code)による管理の自動化、セキュリティポリシーのコード化(SaC:Security as Code)によるコンプライアンスチェックや監査の自動化も取り入れましょう。

テクノロジーの導入は、開発サイクルを短縮し、効率化するために不可欠な要素です。

ガバナンス

DevSecOpsでは、組み込み型のガバナンス制御を行います。統一されたポリシーを適用すること、データ駆動型の検証を行うこと、ガバナンスの視認性を高めることも重要です。

DevSecOpsのガバナンスにおいては、運用とモニタリングも含めた開発サイクルの全工程で、積極的な評価とリスクマネジメントが求められます。

➡︎【資料ダウンロード】DXを加速させる「アジャイル手法」の教科書

DevSecOpsを実現するためのアプローチ

DevSecOpsを実現するためのアプローチは、主に「シフトレフト」「セキュリティの自動化」「セキュリティ文化の醸成」「継続的な監視・改善」の4つです。

シフトレフト

シフトレフトは、セキュリティ対策を組み込む段階を、開発プロセスの右から左へと移動させるアプローチです。

シフトレフト

従来のセキュリティ対策は、プロセスの最終段階、つまり開発プロセスの一番右側で施されるものでした。DevSecOpsは、これを左側へ移動させて、開発プロセスの初期段階からセキュリティ対策を組み込む考え方です。

プロセスの序盤からセキュリティチームが開発に加わり、開発チームはセキュリティを実装しながらシステムを構築します。

セキュリティの自動化

セキュリティとアジリティを両立するには、セキュリティの自動化が欠かせません。

開発スピードを落とさずにセキュリティを開発プロセスに組み込めるよう、セキュリティ機能を搭載した統合開発環境や自動セキュリティテストを活用するとよいでしょう。

セキュリティ文化の醸成

従来は、開発・運用・セキュリティは別々のチームが担っていました。したがって、「セキュリティはセキュリティチームが担うもの」という感覚が強く、開発チームや運用チームのセキュリティ理解はあまり深くありませんでした。

DevSecOpsは、開発・運用チームもセキュリティチームと同様に、セキュリティについて責任を負うという考えを前提としています。

セキュリティ文化を醸成するには、ツールの導入だけでは足りません。セキュリティ教育やトレーニングを通じて、セキュリティをチーム全体の文化として共有できるようにしましょう。

継続的な監視・改善

DevSecOpsを実現するには、継続的な監視・改善のアプローチも効果的です。

DevSecOpsのもとでは、開発サイクルの反復によってプロダクトの安全性と品質が向上していきます。このため、開発段階だけでなく運用段階でも、セキュリティを継続的に監視する必要があります。

監視を続けるなかでセキュリティの脆弱性が見つかるたびに改善し、セキュリティを強化するアプローチをとりましょう。

➡︎【資料ダウンロード】DXを加速させる「アジャイル手法」の教科書

DevSecOpsを実装するツール

DevSecOpsを実現するには、ツールを活用してセキュリティ対策を最大限自動化することが重要です。DevSecOpsを実装するツールを4種類紹介します。

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

SAST(Static Application Security Testing:静的アプリケーションセキュリティテスト)は、チームが開発したソースコードをスキャンして、静止状態でコーディングエラーやセキュリティの脆弱性を検出するツールです。

開発の初期段階の設計・構築工程でSASTを使用することで、開発チームの安全なコーディングを助け、シフトレフトを実現できます。

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

SCA(Software Composition Analysis:ソフトウェアコンポジション解析)は、オープンソース・コンポーネントの既知の脆弱性を特定するためのツールです。このツールでは、パッチ適用が必要な古いコンポーネントか否か、適用できるパッチがあるか否かも判定できます。

SASTは主に開発サイクルの初期段階に用いられるのに対し、SCAは設計工程から運用工程にかけて継続的に用いられます。

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

DAST(Dynamic Application Security Testing:動的アプリケーションセキュリティテスト)は、ソースコードにアクセスしたりソースプログラムを可視化したりせずに、実行中のアプリケーションを検査するテストツールです。

外部ハッカーによるアプリケーションへの侵入や攻撃をシミュレートすることで、SASTでは検出できないセキュリティ上の脆弱性を発見します。

DASTは、QA環境から運用までの工程で用いられます。

対話型アプリケーションセキュリティテスト(IAST)

IAST(Interactive Application Security Testing:対話型アプリケーションセキュリティテスト)は、アプリケーションの実行中の挙動を監視し、セキュリティ上の欠陥や脆弱性を発見するためのツールです。

IASTは、SASTとDASTのハイブリッドなテストツールで、アプリケーションの実行中にリアルタイムでコードに含まれる脆弱性を発見できます。DevSecOpsが目指す迅速な開発サイクルを実現できるツールです。

➡︎【資料ダウンロード】DXを加速させる「アジャイル手法」の教科書

DevSecOpsの注意点

最後に、DevSecOpsを実行する上での注意点について解説します。

開発・運用チームの生産性を保つ

開発サイクルにセキュリティ対策を組み込むことでセキュリティが強化できたとしても、それによって開発・運用のサイクルが停滞してしまっては、DevSecOpsのメリットが損なわれてしまいます。

自動化の仕組みやツールの活用、組織体制やルールを整備することで、開発・運用のサイクルを効率的に循環させる工夫が必要です。

ツールに頼りすぎない

一方で、ツールに頼りすぎてしまうことも要注意です。ツールの導入は目的ではなく、手段でしかありません。

単にツールを導入して満足するのではなく、ツールを導入する目的からセキュリティ意識、チームの課題や目標、ポリシーまでを、組織全体で共有しておくことが大切です。

➡︎【資料ダウンロード】DXを加速させる「アジャイル手法」の教科書

まとめ:セキュリティとアジリティを両立するDevSecOpsでDX推進

DevSecOpsは、開発プロセスの初期段階からセキュリティを組み込み、開発・運用・セキュリティチームの協働によって、セキュリティとアジリティの両立を実現する考え方です。

DevSecOpsを実装するには、ツールの導入のみならず、組織文化の変革も不可欠です。DXを推進する上でも、是非DevSecOpsを取り入れてみてください。

➡︎【資料ダウンロード】DXを加速させる「アジャイル手法」の教科書

サービス・プロダクト開発を検討している企業ご担当者様へ

モンスターラボは、約20年にわたるサービス・プロダクト開発実績から得られたデジタル領域の知見や技術力を活かし、デジタルプロダクト開発事業を展開しています。

先端テクノロジーに対応した高度なIT人材があらゆるプラットフォーム上での開発を支援します。アジャイル開発とDevOpsによる柔軟な開発進行や、国内外のリソースを活用したスケーラブルな開発体制の構築も可能です。 また、リリース後の保守運用や品質向上支援まで伴走可能です。

モンスターラボが提供するサポートの詳しい概要は以下リンクをご確認ください。

➡︎モンスターラボのサービス概要はこちら

案件の相談はこちら

直近のイベント

記事の作成者・監修者

平田 大祐(株式会社モンスターラボ 常務執行役員)

平田 大祐(株式会社モンスターラボ 常務執行役員)

2004年IBMグループに入社し、IBM ITスペシャリストとしてシステム開発に従事。 2009年からベンチャー企業にて受託開発、コンテナ型無人データセンターの管理システム、ドローン開発などソフトウェアからハードウェア開発まで幅広く関わる。チーフテクノロジストとして2015年にモンスターラボへ入社し、2018年4月より最高技術責任者であるCTOに就任。 プロフィールはこちら