Columnコラム

DevSecOpsとは?
DevOpsとの違いや
メリット、ツールの種類を紹介

2023年2月3日

ご相談・無料お見積り

DevSecOpsとは、計画から開発、運用までのサイクルを迅速かつ継続的に行うDevOps(デブオプス)という概念に、セキュリティを組み込んだソフトウェア開発手法です。
この記事では、DevSecOpsとは何か、DevOpsとの違いやメリット、実現のために必要な3つの要素について解説します。

DevSecOpsとは

DevSecOpsは、「Development(開発)」+「Operations(運用)」+「Security(セキュリティ)」の頭文字を組み合わせて作られた造語です。

DevSecOpsは計画から開発、運用までのサイクルを迅速かつ継続的に行うDevOpsという概念に、セキュリティを組み込んだソフトウェア開発手法です。
「要件定義」→「設計」→「実装(開発)」→「テスト」→「リリース(デブロイ)」まで、すべての開発工程にセキュリティを融合させることで、スピーディーかつ安全性の高い開発を目指します。

DevOpsとの違い

DevOpsでは、アジャイル開発の手法を用いて、迅速かつ継続的なリリースを目指す概念です。
単にリリーススピードを速めるというだけではなく、品質の高いプロダクトやサービスを継続的にリリースし続けることで、顧客満足度の向上はもちろん、ビジネスにおける競争力の強化にもつながります。

しかし、DevOpsにはセキュリティの概念が組み込まれていないケースが多く、リリース直前にサイバーセキュリティに関わる脆弱性が発覚した場合、その修正には手間と時間がかかります。
これにより、継続的なリリースが妨げられてしまう点が問題視されていました。

そこで生まれたのが、DevOpsにセキュリティの概念を組み込んだDevSecOpsなのです。

DevSecOpsが注目される理由

サイバー攻撃が多様化し、年々被害が多く報告されてきているという状況から、脆弱性の検知と対応のスピードを向上させることが求められています。

一方で、既存のDevOpsの開発プロセスでは、リリース(デブロイ)後に脆弱性診断を行うケースが多く、多くの手戻り工数がする可能性もあることから、十分なスピードで対応できているとは言い切れない状況です。

DecSecOpsは、「シフトレフト(Shift Left)」によりセキュリティの早期対策を実現し、各開発工程での成果物品質を高めるというのが基本の考え方です。
品質を高めることで、セキュリティ診断とその後の修正工程において開発生産性向上も実現できます。

DevSecOpsのメリット

DevSecOpsを導入することで、以下のようなメリットが得られます。 

品質向上

リリース直前の診断では、期限も限られているため、すべての脆弱性にすぐに対応できないこともあります。
DecSecOpsの導入により、問題に対して早い段階で対応することができ、対応できる範囲も広くなるため、品質の向上が見込めます。 

リリーススピードの向上

脆弱性の対応は、後工程に進むほど、開発工程を遡って修正が必要なため、工数がかかってしまいます。
DecSecOpsでは、シフトレフトによる早期発見で対応にかかるコストを削減し、かつリリーススピードの向上が期待できます。

開発を進める上での安心感

既存のDevOpsの開発プロセスでは、リリース直前のセキュリティ診断までアプリケーションに含まれる脆弱性が分からず、診断後の修正にかかる期間や体制に不安を覚えることもあると思います。
DecSecOpsなら、開発者やマネージャーは開発プロセスの早い段階でアプリケーションに含まれる脆弱性やバグを検知・確認できるため、対応状況を管理しながら開発を進めることが可能です。

DevSecOpsの実現に必要な3つの要素

DevSecOpsを実現するためには、以下の3つの要素が必要です。

自動化ツールの組み込み

1つ目はセキュリティ自動化ツールの組み込みです。
開発工程にセキュリティを融合する際、開発者の負担が増えてしまっては意味がありません。継続的なセキュリティチェックを行いながら生産性とリリーススピードを維持するには、以下のような自動化ツールの組み込みがポイントになるでしょう。

使用する段階 特性 代表ツール
SAST
(静的アプリケーション・セキュリティ・テスト)
主に開発工程で使用 ソースコードをスキャンし、コーディングエラーや悪用可能な弱点につながる欠陥を検出する GitLab SAST
Coverity
SonarQube
SCA
(ソフトウェア・コンポジション解析)
開発から運用工程まで継続的に使用 ソースコードをスキャンして、オープンソースおよびサードパーティコンポーネントの既知の脆弱性を特定する GitLab Dependency Scanning
Black Duck
Gemnasium
DAST
(動的アプリケーション・セキュリティ・テスト)
主にテスト工程で使用 ハッカーがWebアプリケーションやAPIを操作する方法を模倣する自動ブラックボックス・テスト技術により、動作中のアプリケーションの脆弱性を検出する GitLab
Owasp ZAP
Vex
IAST
(インタラクティブアプリケーション・セキュリティ・テスト)
主にテスト工程で使用 アプリケーションのテスト中に、バックグラウンドでアプリケーションの内部処理を解析することで、脆弱性を検出する Contrast ASSESS

開発工程に自動化ツールを組み込むことで、セキュリティの検知・管理を「当たり前にやっている状態」にすることができます。 

開発プロセスの整備

2つ目は、開発プロセスの整備です。
DevSecOpsを実現するためには、ビジネス企画やアーキテクチャ検討の段階でリスク分析を行い、その対応を考慮した設計を行う必要があります。
そのため、設計のセキュリティ観点での評価はもちろん、例えば自動化ツールを有効活用するために開発プロセスを見直したり、プロジェクトに合わせてセキュリティリーダーを配置し、セキュリティ評価のプロセスを検討・適用したりなど、開発プロセスの再整備が求められるでしょう。 

新たな組織文化・体制の構築

3つ目は、新たな組織文化・体制の構築です。
開発の現場では、現在も開発、運用、セキュリティが分断されており、特にセキュリティは後回しになる傾向にあります。
そのため、DevSecOpsを実現するには、開発と運用とセキュリティが分断した組織文化を刷新し、サービス価値の最大化という共通ゴールを目指して、一人ひとりが当事者意識を持ち、改善・学習していく体制を構築することが重要です。

とはいえ、慣れ親しんだ文化や体制を刷新することは、決して容易ではありません。
例えば、チームメンバーにセキュリティ教育を行うことで知識を定着させたり、開発者一人一人がアプリケーションのセキュリティを担っているという姿勢で、ツールを活用し、開発プロセスに則って開発・テストなどの作業に臨むような文化の定着が必要です。 

GitLabはDevSecOpsをオールインワンでカバー

GitLab(ギットラボ)は、Gitリポジトリ機能を中心としたDevOpsのOSS(Open Source Software)です。
SAST、DASTの他に、コンテナスキャニング、依存関係スキャニング、ライセンスコンプライアンスなど、DevSecOpsをオールインワンでカバーする複数の自動化ツールを単一のソフトウェアで提供しています。

https://aslead.nri.co.jp/products/gitlab/

しかし、自動化ツールの組み込みは、DecSecOps実現のために必要な要素の一つでしかありません。

株式会社野村総合研究所(NRI)では、NRIの開発現場から生まれた開発管理ソリューション「aslead DevOps」を提供しています。
GitLabをはじめ、複数のソースコード・モジュール管理やCI/CD機能を提供・サポートし、開発業務の効率化・自動化を実現することで生産性向上につなげます。

aslead DevOpsは、以下のような悩みを持つ開発現場に有効です。

  • ・ライブラリ管理サーバを独自に建てるよりもSaaS利用したい
  • ・ソースコードやモジュールのバージョンが適切に管理されていない
  • ・ライブラリ管理がうまくいっていないと感じている
  • ・手動で行っている定型作業を自動化したい
  • ・DevSecOpsを導入して生産性と品質を向上したい

NRIでは、単に自動化ツールの組み込みだけではなく、aslead独自の機能・ノウハウを提供することで、DecSecOps実現をサポートします。
また、お客様の要望に合わせてご提案させていただくため、GitLab以外のツールの提供についても検討を行っています。
DevOpsに続き、DevSecOpsについても「当たり前」とするものづくりを目指していきましょう。

DevSecOpsソリューションに関するお問い合わせ

NRIのDevSecOpsソリューション「aslead DevOps」は、製品・ソリューションの導入からサポートや運用保守まで、ワンストップのトータルサービスを提供しています。

https://aslead.nri.co.jp/solution/aslead_devops.html

ソリューションに関するご質問、ご相談は、メールまたはお問い合わせフォームよりお気軽にご連絡ください。

GitLabなら、asleadにお任せください

ご相談・無料お見積り

お問い合わせ

GitLab に関するご相談は、下記よりお気軽にお問い合わせください。

簡易フォームでお問い合わせ   チャットBotでお問い合わせ ※個人情報は、お問い合わせ対応に利用致します。
お問い合わせ