ソフトウェア・インテグリティ

 

アプリケーション・セキュリティ・テストの統合がDevOpsの牽引役となることを示す新しい調査結果

DevOpsによって従来のアプリケーション・セキュリティ・テストのプロセスやツールが破壊される可能性があります。より優れたコードを構築するためには統合的なDevSecOpsアプローチが重要である理由を説明します。

DevOps環境にアプリケーション・セキュリティ・テストを統合する |シノプシス

サイバーセキュリティには気が滅入るような労力が伴います。無防備なデータベース、ランサムウェアの被害、新種の不正行為、重大な脆弱性など、新たな問題が日々発生します。

これに対する最適な対策は、より質の高いソフトウェアの構築に取り組むことであり、そのためにDevSecOpsと呼ばれる概念をご紹介します。

DevOpsのことはおそらくご存じでしょう

DevOpsは次の3つの柱に基づいたソフトウェア構築手法です。

1. ベロシティ(開発速度)が最優先

DevOpsは、数か月あるいは数年にわたる長い開発サイクルではなく、数週間程度の短期間に焦点を当てます。小規模のイテレーションを短いサイクルで反復することにより、プロセスの俊敏性を維持し、市場状況の変化や製品の価値創造のあり方に対する意識の進化に対応しやすくなります。

2. ベロシティの達成には自動化が不可欠

ソフトウェアの構築、テスト、パッケージ化、デプロイという従来の手順を可能な限り自動化することにより、開発者がソフトウェア機能を実装してからユーザーがその機能を使用できるようになるまでのタイムラグを短縮できます。

3. 継続的な改善により、チームはプロセス自体を最適化できる

チーム内で定期的にSDLCを批評し、うまくいった点、遭遇した障害などを把握します。その上で、プロセス自体を調整して今後の改善を図ります。

ソフトウェア構築におけるDevOpsの柱 | シノプシス

DevOpsは、開発、リリース管理、運用といった従来の孤立化したチーム間の壁を打破し、ソフトウェアを作成する開発チームからそのソフトウェアを使用するユーザーへのスムーズで継続的な道程に主眼を置きます。

“Sec”はセキュリティの略称

DevOpsはソフトウェアを迅速に開発するための一連のプラクティスの進化型ですが、セキュリティに直接取り組むものではありません。10年以上にわたる経験から、セキュリティはソフトウェアに追加できるものではなく、ソフトウェア開発の各フェーズに組み込まれている場合にのみ有効に機能することが実証されています。

そこで、ソフトウェア開発プロセス全体を通じてセキュリティを考慮するセキュア・ソフトウェア開発ライフサイクル(SSDLC)のアプローチが推奨されます。その例を以下に示します。

  • リスクと軽減策を周知するために、開発者をはじめとする従業員に定期的なセキュリティ・トレーニングを受けさせる。
  • ソフトウェア設計では、セキュリティを最優先に考慮する。ソフトウェア設計に適切な保護が組み込まれていることを確認するために、脅威モデリングなどの解析を行います。
  • トレーニング内容の改善により、開発者のコード作成能力を向上させる。静的解析ツールやソフトウェア・コンポジション解析ツールなどの自動化ソリューションもコード作成時のセキュリティの問題の発見・修正に役立ちます。
  • テスト段階で、アプリケーション・セキュリティ・テスト・ツールを用いてセキュリティの脆弱性を発見する。これにより開発チームは、ソフトウェアのリリース前に脆弱性を修正できる。
  • セキュリティは、コンテナのセキュリティ解析や、サードパーティー製ソフトウェア・コンポーネントに潜む新しい脆弱性の継続的な監視など、デプロイ・保守の段階でも重要な考慮事項です。

人々の声

ITリーダー向けの英国を代表するビジネステクノロジーの出版物『Computing』は、アプリケーション開発、アプリケーション・セキュリティ、またはその両方に関わる150人の意思決定者を対象に調査を行いました。対象者はそれぞれ銀行・金融、物流、製造、小売、政府部門など、多様な業界の組織を代表しています。調査の目的は、アプリケーション・セキュリティ(AppSec)に関する組織の戦略的目標を検討し、DevOps 環境への統合と総合的なDevSecOpsプログラムの構築がどの程度進んでいるかを確認することです。

この調査では、自動化、迅速なセットアップ、使いやすさ、精度、統合、対策ガイダンス、スケーラビリティなど、具体的なニーズと課題を検討しています。また、これらの優先順位がDevSecOpsアプローチの成功にどのように影響するかを検討しています。

maintain-velocity.jpg

主な調査結果を以下にご紹介します。

アプリケーション・セキュリティ・テストの統合に主眼を置く

まず、組織は総じてDevSecOpsの実装に積極的でした。回答者の半数近くが、DevOpsにセキュリティ・テストを全面的または部分的に統合しています。残りの回答者の多くが、統合などに興味を持っている、または積極的に計画していると答えました。

図1:DevOps環境へのアプリケーション・セキュリティ・テスト(AST)の統合はどの段階まで進んでいますか。 

アプリケーション・セキュリティ・テスト(AST)の統合の進捗段階を示すDevOps調査 | シノプシス

アプリケーション・セキュリティ・テストをDevOpsに統合している組織はその成果を高く評価しているという興味深い報告があります。DevOpsプログラムへのASTの統合の成功度を1~10の尺度で格付けするよう求める設問では、全体的なランキングは平均して7を若干超えています。回答者のほぼ5分の1(19%)がプロセスを10点満点で10と評価しています。否定的な回答をした回答者は少なく、5未満の評価はわずか9%でした。

セキュリティですべてが向上

特に興味深い調査結果は、セキュリティとソフトウェア開発を統合するメリットに関するものです。

「アプリケーション・セキュリティの向上」がメリットであるのは当然だと思われるかもしれませんが、そうとは言い切れません。コンプライアンスやガバナンスの圧力によってアプリケーション・セキュリティ・テストを強いられたと感じている組織は、テストを実行してもその結果を活用しない可能性があります。調査結果はそうした組織ではなく、セキュリティ・テストを統合し、その結果を有効に活用して製品を改善している組織の実態を示しています。

さらに、統合型のDevSecOpsアプローチには、他にも多くの利点があります。DevSecOpsは、基本的にソフトウェア開発ライフサイクルの統合・自動化された部分としてアプリケーション・セキュリティ・テストを不可視化し、セキュリティの脆弱性は他の課題と同様に課題管理システムに登録されます。統合型セキュリティ・テストでは、開発チームが発見および修正できるバグが増えるため、製品の品質、安全性、セキュリティ、回復力が向上し、より優れた機能を実現します。

図2: DevSecOpsの統合を進めた結果、次のどのメリットが得られましたか。 

DevOps環境にアプリケーション・セキュリティ・テストを統合するメリットを示す調査 | シノプシス

アンケート調査に注目したWebセミナーを視聴する

 

この著者によるその他の情報