・デブセックオプス(DevSecOps)の前 デブオプス(DevOps) について調べてみよう。
・デブオプス(DevOps)はソフトウェア開発と運用(Operation)の合成語 で、ソフトウェア開発者と運用者とのコミュニケーション、協業及び統合を強調する開発環境もしくは、文化を意味する。
・DevOpsは製品及びサービスのリリース時間(Time-To-Market)の短縮のため、製品の持続的な統合と配布を通じて要求事項を早く対応するためのものである。
・最近クラウドサービスの増加、それに従って、コンテナ基盤のサービスの配布、マイクロサービス(MSA)の登場で単純な開発の効率性と生産性の向上を超えてビジネスにリアルタイムで対応でき開発文化である。
・DevOpsは開発と運用を合わせてアプリケーションの改善に集中する。この過程で自動化ツールを利用して開発と生産性の効率は高めるが、セキュリティまでは自動化できないため改善が必要である。
・デブセックオプス(DevSecOps)とはソフトウェア開発(Development)と運用(Operation)、セキュリティ(Security)の合成語でアプリケーション開発者と運用、セキュリティ担当者間のコミュニケーション協業、統合を強調する開発文化である。
・過去の一般的なIT組織は開発と運用、セキュリティ組織を分離することを基本とした。これは職務分離(Separation of Duty)及び責任追跡性(Responsibility)を確保するためでああった。しかし最近のビジネス及びICT環境では過去IT組織の体系では急速に変化するビジネス環境に対応が難しくなり、DevOpsとセキュリティ(Security)が合わせたデブセックオプス(DevSecOps)が注目されている。
最近の開発周期は数日もしくは数週の早い開発周期の環境で既存のセキュリティ方法とポリシーは全体的な効率性を下げる原因として認識され、最終段階でセキュリティチェックを形式的な行為で処理してしまう場合が発生している。これを改善するためにはDevSecOpsを通じて開発Pipelineの改定からセキュリティポリシー及び技術を自動化することが必要である。
必要性 | 説明 |
---|---|
DevOpsの限界 | 開発と運用の合わせでAgileを実現できるようになったが、増加するセキュリティ脆弱性及びサイバー脅威に対しての対応に限界がある |
クラウドサービスの活性化 | 既存On-Premise環境からクラウド基盤のサービスに変化し、サービスに対しての配布と変更などにリアルタイムに対応ができる環境が必要になっている |
マイクロサービス(MSA)の登場 | クラウド、ドッカー(Docker)基盤のコンテナなど益々軽量化したマイクロサービス単位での開発、ビルド、テスティング、配布などができる環境の要求 |
サービス生産性 | 急速に変化している市場の要求に合わせて開発してリリースできるようにDevOps Pipelineの自動化されたプロセスにセキュリティを自動化を加え、サービスの生産性を保証 |
ビジネス変化対応 | 最近のビジネスは過去とは違って生命周期が短くなり、従って急速に変化しているビジネス要求事項に即時的に対応ができる方法論が必要になっている |
セキュリティ性向上 | DevOps開発の全ての過程にセキュリティを適用して自動化されたツール及びセキュリティテスティング環境を構築して早い開発、配布、脆弱性の解決ができるようになる。 |
・セキュリティ安全性:DevOps開発プロセス内からペネトレーションテスト、セキュリティテストを行うことができ、アプリケーション及びワークロードを配布する際、プラットフォーム脆弱性診断にも利用できる。DevOpsプロセスが行われることでアプリケーション及びワークロードがもっとセキュリティ的に安全になる。
・インシデントの減少:DevOpsの全てのプロセスの過程にセキュリティ自動化技術を適用して脆弱性を減少させる。
・脆弱性対応時間の短縮:脆弱性発見時、脆弱性の対応時間を短縮して、インシデントに繋がる可能性がある状況を素早く対応できる。
・Time To Market:コーディングが終わって運用環境に移行する所要時間の短縮、統合された変更管理、自動化配布、テストを通じて再作業を除去することができる。
・Cycle Time短縮:サーバとICT環境をアップデートする際に発生する所要時間が短縮できる。また、標準化されたプロセスと自動化されたツールなどを通じて開発とセキュリティ適用の時間が短縮できる。
・生産性及び効率性の向上:開発チームと運用チーム、セキュリティチーム間のコミュニケーションチャンネルを単一化し、単純化して素早く意思決定をして開発の生産性と効率性に良い影響を与える。
【▲ 参考:Gartner】
区分 | 説明 | 重要要素 |
---|---|---|
文化 | – 文化的な変化に対して計画樹立 – 組織分解に対しての変化、開発とセキュリティ、運用部署がセキュリティを共通責任する文化を組成 | セキュリティ組織の初期参加 |
プロセス | – 組織プロセスの再配置 – 組織のセキュリティ、コンプライアンス担当者がプロセス、ポリシー、要求事項をDevOps組織とWorflowに統合 | プロセス初期にセキュリティ分析及びテスト |
自動化 | – 効率性と正確性のための自動化(Automation) – セキュリティテスト、セキュリティ共有ストレージ作成、Devopsのためのセキュリティ手順の単純化 | コードセキュリティ管理(Security as Code) |
ツール | – DevOpsと効果的に連携できるツールの選択 – コミット前にセキュリティ把握、コミット前にコードチェック、動的Appセキュリティテストツールなど – DevOps CI/CD Pipelineとセキュリティツール間の有機的な結合 | セキュリティ診断ツール |
成果評価 | – 成果測定のためにマトリックス準備 – 送信リードタイム(Lead time to delivery)、配布頻度及び周期(The number and frequency of deployment)、障害復旧時間(Mean time to recover, MTTR) – 比率に表現された欠陥の数変化などのデータを活用 | セキュリティコードの品質点数提供 |
【▲ DevSecOps Pipeline適用Tool(参考:Stackify)】
・DevSecOpsの成功的に適用するためにDevOps開発の全ての段階で自動化されたツール及びセキュリティツールが適用できる。これを通じて開発の生産性、効率性、セキュリティ性が確保できる
・DevOpsの開発過程と同じくソースコードを作成する段階から配布及びモニタリング段階までDevOps Pipelineと有機的に連携される自動化されたセキュリティツール(Tool)の適用が必要である。
DevSecOpsの体表的なソリューションであるMicro Focus社から提供している「Micro Focus Enterprise DevSecOps Suite」を通じて開発から運用まで全体のライフサイクルを包括する重要機能について調べてみよう。
重要モジュール | 説明 |
---|---|
Continu ous Planning | – 開発全般にわたって持続的に計画を統合し、IT投資が前略的ビジネスの目標に合わせられるように要求事項とプロジェクト、リソースを管理して優先順位を指定する機能を提供 |
Continuous Integration | – 開発者が作ったコードを共有ストレージに自動統合する作業を担当 – 構成管理、変更管理ソリューションにチェックインされた各コードはビルド過程で自動検証されるため、コードの問題の初期発見ができる |
Continuous Deployment and Release | – DevOps Pipelineの様々な段階から生産環境へコードを配布するモジュール – 配布基準はテスト状態及び完全な自動化で配布 |
Continuous Testing | – ソフトウェアPipelineの一部で自動化されたテスト実行し、これを通じてリリースに関するリスクを素早く対処してソフトウェアの品質が高められる |
Continuous Security | – コードレベルスキャニングからPipelineの全ての段階で体系的なセキュリティテストサポート – 24×7モニタリング、保護サービスを提供 |
Continuous Operations | – 運用中のサービスの過負荷、起動中止時間の最小化などができるようにサービスの可用性と信頼性をサポート |
Continuous Collaboration | – DevOps導入過程に必要な文化的な変化である協業をサポート – チャットボットとボイスボットを利用したチャットオプス(ChatOps)を活用してDevOpsチーム員たちのコミュニケーションを強化して持続的な共通作業をサポート |
Continuous Assessment | – 製品を開発して配布する全ての段階のフィードバックを処理 – 繰り返す改善のためにサービスがどのように運用されているか、組織がどのように協業しているか情報を収集して分析し、数値化してサービスの改善方法を提案 |
Micro Focus Enterprise DevSecOps SuiteはEnd-to-End DevOps Ecosystemでモジュール式運用とMicro Focusの全ての技術を統合をサポートするシステムでCP(Continuous Planning), CI(Continuous Integration), CD(Continuous Deployment & Release), CT(Continuous Testing), CS(Continuous Security), CO(Continuous Operations), CC(Continuous Collaboration), CA(Continuous Assessment)総8つのモジュールに構成されている。
現在のICT環境は既存On-Permise環境からクラウドサービス及びコンテナ基盤のサービスの形に進化されている。組織ではこれに関するセキュリティ脆弱性を即時に対応できるDevSecOpsに対しての要求が益々増えると思う。
それに限らず、ビジネス及びサービスに関する既存のドメイン単位より軽量化されたマイクロサービス(MSA)単位での開発配布などが増加し、セキュリティ脆弱性に素早く対応できる開発文化の形が必要になっている。
さらに、最近はCOVID-19のようなグローバルパンデミック現象のため、業務環境がスマートワーク及びリモートワークに変化し、新たなセキュリティ脅威及び脆弱性が増えると思う。
今後、ビジネス及びICT環境は既存の情報システムインフラ、データ及び情報などを対象にするこれまでのセキュリティ脅威から進化して予測できない色んなセキュリティ脅威が増加すると思う。このようなセキュリティ脅威を素早く対応するためにはDevSecOpsを通じた開発と運用、セキュリティ組織を統合して柔軟に対応できる開発文化及び自動化された技術を適用うることが大事である。
[blogcard url=”http://cyberfortress.jp/contact/”]
Written by CYBERFORTRESS, INC.
Tweet