脅威モデルとは?
ハッカー、サービス拒否攻撃、ランサムウェア、不正な情報漏洩など、情報技術のセキュリティに対する新たな脅威のニュースが毎日届いています。それらすべてに対処するために、何から手を付ければいいのでしょうか。どこまでやるかの判断もまた困難です。そこで役立つのが脅威モデリングです。
脅威モデルは、リスクを特定し、優先順位を付けます。多くの場合、情報技術に関連付けられていますが、脅威モデルはさまざまなリスクの特定に使用できます。例えば、脅威モデルでハリケーンが米国南東部の不動産所有者にとってのリスクだと特定されたとしましょう。リスクが特定されると、脅威モデルは、特定されたリスクに優先順位を付け、それらへの対処のコストと利点を比較検討できるようにします。例えば、もっと性能の高い窓と雨戸を比較検討する脅威モデルでは、より優れた対応として雨戸の優先順位が高いかもしれません。
情報技術においては、脅威モデルの用途は、可能性の高い攻撃者やハッカーを割り出し、最も可能性の高い攻撃経路と、最も標的にされる可能性が高いハードウェアやソフトウェアの両方を特定することになります。防御側はそれをもとに、こうした脅威からシステムを保護するために必要なセキュリティコントロールを洗い出し、それぞれのコストと利点をもとにどれを実装するかを決定できます。
脅威モデリングの目標
脅威モデリングは、情報システムに対する脅威とリスクを評価し、それぞれの脅威が成功する可能性を特定し、特定された各脅威に対応する組織としての能力を評価します。
1. セキュリティの要件と脆弱性の特定
脅威モデリングの過程では、セキュリティ要件とセキュリティの脆弱性を特定する必要があります。セキュリティの脆弱性については、多くの場合、外部の専門家を利用して特定する方法が最善となります。実際、外部の専門家の活用は、セキュリティコントロールを評価するための最も費用対効果の高い方法と言えるかもしれません。
まず、データがシステム内をどのように移動するか、どこからシステムに入るか、どのようにアクセスされるか、誰がアクセスできるかを図式化します。システム内のソフトウェアやその他のアプリケーションをすべてリストアップし、システムアーキテクチャを明らかにします。
次に、脅威モデリングを通じてシステムの潜在的な脅威を特定します。例えば、誰でも出入りできる場にパスワード保護のない端末がないか?サーバーが鍵のかかっていない部屋に置かれていないか?機密データは暗号化されているか?
2. 脅威と脆弱性の重要度の定量化
平均的なITシステムは、千単位や万単位、ともすると百万単位の数の潜在的な脅威に対して脆弱である可能性があります。どの組織も、すべての脅威を同じように扱ったり、すべてを無視したりはできません。すべての潜在的な脅威を、自らの存続にとって重大なものとして扱う余裕のある組織はありません。予算も時間も限られていることから、深刻な脅威をそれほどでもない脅威よりも優先する必要があります。
共通脆弱性評価システム (CVSS) は、潜在的な脅威を、それ固有の重大度と、その脆弱性が最初に発見されてから悪用されたかどうかに応じて、1~10でランク付けします。CVSSスコア10は、最も深刻な脅威であることを示します。CVSSスコア1は、最も深刻度の低い脅威であることを示します。CVSSの脅威スコアリングシステムにより、セキュリティの専門家は他で開発された脅威インテリジェンスの信頼できる情報源にアクセスできます。
CVSSの素点では、脆弱性のコンテキストやその情報技術システムにおける位置付けは考慮されていません。脆弱性の中には、その重大度が組織によって異なるものもあります。
3. 修復方法の優先順位付け
それぞれの脆弱性が組織にとってどの程度重大かがわかれば、修正すべき最重要の脆弱性を決定できます。これが脅威分析と呼ばれるプロセスです。脅威分析では、システムの弱点と、それぞれを使用した攻撃によってもたらされる潜在的な脅威を特定します。最も重大な脆弱性に対しては、セキュリティコントロールを強化するために早急な対応が必要でしょう。重大度の低い脆弱性は、悪用されることがほとんどないか、悪用されても危険性がほとんどないため、注意を払う必要がない可能性があります。
脅威モデリングにどうアプローチすべきか?
脅威モデリングに対するアプローチはいくつかあります。適切な手法を選ぶには、まず脅威モデリングのプロセスを深く理解する必要があります。
脅威モデリングのプロセスの理解
脅威モデリングは、ソフトウェアアプリケーションやコンピューターシステムに対する脅威の種類を特定します。脅威モデリングはソフトウェアやシステムの設計中に実施して、システムの運用開始前に脆弱性に対処できるようにしておくのが最善です。ソフトウェア、インフラストラクチャ、脅威環境の変化も、脅威モデルを再検討する重要な機会となります。
脅威モデルリングは、一般に次の5つのステップに従います。
- 分析の目標を設定します。
- 分析するシステムのビジュアルモデルを作成します。
- ビジュアルモデルを使用して、システムに対する潜在的な脅威を特定します。
- 脅威を軽減するためのステップを踏みます。
- 脅威が軽減されたことを確認します。
脅威モデリング手法の違いを理解
脅威モデリングでは、潜在的な攻撃、システムアセット、またはソフトウェア自体に焦点を当てて脅威を特定します。アセット中心の脅威モデリングでは、システムアセットと、対象となるアセットそれぞれの損失がビジネスに与える影響に焦点を当てます。例えば、アセット中心の脅威モデリングでは、ハッカーがオンライン注文管理システムへのアクセスを妨害した場合に、ビジネスにどのような影響が及ぶかを問います。その答えは「深刻な影響が出る」かもしれません。一方、固定資産の追跡にのみ使用されているソフトウェアプログラムにウイルスが感染したとしても、固定資産は紙の上でも追跡されることから、ビジネスへの影響はほとんどないでしょう。
攻撃中心の脅威モデリングでは、システムに対する脅威の中から攻撃が成功する可能性が最大のものを特定します。例えば、攻撃中心の脅威モデリングでは、ハッカーがサービス拒否 (DoS) 攻撃でオンライン注文管理システムを機能不全に追い込むことがどの程度うまくいきそうかを問います。その答えは「当該システムにはよく知られた本質的な脆弱性があり、うまくいく可能性は非常に高い」かもしれません。
最後に、システム中心の脅威モデリングでは、モデル化されているシステムに対する脅威を評価する前にそのシステムを理解することが重視されます。例えば、システム中心の脅威モデリングは、オンライン注文システムのデータの所在やシステムにアクセスする方法と場所を問うことから始まります。
最適な脅威モデリング手法の選択
システムに最適な脅威モデリング手法はどれでしょうか?目的のシステムに最適な手法は、モデル化しようとしている脅威の種類に応じて異なります。以下を検討してください。
- 同業他社が共通して直面する脅威やリスクの種類
- 人員の規模と能力
- 利用できるリソースや予算など
- リスクへの許容度
クラウドストライク2024年版グローバル脅威レポート
「2024年版グローバル脅威レポート」では、隠密な活動の憂慮すべき増加と、ステルスが主流となったサイバー脅威の状況を明らかにしています。データの窃盗、クラウド侵害、マルウェアフリー攻撃が増加しています。検知技術の進歩にもかかわらず、攻撃者がどのように適応し続けているかについてお読みください。
脅威モデリングのフレームワーク例
ここでは、広く知られている脅威モデリング手法の例をいくつか紹介します。
攻撃ツリー
攻撃ツリーは、決定木図に基づいたものです。ツリーの「ルート」、つまり根元のノードは、攻撃者の目標を表します。攻撃ツリーの枝や「葉」は、その目標に達する道筋を表します。攻撃ツリーに、攻撃者が目標に達するための道筋が複数存在することは珍しくありません。
STRIDE
STRIDEは、Microsoft製品に対する多種多様な潜在的脅威を体系的に特定することを目指してMicrosoftによって開発されたものです。STRIDEは、次の6つの潜在的な脅威を示した頭字語です。
- Spoofing identity(アイデンティティスプーフィング):攻撃者が、承認されたシステムユーザーを装ってシステムにアクセスする可能性があります。
- Tampering with data(データ改ざん):攻撃者が、システム内のデータを承認なく変更する可能性があります。
- Repudiation(否認):攻撃者が、あるアクションに対する責任を否定しますが、それが本当かどうかを確認できません。
- Information disclosure(情報漏洩):攻撃者が、アクセスを許可されていない誰かに情報を提供します。
- Denial of service(サービス拒否):正当なユーザーへのサービス提供に必要なリソースを、攻撃者が使い果たします。
- Elevation of privilege(特権昇格):攻撃者が、許可されていないこと(機密データへのアクセスなど)を行います。
PASTA
Process for Attack Simulation and Threat Analysis (PASTA) では、アプリケーションを攻撃者目線で眺めます。PASTAでは次の7ステップに従います。
- ビジネス目標、システムセキュリティ要件、各種脅威のビジネスへの影響を定義する
- 環境の技術的範囲と、インフラストラクチャとソフトウェアの依存関係を定義する
- アプリケーション内でのデータフローを図式化する
- システムを攻撃シミュレーションで攻撃する
- 脅威と既存の脆弱性とを対応付ける
- 攻撃ツリーを作成する
- 結果として生じるリスクを分析し、それらに対抗するための費用対効果の高い対策を講じる
Trike
Trikeでは、脅威モデルを使用して各種アセットのリスクの許容度を定義することで、リスクを排除するのではなく管理します。Trikeは、システムアセットとシステムユーザーそれぞれについて、各アセットに対するユーザーのアクセスレベル(作成、読み取り、更新、削除)を示し、またユーザーが各アクションを実行する権限を常に持っているか、時々持つか、まったく持たないかを示します。
VAST
Visual, Agile and Simple Threat (VAST) は、アプリケーションの脅威または運用上の脅威に適用される、自動化された脅威モデリングプロセスです。アプリケーションの脅威をモデル化するために、VASTではシステムのアーキテクチャに対する脅威を図式化します。運用上の脅威をモデル化するために、VASTでは攻撃者の視点から脅威を図式化します。
CVSS
共通脆弱性評価システム (CVSS) は、各脆弱性に重大度スコアを割り振ります。このスコアは、潜在的な脅威の本質的な脆弱性、脆弱性の経時的な進化、組織のセキュリティレベルを組み合わせたものです。