企業の情報セキュリティ責任者は、保護しなければならないアプリケーションが実際どのように機能しているのかをきっちり理解していないことが多い。その結果、度を超したセキュリティコントロールが導入されたり、情報セキュリティが業務上のメリットどころか妨げになると見られがちな一因となる。一方で、開発者は時に、自分がアプリケーションに組み込みたいと思う機能がセキュリティ上どんな影響を与えるかを理解していない。
セキュリティ対使い勝手の問題を解決するため、ほとんどの情報セキュリティ関係者は、ソフトウェア開発ライフサイクルにおけるセキュリティを業界として強化する必要があるとの認識で一致している。このプロセスの一環として、多数の開発チームが脅威モデリングに着手している。
脅威モデリングによって開発者のセキュリティに対する意識が高まるだけでなく、アプリケーション設計と開発プロセスの一部としてアプリケーションセキュリティが組み込まれる。情報セキュリティ担当者と開発担当者の知識のギャップを埋める一助としても優れている。
脅威モデリングはアプリケーション設計の段階で実行され、アプリケーションにとってのリスクを発見・評価する。アプリケーションにとっての潜在的脅威を見つけるため、アプリケーションがどんな資産や重要情報にアクセスするかを分類することも、これに含まれる。結果として、リリースバージョンまで残ってしまう脆弱性の数が減らせれば理想的だ。また、ソフトウェア設計のライフサイクルが進むほどセキュリティ問題対応のコストもかさむため、脅威モデリングはより良い製品の開発と顧客のアプリケーションに対する信頼向上に役立つだけでなく、予算的にもメリットがある。

脅威モデリングでアプリケーションを通したデータの流れを解明するデータフローのアプローチを採用すれば、主要プロセスとそのプロセスにとっての脅威を洗い出すことができる。セキュリティ専門家と開発者を協力させることにより、攻撃者の視点からアプリケーションを分析しやすくなる。
このアプローチは、新しいアプリケーションに対するユーザーのニーズを収集し、アプリケーションのアーキテクチャと設計に取り掛かった時点で導入するのが最も望ましい。このプロセスにより、早い段階でアーキテクチャ設計の問題が解決され、アプリケーションのセキュリティ上のニーズを洗い出して根拠を示す文書が作成できるだけでなく、攻撃側の論理と手段、および脆弱性を取り除く方法について、関係者すべてが理解を深める一助にもなる。
こうしたアプローチに加え、脅威モデリングの手法を確実に維持するために企業が利用できるツールもある。例えばMicrosoftの脅威モデリングツールは、開発チームが適切なデータポイント、資産、信頼レベル、データフローチャート、脅威、脆弱性を整理し、脅威モデルとして文書化する作業を手助けしてくれる。これに基づき、例えばデータ認証や暗号化といった適切な対策措置の導入・検証を行って、アプリケーションから重要情報や個人情報が流出し、攻撃者の手に渡らないことを確認できる。テストには、アプリケーションに有効なデータと無効なデータを送って適切に処理できるかどうかを検証する侵入テストや、ファジング(fuzzing:入力データを自動生成し、バグを検出するテスト手法)がある。
周辺的なセキュリティのみに頼っていては、アプリケーションのセキュリティは保てない。脅威モデリングプロセスの利用により、セキュリティが最初からアプリケーションに組み込まれ、耐性が強化されてサポート経費を減らすことが同時に保証される。セキュリティが事業上のメリットとなることを経営陣に示す上でも、脅威モデリングは絶好の機会を提供してくれる。
本稿筆者のマイケル・コッブ氏は、データセキュリティおよび解析に関するトレーニングやサポートを提供するITコンサルティング会社、Cobweb Applicationsの創業者でマネージングディレクター。CISSP-ISSAP(公認情報システムセキュリティプロフェッショナル/情報システムセキュリティアーキテクチャプロフェッショナル)の資格を持つ。共著書に「IIS Security」(McGraw-Hill/OsborneMedia)がある。
会員登録を行うことで、300点以上の技術資料がそろったホワイトペーパーや興味・関心分野ごとに情報を配信するメールマガジン、ITmediaや@ITの特集記事がPDFでまとまって読める電子ブックレットなど、各種サービスを無料で利用できます。会員登録(無料)はこちらから