攻撃を受けやすいWebアプリケーションを開発する場合は、早い段階で脆弱性をつぶしておこう。後回しにすればするほど、セキュリティ対策コストが膨らむからだ。

 セキュリティ対策を施すのは、既存システムだけではない。新規システムを開発する際もセキュリティを考慮しておかなければならない。

 攻撃を受けやすいWebアプリケーションの開発では特に「上流工程からセキュリティ対策を施すことが重要となる」(NTTデータのセキュリティ技術部 鴨田浩明サイバーセキュリティ統括部長)。リリース前のテスト段階で洗い出せる脆弱性には限りがある。制限のある開発コストや開発期間を有効に使うためにも、上流工程での対策が求められている。

 Webシステム開発の開発フェーズ別に必要な対策を以下に示す。

各工程で必要な対策
[画像のクリックで拡大表示]

 ポイントは、設計フェーズの段階でセキュリティリスクを分析し、セキュアな設計をすることだ。NRIセキュアテクノロジーズのサイバーセキュリティサービス一部 石川朝久セキュリティコンサルタントは、「当社が実施した調査によれば、セキュリティ診断で発見される問題のうち、要件定義フェーズや設計フェーズで作られる脆弱性は約6割を占める」と話す。

 設計段階で脆弱性を潰せなければ、修正コストは肥大化する。アスタリスク・リサーチの岡田良太郎Executive researcher, Chairmanは「設計フェーズで修正するより、システム稼働後の運用フェーズで見つかった脆弱性を改修するほうが100倍以上のコスト高になる」という。

修正コストは開発工程が進むにつれて増大する
[画像のクリックで拡大表示]

 岡田Executive researcherは、「リリース前の段階で重点的にテストするのは問題がある」と指摘する。リリース前に発見した脆弱性は、修正の工数に加え、再テストを実施する手間もかかる。他のシステムと正しく連携できるかといった結合テストや総合テストも必要だ。

 つまり、Webアプリケーション開発では、セキュリティ対策を早い段階(時間軸では左側)から実施するのが有効だ。このシステム開発時のセキュリティ対策を「シフトレフト」と呼ぶ。

この先は有料会員の登録が必要です。「日経SYSTEMS」定期購読者もログインしてお読みいただけます。有料会員(月額プラン)は登録月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら