脅威分析モデルとは?
脅威分析モデル(STRIDE)とは、「攻撃側や情報を盗む側に立っての思考」を構造化・システム化して製品・情報システムと内部漏洩のリスクと脅威を評価するためのモデルで、これらのリスクと脅威に対して封じる (削減する)ための対策構築に有効な手段です。このモデルの他にATT&CK の12項目(APT3.0に制定されている技術要素)に加えて詳細を解析すれば、さらに細かく完璧なSTRIDE脅威分析モデルを構築できます。このモデルはさらにハッキング攻撃、内部脅威、マルウェアAPT保護の評価に使用できます。
脅威分析モデルは製品設計段階・構造評価段階・製品運用時に適用して、攻撃側の思考で製品自体の安全性と有効性を評価、システムの各コンポーネントが改竄されるか、情報漏洩の可能性、攻撃を受けた際などの分析にも活用できます。脅威分析モデルが比較的製品構造・機能設計の安全性確保に使われるので、エンコーディング自体の安全性を保証できませんが、出力した脅威分析モデル報告には全面的なセキュリティ要望が含まれています。これらの要望は大きな方針設計だけでなく、ユーザ認証・権限管理・監査に対しても詳細なセキュリティソリューションを実装、実際の認証方式を推奨しており、パスワードの安全保存アルゴリズムが記載されます。以上のことから、脅威分析モデルはエンコーディングの安全性を保証できないが、開発部門の安全性に関するコードの開発をガイドして、侵入テストの展開補助にもできます。
脅威分析モデルを作成する理由
1. 攻撃側に立って脅威を認識し、できる限り製品構造と機能設計のセキュリティリスクを発見するため
2. 脅威の削減対策、リスクの回避策などを制定し、製品の安全性と保護強度を確保するため
脅威分析モデルはいつ作成するべきか
脅威分析モデルは企業のソフトウェア開発セキュリティライフサイクル(SDL)に入れるべきです。
1. 新製品や新機能の設計段階で脅威分析モデルを構築して、リスクの発見・削減対策を制定すべきです。削減対策は安全性確保の一部で、製品の要望に落し入れて継続的に追跡することで、製品の安全性を確保する必要があります。
2. システム運用過程
脅威分析モデルを構築、展開することでリスクを調べ、侵入テストの補助として事前にセキュリティホールを検知するのに使用します。
よく使われる脅威分析モデル方法「STRIDE」
STRIDE はマイクロソフトが開発した脅威分析モデルの方法とツールです。
STRIDE における6つの脅威
STRIDE は攻撃側に立って、脅威を6つに分類します。それぞれSpooling(偽造)、Tampering(改竄)、Repudiation(否認)、Information Disclosure(情報漏洩)、DOS(サービス停止) 、 Elevation of privilege (権限引き上げ)。
この6つの分類は、情報セキュリティの3要素と3つの基本属性に関連しています。
情報セキュリティ3要素 |
情報セキュリティ3属性 |
機密性 | ユーザ認証(Authentication) |
完全性 | 権限管理(Authorization) |
可用性 | 監査(Auditing) |
脅威 | セキュリティ属性 | 定義 | 実例 |
偽造(S) Spoofing |
認証 | 人や物の偽装 |
他ユーザのアカウントに偽装 特定サイトのアドレスに偽装 |
改竄(T) Tampering |
完全性 | データやコードの改竄 | 注文書の内容改竄、ソフトウェアに必要なDLLを改竄して悪意のプログラム植え込む、パケットの改竄 |
否認(R) Repudiation |
監査 | 操作内容の否認 | 改竄操作の否認、特定メール送信の否認、特定サイト閲覧の否認 |
情報漏洩(I) Information Disclosure |
機密性 | 情報漏洩や窃取される | ユーザ情報が漏洩する、悪意や不注意によらず重要な顧客データを流出して許可なく利用される |
サービス停止(D) Denial of Service |
可用性 | リソースが消耗されてサービスが停止する | DDOSでサイトを接続できなくする、システムをハングアップさせる、サイトのサービスを停止させる |
権限引き上げ(E) Elevation of Privilege |
権限 | 未許可で権限を引き上げる | 一般ユーザ権限を管理者権限に引き上げる、リモートの一般ユーザを非正規な方法で権限を引き上げてシステム管理者のみ許可される命令を実行する |
グローバルでプライバシー保護への関心が広がるに連れ、プライバシー保護自体機能が製品の重大脅威になってきています。そのため、STRIDE の6つの脅威はさらにプライバシー(Privacy)が追加され、 ASTRIDEに改定されています。(AはAdvancedのA)