CodeZine(コードジン)

特集ページ一覧

DevOpsのセキュリティ面も考慮した「DevSecOps」で、リリース期間短縮・性能と安全性の担保を実現【デブサミ2021】

【18-A-5】セキュアなDevOpsを実現するために今すべきこと

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2021/03/18 12:00

 DevOpsとは、開発担当者と運用担当者が連携して協力する開発手法。最近では多くの企業が採用し、開発効率を改善できる組織体制を構築している。しかし、DevOpsにはアプリケーションセキュリティの観点が組み込まれていない場合が多く、アプリケーションの脆弱性が発覚すると、継続的な開発と運用が妨げられてしまう。そこで本講演では、マイクロフォーカスエンタープライズ株式会社の専門家2名により、脆弱性テストをDevOpsに組み込むDevSecOpsの考え方と、関係者の負担を減らしながらリスクを回避するための実践方法が紹介された。

目次

(上)マイクロフォーカスエンタープライズ株式会社 プリセールス統括本部 松尾政仁氏、(下)マイクロフォーカスエンタープライズ株式会社 プリセールス統括本部 Solutions Architect 森泰人氏

(上)マイクロフォーカスエンタープライズ株式会社 プリセールス統括本部 松尾政仁氏、
(下)マイクロフォーカスエンタープライズ株式会社 プリセールス統括本部 Solutions Architect 森泰人氏

アプリケーションに潜むセキュリティリスクは、開発の前工程で対処すべき

 マイクロフォーカスエンタープライズ株式会社は、顧客のデジタル変革を支援するソフトウェア製品の開発、販売、サポートなどを行っている世界最大級のソフトウェア企業の日本法人。同社のプリセールス統括本部 松尾政仁氏は冒頭、企業が直面している課題について、デジタル化への課題の洗い出しと分析が困難なこと、新規製品のリリース遅れによる競争力低下、マシンラーニング/AIなどへの対応遅れ、クラウド移行対応の遅れ、脆弱性、情報漏洩などのセキュリティリスクへの対応が不十分など、さまざまな問題があることを挙げ「ビジネスの変革と高度化への対応のため、効率化への取り組みが必要です」と述べた。

 昨今の開発システムでは、効率化のアプローチとしてDevOpsを採用が行われており、コードデプロイ頻度が増加、コミットからデプロイまでのリードタイムやインシデントからの回復時間の高速化が行えるようになった。しかしながら、DevOpsのサイクルからセキュリティが取り残されていると松尾氏は指摘する。その理由として、専門性が高いことや、セキュリティ推進の理由となるコンプライアンスがDevOpsの対象外であること、開発者は機能するコードを迅速に提供することが求められているためセキュリティまでケアできていないこと、などが挙げられる。

 次にアプリケーションが持つセキュリティ上の問題について、マイクロフォーカスのFortifyソフトウェアセキュリティリサーチチームが示した「2019 Application Security Risk Report」の内容を紹介した。これによると、Webアプリの79%、モバイルアプリの88%、アプリ全体の61%に問題が存在しているという。

重大度が「クリティカル」または「高」の問題が生じるアプリケーションは多い
重大度が「クリティカル」または「高」の問題が生じるアプリケーションは多い

 アプリケーションに問題が発生した場合、開発の後の工程になればなるほど修正の手間がかかる。NIST(アメリカ国立標準技術研究所)の調査では、修正にかかる手間は、実装段階では要件定義時の手間と比較して10倍、システムテスト段階なら15倍、運用の段階では30倍としている。松尾氏は「できる限り早い段階で脆弱性を見ていく、つまり開発の実装段階で脆弱性を見つけていくという仕組みを作っていくことが重要になります。継続的計画と継続的インテグレーションとテスト、そして継続的脆弱性テストの取り組みによって、DevOpsからDevSecOpsへのシフトを実現できると考えています」と説明した。

 続いて、アジャイル開発におけるDevSecOpsの構成イメージを提示した。アジャイル開発はバックログを管理し、開発者によって出来上がったコードが品質を保っているか継続的にテストをする。何か問題があればその不具合を修正して開発していく。同社のエンタープライズアジャイル管理製品「ALM Octane」は、要件管理、バックログ管理、タスク管理、テスト管理、不具合管理をみて品質を可視化する製品だ。

DevSecOpsのハブとなり、継続的に品質管理や脆弱性のチェックができるALM Octane
DevSecOpsのハブとなり、継続的に品質管理や脆弱性のチェックができるALM Octane

 IDEからALM Octaneのバックログ情報を参照し、開発者がコミットしたら自動的にビルドされ、開発環境やテスト環境にデプロイされる。機能や性能のセキュリティテストはパイプラインにのせて自動的に実行され、それらの結果はALM Octaneでテストの状況と自動的に関連づけされて管理・可視化される。ALM Octaneはスクラムレベルのチームから、エンタープライズまでを対象とし、高い品質を維持しながらリリースの短縮化を実現する体制をサポートするという。

 同社では、DevSecOpsの工程に組み込まれる各種自動テストのための製品群を提供している。「UFT One」はGUI/API機能テスト自動化ツールで、人間に代わってGUI操作を自動的に行い機能的に正しいかどうかの検証を行う。「LoadRunner Professional」は負荷テストのプラットフォーム。たくさんのユーザーに代わってアプリケーションを動作させ、システムや想定しているレスポンスに問題がないか、ボトルネックがどこにあるかを捉えることができる。そして、「Fortify」が、さまざまな手法でアプリケーションセキュリティテストを行うツールだ。

 「ツールによって特徴があり、適切なフェーズやタイミングでテストを行っていきます。コードができあがったタイミングではコードの脆弱性をチェックし、システムのリリース前はパフォーマンステストや動的セキュリティテストを実施します。パイプラインの中に組み込んで、継続的にテストを効率化していくということが重要になります」(松尾氏)


  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:【デブサミ2021】セッションレポート

もっと読む

著者プロフィール

  • CodeZine編集部(コードジンヘンシュウブ)

    CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5