DevSecOpsで開発プロセスに
セキュリティ上の安全を組み込む

近年、ランサムウェアをはじめとする企業を標的にしたサイバー攻撃の被害が増加しています。その一方でシステム開発においては、アジャイル開発などの手法により柔軟かつスピーディな対応が求められています。そんな中で注目を集める、DevOps(開発(Development)と運用(Operations)の複合語)にセキュリティの視点を組み込むDevSecOps(デブセックオプス)のメリットなどについて解説します。

DevSecOpsで開発プロセスにセキュリティ上の安全を組み込む

システム開発にセキュリティの視点を入れる必要性

IPA(独立行政法人情報処理推進機構)は、2024年1月に「情報セキュリティ10大脅威2024」を発表しました。組織編というビジネス分野のランキングでは、1位が「ランサムウェアによる被害」、2位「サプライチェーンの弱点を悪用した攻撃」、3位「内部不正による情報漏えい等の被害」となっています。

情報セキュリティ10大脅威 2024[組織]

IPA「情報セキュリティ10大脅威 2024」
出典:IPA「情報セキュリティ10大脅威 2024」

10大脅威1位のランサムウェアはマルウェア(悪意あるソフトウェア)の一種で、PCやサーバー内などのデータを暗号化して身代金を要求するものをいいます。主な感染経路はメールの添付ファイルやリンク先、Webサイトの閲覧やダウンロードファイル、組織内のネットワークなどです。2位のサプライチェーンの弱点を悪用した攻撃は、セキュリティ対策の強固な企業を直接攻撃するのではなく、ターゲット企業の取引先であるセキュリティ対策が甘いサプライチェーンなどを標的とします。いずれもIT環境のアタックサーフェス(攻撃対象領域となる脆弱性)を突く脅威のため、企業単体のみならず、被害が取引先や顧客などに及ぶ前に十分な対策を講じておく必要があります。

3位にランクインした内部不正による情報漏えいは、少々毛色が異なっています。従業員や元従業員といった組織内部の関係者による機密情報の持ち出し、悪用といった不正行為です。社会的信用の失墜、あるいは損害賠償による損失といった被害が発生する前に、プライバシー保護やデータ保護の観点から、従業員の情報リテラシーやモラル教育を含めた強固な体制づくりが重要になります。

IPAでは、組織に対してサイバーセキュリティの基本対策を推奨しています。基本対策とは、ソフトウェアの脆弱性を解消し攻撃のリスクを低減する「ソフトウェアの更新」、多様な手口のウイルスをブロックする「セキュリティソフトの利用」、パスワード窃取による情報漏洩を防ぐ「パスワード管理・認証の強化」、狙われる設定の不備を防ぐ「設定の見直し」、優先すべき対策に向けた「脅威・手口を知る」の5つです。これらの対策を講じるだけでも、被害に遭うリスクは格段に抑えることができるでしょう。

多くの場合、これらのセキュリティ対策は社内外のSOC(Security Operation Center)などが対応に当たります。しかし、万一社内のインフラストラクチャーが被害に遭ってしまうと、事後の復旧に圧倒的な稼働や時間、コストを割く必要があります。それならば、もっと前段階から対処しておけばいいのです。

昨今、クラウドネイティブなシステムの急増に伴い、従来のウォーターフォール型開発から1〜4週間程度のスプリント(反復単位)で短期間に設計、開発、テストまでを行うアジャイル開発、運用部門を巻き込んだDevOps(デブオプス)などが主流になっています。さらに、昨今では冒頭で挙げたセキュリティ対策の重要性が高まるとともに、柔軟かつスピーディな開発が求められていることから、「DevSecOps(デブセックオプス)」という新たな考え方が注目されています。これは開発(Development)と運用(Operations)が密に連携することで、システム開発にかかる期間を短縮して生産性やリリーススピードを高めるDevOpsに、セキュリティ(Security)を融合した開発スタイルです。2012年にGartner(ガートナー)が提唱し始めたといわれています。

DevSecOpsでは、システムの「要件定義」「設計」「実装」「テスト」「リリース」「運用」の全開発プロセスで、脆弱性が入り込むリスクを低減するコンプライアンスチェックなどのセキュリティ対策を組み込んでいきます。すべてのプロセスで安全性を徹底するプロジェクト管理を繰り返しながら、絶対的な安全・安心を担保する高層ビルの建築をイメージするとわかりやすいかもしれません。あるいは食品工場で商品を製造する際に、異物混入などを防ぐために全行程で繰り返し品質をチェックする方法や体制にも通じるところがあります。ものづくりの世界では当たり前に組み込まれている安全・安心対策を、システムやソフトウェア開発に取り入れる考え方こそがDevSecOpsといえるでしょう。

IPA「DX白書2023」によると、DX実現に向けたITシステムの開発手法にDevSecOpsを活用する日本企業は1割未満にとどまっているという問題があります。一方、アメリカの企業では5割を超えており、日米におけるDX推進と同様に、大きく水を開けられている状況です。これからの日本企業のDX推進を加速させる新しいポイントの1つは、DevSecOpsの活用にあるのではないでしょうか。

DevSecOpsのメリットと上手な実装のポイント

DevSecOpsには、脅威を最小限に抑える3つのメリットがあります。まずは、当然ながらセキュリティが強化できることです。すべての開発プロセスにおいてセキュリティ対策を組み込むことで、脆弱性の早期発見や的確なインシデント対応が可能になります。続いてのメリットは、安全性とスピードが両立できることです。ソフトウェアテストなどで発見した脆弱性への迅速な対処により手戻りを減らし、ソフトウェア品質を高めながら開発スピードを加速することができます。そして3つめが、ビジネスニーズに柔軟に対応できることです。DevSecOpsでは、開発・運用・セキュリティといったチーム一丸で開発を進めるため、極めてフレキシブルな体制でニーズに応じた修正・変更・デプロイメントができるようになります。

このように、いいことずくめのDevSecOpsですが、最初の準備段階で取り組むべきは「組織」「プロセス」「テクノロジー」「ガバナンス」の見直しです。組織については、開発・運用・セキュリティのチーム全員で緊密なコミュニケーションを図り、部門間のサイロ化を解消し、セキュリティに対する責任や、共同作業を円滑に進めるために実用的品質保証の情報を共有できる環境整備が重要になります。

プロセスでは最初から100点を目指さず、小さく始めて何度もプロセスを繰り返しながら改善を行い、完成度を向上させるという意識に切り替える必要があります。テクノロジーでは、マイクロサービスやコンテナ技術を積極的に活用すべきでしょう。さらにCI/CD(継続的インテグレーション/継続的デリバリー)によるセキュアSDLC(セキュアソフトウェア開発ライフサイクル)の自動化、IaC(Infrastructure as Code)、SaC(Security as Code)を活用したコード化によるインフラ管理、監査の自動化も有効です。最後のガバナンスでは、すべての開発プロセスで積極的な評価やリスク管理が必須になります。組み込み型のガバナンス制御に向けた統一ポリシーの適用、データ駆動型の検証、ガバナンスの視認性を高めるといった対応が求められます。

さて準備段階をクリアしたら、いよいよDevSecOpsの実装フェーズに突入です。具体的なアプローチは「シフトレフト(Shift Left)」「セキュリティの自動化」「セキュリティ文化の確立」「継続的な監視・改善」の4つです。

シフトレフトとは、セキュリティ対策を組み込む段階を開発プロセスの右から左へ、通常より前倒しして実施する開発手法です。開発プロセスの序盤からセキュリティチームが加わることで、開発チームはセキュリティを実装しながら効率的にシステム構築が進められるようになります。セキュリティの自動化では、開発スピードを維持したままセキュリティを開発プロセスに組み込むために、セキュリティ機能を搭載した統合開発環境、セキュリティテスト自動化ツールを活用するのがセオリーです。セキュリティ文化の確立では、セキュリティの責任はセキュリティチームが担うという従来の概念を捨て、セキュリティ教育などを実施することで開発や運用を含むチーム全体で責任を持つ意識を共有する必要があります。継続的な監視・改善は、常時監視により脆弱性を発見するたびに改善を行うというオペレーションの徹底がポイントになります。

DevSecOpsに不可欠となる自動化ツール

DevSecOpsでは、開発スピードを維持するためにセキュリティ対策を自動化するツールが必要不可欠です。DevSecOpsに効果を発揮する、代表的な自動化ツールをいくつか紹介します。

「SAST(Static Application Security Testing:静的アプリケーションセキュリティテスト)」は、開発したソースコードをスキャンし、コーディングエラーやセキュリティの脆弱性診断、コードレビューを行うツールです。開発の初期段階で使用することで開発チームの安全なコーディングを支援し、シフトレフトを実現します。

「SCA(Software Composition Analysis:ソフトウェアコンポジション解析)」は、コードベース内のオープンソース・ソフトウェアを識別し、既知の脆弱性を特定するツールです。設計から運用プロセスにかけて継続的に使用することで、パッチ適用が必要なコンポーネントや適用できるパッチなども自動的に判定します。

「DAST」(Dynamic Application Security Testing:動的アプリケーションセキュリティテスト)は、ソースコードへのアクセスやソースプログラムの可視化なしに実行中のアプリケーションを検査するツールです。ハッカーによるアプリケーションへの侵入や攻撃に備え、SASTでは検出できない脆弱性を発見します。

「IAST(Interactive Application Security Testing:対話型アプリケーションセキュリティテスト)」は、アプリケーションの実行中の挙動を監視してリアルタイムでコードに含まれる脆弱性を発見するツールです。SASTとDASTの機能を併せ持ち、DevSecOpsが目指す迅速な開発サイクルを実現します。

いずれもDevSecOpsの実装に効果を発揮する自動化ツールですが、頼りすぎは禁物です。あくまでもツールの導入は手段に過ぎず、目的ではないことに留意しましょう。ツール導入時には、必ず導入の目的およびチームの課題、目標などをチーム全体で共有しておく必要があります。DevSecOpsをリードするのはツールではなく人、その意識をチームや組織全体に根付かせることが成功の秘訣といえるでしょう。

MSSの活用で一足飛びにDevSecOpsの実装へ

DevSecOpsに不可欠となる存在が、セキュリティを担当する人材でありチームです。SOC(Security Operation Center)の立ち上げは非常に有効な手段の1つですが、社内のリソースや知見などの不足により、自社でのSOC設立が難しいというケースも多いのでは。そのようなケースにおいては、確かなセキュリティの知見を持つプロにアウトソースするのも一手といえるでしょう。

たとえば、NTT Comの「VxGPlatform」(ブイエックスジープラットフォーム)は、ニューノーマルの時代において欠かせないネットワーク&セキュリティ基盤をまるごと提供するマネージドセキュリティサービス(MSS)です。オンプレミスやクラウド、データセンターなどIT環境の全域を見守る統合的なセキュリティ対策に必要な機能をオールインワンで提供します。すべてのセキュリティ対策をワンストップで実施するため、複数ベンダーとの煩雑な対応は不要です。まさに、1人情シス体制の強い味方となるシングルベンダーSASE(Secure Access service Edge)と言えるでしょう。

VxGPlatformは、ネットワーク&セキュリティ対策に欠かせない各SASE要素を基本機能として搭載しており、自社に必要なメニューを追加・選択することで自由なカスタマイズが可能なSASEソリューションです。日々、高度化・多様化するサイバーリスク対策など、セキュリティレベルの維持に伴う運用管理コストを抑えながらアウトソースできます。

さらにポータルサイトの提供により、煩雑になりがちな機器の構成を可視化して管理を効率化します。デバイス管理からログ管理、Configバックアップ、ファームウェア管理、設定変更などが閲覧・実行できます。指定のsyslogサーバーへログを外部転送し、すでに導入済みの他機器と併用した管理も可能です。

ハイブリッドワークの会社ぐるみでの推進、各種クラウドサービスの新規利用などで、日々増加するネットワークトラフィックに合わせた回線帯域の変更も容易です。リモートアクセスオプションおよびEDRオプションでは10デバイス単位、SDx機器は1台単位で臨機応変に追加できます。

アンチウイルスやIPS/IDSなどの基本的なUTM機能に加え、NTT独自のセキュリティデータベースを活用した自動遮断システム(BDAP)により未知のセキュリティ脅威も自動遮断します。加えて、万一のリスクに備えたサイバーリスク保険の提供により、保険を活用したセキュリティ追加対策費用の捻出も可能です。

NTT Comでは、スモールスタートに最適なオンプレミス環境で利用できる「VxGPlatform-BOX」も用意しています。まずは小さく始めた後、確かな効果を確認してからあらためてアップデートすることもできます。もちろん、DevSecOpsに則ったソフトウェア設計・構築もプロが手厚くサポートします。DX推進に向けたDevSecOps実装のために、ぜひ共創パートナーとして採用を検討してみてはいかがでしょうか。

コラム一覧へ

このページのトップへ