Chapter 5
Attack Libraries
SCSK 株式会社 玉木 誠
Chapter 5 Attack Library の概要
• STRIED の問題
抽象的であるため利用が難しい
• Attack Library( アタックライブラリ ) とは
システムの脅威を効率的に発見するためのツール
アタックライブラリはすべての脅威のリストではない
あくまでモデリングを助けるツール である
• 説明されている内容
1. Libraries and Checklists (チェックリスト)
2. Libraries and Literature Reviews (文献レビュー)
3. CAPEC (
Common Attack Pattern Enumeration and Classification)
4. OWASP Top 10
♯アタックライブラリを作成するための方法とアタックライブラリの例が本 Chapter で説明されている。なお、アタックライブラリの例である CAPEC の説明が一番多い が、 CAPEC 自体の説明であり、その利用方法などの説明ではない。
アタックライブラリの作成に重要な要素
• アタックライブラリの作成に重要な要素
1. Audience (利用者)
• 内容や構造に影響を与える
2. Detail versus abstraction (抽象化レベル)
• 各エントリに対する内容をどの程度詳細化するかに影響を与える
3. Scope (範囲)
• 範囲によってライブラリに含まれる内容も変わる
その他にもライブラリの詳細度など影響を与える要素はある
• アタックライブラリの抽象度と種類
STRIDE OWASP Top 10 CAPEC Check list抽象的 具体的
チェックリストとは
• チェックリストとは
問題の特定漏れをなくすために非常に有効なツール 。
問題のリストはミスを再発しないように出来る。
チェックリストは簡潔かつ実用的でなければならない。
チェックリストは脅威モデリングプロセスの一つとして
有用
• チェックリストは有益 多くのセキュリティ専門家はチェックリ
ストに懐疑的である。
しかし、「 The Checklist
Manifesto 」( by Atul Gawande )
を読めば、チェックリストが有益である
ことが分かるだろう。
♯ 邦訳は「アナタはなぜチェックリストを使わないのか
?【ミスを最大限に減らしベストの決断力を持つ!】」
( ISBN-10: 4863912803/ISBN-13: 978- 4863912809 )
チェックリストの限界
• チェックリストには限界がある
チェックリストが作成された時には脅威モデリングがさ
れていると言える。
チェックリストは一般的な問題を回避出来るが、チェッ
クリストは脅威モデリングを置き換えるわけではない。
チェックリストは作成者が考えた問題を回避することが
出来るが、セキュリティについて検討することの助けに
はならない。言い換えれば、 チェックリストは任意の脅
威を見つける助けにはならない 。
文献レビュー
• 文献レビューとは
(図書館などから)文献を調べ、過去に起こった 脅威を
分類してアタックライブラリを作る こと
例としては、動物園( Zoo )のように、見つけたマル
ウェアを特定のカテゴリによって分類したりすることな
どがあげられる
カテゴライズには、評価の一環性が重要であり、評価の
方法をフローチャート化することが有効
♯ 企業における適用を想定する場合は、 IPA や JPCERT/CC,NISC や各種研究機関(大 学など)で公表している文献、事故を発生した組織の調査報告書などを調査して、 対象システムに対する脅威のリストを作成することが該当すると考えられる。
♯ ただ、この文献レビューを行ってアタックライブラリを作るのは、脅威モデリング のインプット情報としてやるのは、負荷が重いのではないか、むしろ、次以降に挙 げられている CASPEC や OWASP Top 10 などを利用した方が良いのでは?
CAPEC
• CAPEC とは
Common Attack Pattern Enumeration and Classification
MITRE が定義した一般的な攻撃パターンの列挙と分類
TM 本執筆時は、 15 カテゴリと 476 攻撃パターンに構造化されて
いた。現在は、バージョンアップして「 CAPEC List Version 2.
8 」になっており、「 Mechanisms of Attack 」( 17 カテゴリ、
504 パターン) と「 Domains of Attack 」( 6 カテゴリ、 38 パ
ターン)に分けられている。
STRIDE はセキュリティプロパティのセットであるが、 CAPEC は攻
撃パターンのセットである。この点が STRIDE との差異。
CAPEC はモデリングのためのツールとして利用出来るが、複雑で
ある。しかし、多くのツール魅力的なツールがありモデリング実
施者にはメリットがある。
URL
http://capec.mitre.org/data /
♯ TM 本では、 CAPEC に結構なページ数を割いているが、 CAPEC についての説明が中心である。し かし、 CAPEC はすでにバージョンが変更されているため、以降の説明は最新版の CAPEC の、
「 Mechanisms of Attack 」をベースとして記載する。
CAPEC ページ (1)
CAPEC ページ (2)
CAPEC-Mechanisms of Attack Category
• Gather Information • 情報収集
• Deplete Resources • 資源枯渇
• Injection • インジェクション
• Deceptive Interactions • 虚偽のインタラクション
• Manipulate Timing and State • タイミングや状態の操作
• Abuse of Functionality • 機能の乱用
• Probabilistic Techniques • 確率論的手法
• Exploitation of Authentication • 認証情報の搾取
• Exploitation of Authorization • 認可情報の搾取
• Manipulate Data Structures • データ構造の操作
• Manipulate Resources • リソースの操作
• Analyze Target • ターゲット分析
• Gain Physical Access • 物理的アクセス
• Execute Code • コード実行
• Alter System Components • システム・コンポーネントの変更
• Manipulate System Users • システム・ユーザーの操作
♯ Category's は 17 となっているが、 View1000 では 16 しかない…
CAPEC-Mechanisms of Attack Category Expand
CAPEC-Parameters
Summary Payload
Attack Execution Flow Activation Zone
Attack Prerequisites Payload Activation Impact Typical Severity Related Weaknesses
Typical Likelihood of Exploit Related Attack Patterns
Methods of Attack Relevant Security Requirements Examples-Instances Related Security Principles
Attacker Skills or Knowledge Required Related Guidelines Resources Required Purposes
Indicators-Warnings of Attack CIA Impact
Obfuscation Techniques Technical Context Solutions and Mitigations References
Attack Motivation-Consequences Content History Injection Vector
CAPEC- パラメータ
概要 ペイロード
攻撃実行フロー アクティベーションゾーン
攻撃の前提条件 ペイロードの活性化への影響
典型的な深刻度 関連する弱点
エクスプロイトの典型的な可能性 関連する攻撃パターン
攻撃の方法 関連するセキュリティ要件
例 - インスタンス 関連するセキュリティ原則
必須の攻撃スキルや知識 関連するガイドライン
必須リソース 目的
攻撃の指標、警告 CIA への影響
難読化テクニック 技術的なコンテキスト
ソリューションおよび軽減策 リファレンス
攻撃動機 - 帰結 コンテンツの歴史
インジェクションベクトル
CAPEC- イメージ (1)
CAPEC- イメージ (2)
CAPEC- イメージ (3)
OWASP Top 10
• OWASP Top 10
Open Web Application Security Project によって公開
されている、脆弱性のトップテンリスト
Web アプリケーションを開発するにあたってのモデリング
のための良いリスト
掲載されているのは 2013 年版で最新版
ただし、 OWASP Top 10 は概ね 3 年に 1 度更新されている
ため、 2016 年が見直しのタイミングになる(更新期間は
固定されていない。)
URL
https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project ( 日本語版 )
https://www.owasp.org/images/7/79/OWASP_Top_10_2013_JPN.pdf
• STRIED 要素≒ OWASP Top 10 脆弱性
STRIED の要素と同様に、 OWASP Top 10 の脆弱性をモデ
リングに使う要素として使える
OWASP Top 10
• OWASP Top 10 2013
A-1 インジェクション A-6 機密データの露出
A-2 認証とセッション管理の
不備 A-7 機密レベルアクセス制御
の欠落
A-3 クロスサイトスクリプテ
ィング( XSS ) A-8 クロスサイトリクエスト
フォージェリ( CSRF )
A-4 安全でないオブジェクト
直接参照 A-9 既知の脆弱性を持つコン
ポーネントの使用
A-5 セキュリティ設定のミス A-10 未検証のリダイレクトと
フォワード
OWASP Top 10 イメージ
• T M 本での推奨理由
1. リストとして程良い数
2. 脅威の種類も妥当
3. 以下の情報が含まれており
使いやすい
• 脅威エージェント
• 攻撃ベクトル
• セキュリティ上の弱点
• 技術およびビジネスへの影
• 響攻撃のシナリオ例
• 防止方法
• 参考情報
# OWASP Top 10 –補足: OWASP Proactive Controls
TM 本で紹介されている OWASP Top 10 は脆弱性の一覧であってモデリングの要素として利用 する場合は良いが、開発する場合における要点としては使いづらい。
そのため OWASP Proactive Controls プロジェクトにおいて、脆弱性を作りこまないために 開発時に気を付けるべきことについて、 OWASP Top 10 Proactive Controls 2016 として公 開している。こちらの方がより開発における脆弱性の作りこみへの対処という点では使いや すい。
(* TM 本の説明に当てはめるとチェックリストに近い)
https://www.owasp.org/index.php/OWASP_Proactive_Controls
• OWASP Top 10 Proactive Controls 2016
1. Verify for Security Early and Often 2. Parameterize Queries
3. Encode Data
4. Validate All Inputs
5. Implement Identity and Authentication Controls 6. Implement Appropriate Access Controls
7. Protect Data
8. Implement Logging and Intrusion Detection 9. Leverage Security Frameworks and Libraries 10. Error and Exception Handling
OWASP Top 10 の脆弱性のどれに対する対策かについても整理されている
https://www.owasp.org/index.php/OWASP_Proactive_Controls#tab=OWASP_Proactive_Controls_2016
結論部分
• 総括
アタックライブラリは、攻撃手法に深く精通していない設計者
が利用するにあたって有効である。
• チェックリスト
包括的なチェックリストによって、攻撃への対策をバランスよく検討 することも出来る。
• 文献レビュー
文献レビューは、攻撃手法に対しての知見を集めるために有効である
。
• その他攻撃ライブラリ
CASPEC や OWASP Top 10 などのアタックライブラリを利用して、利用 している技術やシステムに対して、適切なパラメータを検討する事も 出来る。
♯アタックライブラリは、モデリングをするにあたって、攻撃手法を発想/検討する ためのツールという位置づけと考えられる。