ブログ

FFRI BLOG

Monthly Research 「Microsoft Threat Modeling Toolの利用例」

 近年のサイバー攻撃の増加を受け、さまざまな機器やシステムに対して脅威分析の必要性が高まっています。脅威分析を行うことによって、これまで見落としていた潜在的な脅威を発見し、対策が可能になります。
 脅威分析の実施には、機器やシステムの設計・実装に関する知識とセキュリティに関する知識が必要です。しかし、知識があっても、高度で複雑な対象の脅威分析には多くの時間を要する場合があります。。
 そのため、効率的に脅威分析を行うための支援ツールがいくつか開発されています。これらのツールを利用することで、分析結果の精度を向上させたり、分析時間を短縮したりできる可能性があります。
 今回のMonthly Research では、脅威分析のうち脅威の洗い出し効率的に実施するツールの1つであるMicrosoft Threat Modeling Tool 2016の利用例を紹介します。

脅威分析を支援するツールについて

 脅威分析を支援するツールには、DFD(Data Flow Diagram)やAttack Treeといった脅威分析で使う図の作成を支援したり、図から脅威を洗い出したりする機能を持つものがあります。 (表1)

表1 脅威分析を支援するツール

ツール名称 機能
Microsoft Threat Modeling Tool DFD作成、DFDから自動で脅威を洗い出す
TRIKE DFD作成
SeaMonster Attack Tree、ミスユースケース図作成
SecurITee Attack Tree作成

分析対象のシステムの概要

 一般的なネットワークカメラシステムに対してMicrosoft Threat Modeling Toolを用いて脅威分析を行った結果を紹介します。
 まず、Threat Modeling Toolを利用して分析対象システムのDFDを作成しました。(図1)
 このシステムでは、Webサーバーを中心に、ネットワークカメラ(図中ではDeviceと表記)と、データベースサーバーが接続されているという構成になっています。


図1 ネットワークカメラシステムのDFD

結果の分析

 DFDを作成しAnalysis Viewを表示するとThreat Modeling ToolがSTRIDEに基づいて機械的に脅威が導出されます。図2がThreat Modeling Toolによって洗い出された脅威の一覧です。


図2 Threat Modeling Toolによって洗い出された脅威一覧

 得られる脅威情報には、脅威のカテゴリ (なりすまし、 改ざん、 否認、 情報漏えい、 権限昇格)と脅威の説明が含まれています。洗い出された脅威の例を用いて解説します。(図3)


図3 洗い出された脅威の例

 上部の「Cross Site Scripting」が脅威のタイトルです。タイトルからは大まかな脅威の概要について知ることができます。Descriptionには脅威について、一般的な説明が記載されており、上の図3の場合は信頼できない入力をサニタイズしない場合、クロスサイトスクリプティング(XSS)攻撃を受ける可能性があると書かれています。利用者は、このDescriptionの内容から当該箇所について指摘された脅威について対策されているか確認することができます。
 Stateは対応の状態についての項目です。この項目は、標準ではすべて「Not Started」になっており、 利用者が各自対応状況を設定できるようになっています。Stateを利用することにより脅威ごとの対策状況の把握や、対策内容について把握しやすくなります。

対策の実施

 最後に一連の分析の流れの中で得られた脅威に対策を実施します。洗い出された脅威の影響度や発生頻度は様々であるので最初に対処すべき優先順位をつけます。この優先順位をつける際は、脅威の影響度や発生する条件など(人命に関わるものは影響度が大きい)を数値に換算し、スコアリングすることによって総合的に判断して決めます。スコアリングを行う際の基準は様々ですが、例として共通脆弱性評価システム(CVSS)の攻撃元区分や攻撃条件の複雑さの項目が一つの指針になります。
 優先順位をつけたら実際に脅威に対して対処します。影響度が高い脅威については仕様の変更や、機能の制限や変更などによって脅威が発生しないように修正します。
 Priorityは優先度についての項目で、数多く洗い出された脅威に優先度をつけて対応する際に利用します。ここで、注意しなければいけないこととして、この優先度はデフォルトではすべてHighとして出力されることです。
 Categoryには脅威のカテゴリが記載されています。これはSTRIDEに準拠しています。
 Justificationには脅威について行った対策を記載します。こちらの情報は利用者が適宜情報を追加します。
 洗い出された脅威について分析した結果、Webサーバーに関係する部分の脅威が特に多く洗い出されたことが分かりました。この結果をふまえると、攻撃される可能性が他の機器と比べて相対的に高くなるので、Webサーバーについてのセキュリティ対策は他の機器などの要素よりも重点的に対策を検討すべきであると言えます。

効果的な使い方

 Threat Modeling Toolにはテンプレート作成機能があります。この機能を利用するとDFDのステンシルに独自の機器を追加したり、新しい脅威の情報を追加したりすることができます。DFDの要素に任意のイラストを利用できるため見やすいDFDの作成が可能になります。脅威情報の追加については独自に調査した脅威情報や、重点的に分析を行いたい脅威の情報を追加することによってより柔軟な分析が可能になります。

まとめ

 Threat Modeling Toolは利用者がDFDを作成すれば、自動的に脅威を洗い出してくれるため、脅威分析の経験が少ない人でも手軽に利用できます。また、脅威を洗い出す以外にもThreat Modeling Toolを利用すると脅威に対処すべき優先度の設定や対策内容の記載が行えるので、対策の検討にも利用できます。
 しかし、脅威は機械的に洗い出されるため、対象のシステムによっては存在しない脅威も誤検出される可能性があります。そのため、想定以上に多くの脅威が洗い出された場合、DFDに間違いがないか確認したり、分析結果についてセキュリティ専門家に確認したりすることをお勧めします。
 脅威分析の支援ツールを積極的に利用することで、脅威の分析漏れを防ぎつつ、分析時間を短縮できるため、より効率的な脅威分析が実施できると思います。


Monthly Researchのダウンロードはこちら(日本語 / English


関連記事

Monthly Research 「STRIDEの変化形およびセキュリティ要件で導き出す脅威分析手法」

Monthly Research 「プラットフォームセキュリティ評価フレームワーク”CHIPSEC”について」

pagetop