David Sastre Medina
Judy Kelly
正式には、脅威モデリングとは、潜在的な脅威を特定し、深刻度を評価し、可能な緩和策を検討するプロセスです。別の言い方をすると、脅威モデリングは、あなたが構築しているシステムがどのように壊れる可能性があるかを考え、それを防ぐためにあなたのチームができることを検討することです。
脅威モデリングはツールではなくプロセスであることを強調することが重要です。ツールはプロセスをより効率的にするのに役立つが(例えば、視覚化を提供したり、時系列の変化を追跡したり、脅威モデルに影響を与える可能性の高いソフトウェアの変更を特定したりする)、現在のところ、ツール自体は、他の人間がシステムをどのように攻撃するかを推論する人間の代わりにはなることは難しいとされています。
脅威モデリングは、複数のステークホルダー(開発者、アーキテクト、サービスエンジニ ア、設計者、エンドユーザー、セキュリティ専門家など)が一緒になって、システムをさまざまな角度から見るときに最も効果的になります。ディスカッションは、システムがどのように使用され、どのように機能すると想定され、実際にどのように機能するかについて説明するようなシンプルなものにすることができます。セキュリティ・スペシャリストは、実施されているセキュリティ管理についてよりよく理解するために質問し、多くの場合、全員がシステムに影響を与えるリスクについて深く理解して帰ります。
評価の実施にはいくつかのアプローチを用いることができます、 例えば、設計中心の脅威モデリングであれば、信頼できる要素と信頼できない要素を分離する仮想境界をデータが通過する領域に主に焦点を当てるアプローチが取られます。
メリット
脅威モデリングは、発見された脅威とその適切な緩和策を論述することによって、システムに組み込まれたセキュリティへの対応を改善し、その姿勢に対するユーザの信頼を高めることができます。正しく実行されれば、ソフトウエアプロジェクト全体に明確な見通しをもたらし、セキュリティ対策の正当化に役立ちます。
脅威モデリングには、主に次のようなメリットがあります:
より安全なシステム: 早期に適切な脅威モデリングを行うことで、セキュアな設計に基づくセキュアなシステム構築の基盤が確立されます。プロセス全体を通じてセキュリティを念頭に置いてシステムを設計することで、脆弱性を発見する可能性が低くなり、チームは自信を持って提供する機能に集中できるようになります。
リリース前に設計上の欠陥を早期に発見することによりコストを削減: 脅威モデリングは通常、システム設計段階で行われ、セキュリティリスクを早期に特定することができます。脆弱性を早期に発見することで、緩和策が必要になったときの貴重な時間と金銭的リソースの節約につながります。セキュリティリスクを解消するためのコストは、システムのリリースが近づくにつれて劇的に増加し、公開後は指数関数的に増加します。発見されなかった脆弱性がブランドにもたらすコストは、計り知れないものになる可能性さえあります。
他の手法では発見できないような弱点に触れる可能性を減らす: 設計・開発チームは、システムを開発するためにさまざまな方法を用います。コードレビューやテストプランレビューは、エンジニアがシステムの有効性を評価するのに役立ちますが、入力検証や暗号化の必要性といったセキュリティ上の懸念事項は明らかにされないかもしれません。脅威モデリングは、コンポーネントの要素間に存在する関係を調べ、要素間のデータの流れを分析し、潜在的に悪用可能な弱点を明らかにすることが出来ます。
脅威モデリングプロセスのゴールは、以下のような効果的な手段を提供するし、エンジニアリングチームがアプリケーションに対する既知のセキュリティ脅威を文書化し、その対処方法について合理的な決定を下せるようになることです:
基本的に、脅威モデラーは、システムに内蔵されたセキュリティ態勢を、以下によって改善するよう検討します:
特定のサービスの規模に応じて、1つの脅威モデルを完成させることもできるし、システムを機能別、コンポーネント別、エンジニアリングチーム別に分解して、システムごとに複数の脅威モデルを完成させることもできます。
ワークロード全体に対して単一の脅威モデルを作成するのではなく、個々の機能やコンポーネントごとに脅威モデルを作成することには、多くの利点があります:
脅威モデリング をチームや顧客、ステークホルダーと実施するにあたりより詳細にお知りになりたい場合は、以下のリンクを参照してください。