1. 概論
1.1 目的
脅威モデルの目的はシステムのアーキテクチャにおけるセキュリティ問題をリスクに基づいて客観的に評価することです。集められた情報は利害関係者に提供され、どのように脅威を軽減してリスクを許容可能なレベルまで下げるかについて、十分な情報に基づいた判断を下すことができます。
これが脅威モデリングの主な焦点ですが、脅威モデリングを利用する理由は他にもたくさんあります 1 。
システムセキュリティに関するビジョンを利害関係者に共有して合意を得るため。
システムに対する利害関係者の認識と知識を高めるため。
システム設計を文書化するため。プライバシーバイデザインなどの特定の法的要件についてのデューデリジェンスを文書化します。
実装のテスト、要件の妥当性確認など、他のプロセスのインプットとするため。たとえば、脅威モデルには何を保護する必要があるかを記述し、システムの要件を列挙します。テスト担当者が脅威モデルを当てにできる場合、ペネトレーションテストははるかに効率的になるでしょう。
セキュアアーキテクチャに関する知識を組織内に広めるため。脅威モデルから得られた教訓は今後の他のシステムの設計にも役に立つ可能性があります。
脅威モデルプロセスを組織内に導入して成熟させることは困難です。このプレイブック 2 はそのプロセスをガイドし、組織内で達成したい脅威モデルの成熟度に到達するのに役立つでしょう。
1.2 戦略
この脅威モデリングプレイブックではアジャイル手法を用いてソフトウェア、ハードウェア、またはその両方を作成または統合していることを前提としています。「人」「プロセス」「ツールや技術」の三つのトピックに基づいて脅威モデリングの実践の成熟度を測定していきます。
あなたの組織がアジャイル開発手法を使用していない場合や、このプロセスが新しく、まだ最適されていない場合でも、このガイドを使用できます。開発手法が導入されていない場合には 2.2 章、4.4 章、4.6 章でツールやプロセスに関する評価が必要となります。それでも、アジャイル開発手法を使用していない多くの組織で脅威モデリングが行われています。
脅威モデリングプロセスに関する成熟度を測定するための方法論やフレームワークがいくつかあります。私たちは OWASP SAMM 3 プロジェクトの影響を強く受けており、成熟度を三つのレベルで測定します。
1.3 このプレイブックの使い方
このプレイブックを使用するにはいくつかの戦略があります。システムの数や脅威モデルに必要な "綿密さ" のレベルによって異なります。
使うことができる戦略はいくつかあります。
一つのシステムから始め、非常に成熟した脅威モデルを用いて、非常に成熟した状態の脅威モデリングの実践を行います。望ましい成熟度に達した後、次のシステムに進みます。
複数のシステムを並行して始めます。脅威モデリングの実践を成熟させながら、それぞれの脅威モデルに立ち返ってそれを改善します。
蒸気を組み合わせます。組織に多数のシステムがある場合には、(最も重要な) アプリケーションの上位 10% から並行して始めます。
また、既存のシステムごとに戦略を決める必要があります。
現在存在する 完全なシステム の脅威モデリングを行います。理由: このシステムは重要であり、関連するリスクを可能な限り減らすことが目標です。
システム上に施された 変更 について脅威モデリングを実行します。理由: このシステムは長い間使用されてきました。重大なセキュリティ問題があるとすれば、今までに悪用されているはずなので、新しい機能に限定することができます。
システムの 最も重要なユースケース について脅威モデリングを実行します。理由: 本格的な脅威モデルを作成するには時間と労力がかかりすぎて経済的に成り立ちません。とはいえ、一般的に最も重要なユースケースと関連している、最も重要なリスクには対処したいと考えています。迷うときには、どのユースケースが最も価値をもたらし、逆にどの "最悪のシナリオ" が最も価値を失うリスクがあるかを考えてください。ある企業ではこれを金銭で測ることができますが、別の企業では風評被害や身体的危害が影響を与える可能性があります。
この脅威モデルプレイブックにはアメリカンフットボールのように 'プレイブック' をデザインできるいくつかの要素があります。各章はあなたの組織や状況に合わせてカスタマイズされた 'プレイブック' で使用できる 'プレイ' と考えることができます。最終目標に向かって '最大限に前進' するためにプレーすべきです。
Last updated