い 余談:STRIDE 発明 人
• Loren Kohnfelder Praerit Garg 二人
• 二人 Microsoft 在籍 い 時期 あ
そ 時 発明 思わ
STRIDE
• STRIDE 脅威 発見 手法
– 脅威= 悪いこ 出来事 things that might go wrong
– プ ー 脅威 い 不向 → Chapter 6 別 手法 説明
• 以下6 脅威 概念 頭文字
– あ 説明
Spoofing Information disclosure 情報漏えい
Tampering
改 Denial of service
ービ 不能 Repudiation
否認 Escalation of privilege 権限昇格
ソフ 生 う
勘違い い け
STRIDE 脅威 分類 い!
• STRIDE 脅威 導出 手法 あ
導出 脅威 分類 い
– あ 脅威 悪いこ 出来事 見 け そ 脅威 S, T,
R, I, D, E あ ? ップ う くい い
• 脅威 対応 STRIDE ップ い例
例 あ ー ー ム 認証 ー ベー 改 こ
他 ー ー ・・・ いう脅威
– こ 脅威 Tampering 改 いえ Spoofing いえ
あ ー ー ム 認証
ー ベー 改 こ
他 ー ー
Spoofing
Tampering 改
脅威
ち ?
STRIDE 使う様子
• STRIDE 脅威 発見 手法
– 脅威= 悪いこ 出来事 things that might go wrong
ソフ 生 う
分析対象 ム 脅威 連想
S, T, R, I, D, E
脅威 脅威 脅威 脅威
発見 た脅威
STRIDE 脅威 発見 様子 見 い う
分析対象 ム
脅威 連想
S, T, R, I, D, E
脅威 脅威 脅威 脅威
発見 た脅威
Spoofing Information disclosure 情報漏えい
Tampering
改 Denial of service
ービ 不能 Repudiation
否認 Escalation of privilege 権限昇格
例題:Acme/SQL database いう cloud service
S:Web Clients
• A web client could attempt to log in with random credentials or stolen credentials, as could a SQL client.
• 攻撃者 Web ラ ン すま ン ム く 盗
認証情報 ワー 使 Acme Front End
ン う SQL ン 同様
Spoofing Information disclosure 情報漏えい
Tampering
改 Denial of service
ービ 不能 Repudiation
否認 Escalation of privilege 権限昇格
S:SQL Clients
• If you assume that the SQL client is the one you wrote and allow it to make security decisions, then a spoofed (or tampered with) client could bypass security checks.
• SQL ン 何 セキ ッ 設計
い 攻撃者 SQL ラ ン すま
改 セキ ッ う
S:Acme Front End
• The web client could connect to a false (spoofed) front end, and end up disclosing credentials.
• 攻撃者 Acme Front End すま Web ン
く 認証情報 入手 う
S:Database, S:Log Analysis
• A program could pretend to be the database or log analysis program, and try to read data from the various data stores.
• 攻撃者 Database や Log Analysis プ ラム すま
ー ソー く ー 読 取 う
T: …
• Someone could also tamper with the data they're sending, or with any of the programs or data files.
• 攻撃者 プ ラムや ータフ 伝送 ータ 改
・・・ 悪いこ 起こ
Adam 手抜 た 思います
Spoofing Information disclosure 情報漏えい
Tampering
改 Denial of service
ービ 不能 Repudiation
否認 Escalation of privilege 権限昇格
T:Web Clients, T:SQL Clients
• Someone could tamper with the web or SQL clients. (This is nominally out of scope, as you shouldn't be trusting external entities anyway.)
• 攻撃者 Web ラ ン / SQL ラ ン 改
そ 正規 ー ー 使わせ こ 認証情報 得 ・・・
• 外部 ン ープ外 考え そう
R:Web Clients, R:SQL Clients
• The customers using either SQL or web clients could claim not to have done things.
• 正規 ー ー Web ン / SQL ン
こ い わた や いませ 主張す
• 正規 ー ー 悪意 あ 場合 あ 勘違い 悪意 い場
Spoofing Information disclosure 情報漏えい
Tampering
改 Denial of service
ービ 不能 Repudiation
否認 Escalation of privilege 権限昇格
I:Database
• The most obvious information disclosure issues occur when confidential information in the database is exposed to the wrong client.
• 明 情報漏えい問題 ータベー 内 機密情報 悪
い ラ ン 漏えいす こ セ 制御不備 突
い 攻撃 ネッ ワー 盗聴 攻撃 被害 発生
Spoofing Information disclosure 情報漏えい
Tampering
改 Denial of service
ービ 不能 Repudiation
否認 Escalation of privilege 権限昇格
I:Database, I:Data, I:Management, I:Logs
• The database files (partitions, SAN attached storage) need to be protected by the operating system and by ACLs for data within the files.
• ータベー フ パー ンやSAN ー
内容 漏えい うこ い う OS セ 制御設定
そ 保護 必要 あ
I:Logs
• Logs often store confidential information, and therefore need to be protected.
• Logs 中 あ ち 機密情報 漏えい うこ い
う Logs 保護 必要 あ
D:Acme Front End
• The front ends could be overwhelmed by random or crafted requests, especially if there are anonymous (or free) web accounts that can craft requests designed to be slow to execute.
• 処理 重 く 攻撃者 Acme Front End 送
け Acme Front End 利用 い状態 陥 匿名 無
料 カ ン 使 超重 い 作 こ あ
Spoofing Information disclosure 情報漏えい
Tampering
改 Denial of service
ービ 不能 Repudiation
否認 Escalation of privilege 権限昇格
D:network connections
• The network connections could be overwhelmed with data.
• 攻撃者 ネッ ワー 大量 ッ 送信 ネッ
ワー 通信 利用 い状態 陥
D:Database, D:Logs
• The database or logs could be filled up.
• 攻撃者 Database Logs ー い い い
Database や Logs 利用 い状態 陥 正常 動作 く
D:network connection
• If the network between the main processes, or the processes and databases, is shared, it may become congested.
• プ セ 機能 単位 ン ーネン 間 ネッ ワー 通信
共有 い こ 攻撃者 セ 可能 あ
混雑 せ ネッ ワー 利用 い状態 陥
E:Web Clients, E:SQL Clients
• Clients, either web or SQL, could attempt to run queries they're not authorized to run.
• 攻撃者 Web ン SQL ン 許可
い い ま 権限 越え 問合せ処理 実行 う
Spoofing Information disclosure 情報漏えい
Tampering
改 Denial of service
ービ 不能 Repudiation
否認 Escalation of privilege 権限昇格
E:Web Clients, E:SQL Clients そ 2
• If the client is enforcing security, then anyone who tampers with their client or its network stream will be able to run queries of their choice.
• ン セキ ッ 設計 い
ン そ ネッ ワー 通信 内容 改 こ
攻撃者 望む 権限 越え 問合せ 実行す こ
E:Database
• If the database is capable of running arbitrary commands, then that capability is available to the clients.
• Database SQL OS上 任意 ン 実行
機能 備わ い 攻撃者 Database マ ン上 任意 コマ
ン 権限 越えた処理 実行す い
E:Log Analysis
• The log analysis program (or something pretending to be the log analysis program) may be able to run arbitrary commands or queries.
• Log Analysis 任意 コマン や問合せ 実行 可能性 あ 例え
細工 ー 受信 ー 処理 任意 ー 実行
う
• Log Analysis trust boundaries 外 あ Log
Analysis あ こ あ こ 攻撃者 被害 あう ー
脅威 考慮 必要 い
E:DB Cluster
• If the DB cluster is connected to a corporate directory service and no action is taken to restrict who can log in to the database servers (or file servers), then anyone in the corporate directory, including perhaps employees, contractors, build labs, and partners can make changes on those systems.
• DB cluster ン Active Directory 統合認証基盤 管理
い 各 ンへ ン 特別 操作 不要 あ Acme
社 所属 あ 人 従業員 ム 自在 変更
い ? STRIDE 脅威 発見 仕方
分析対象 ム
脅威 連想
S, T, R, I, D, E
脅威 脅威 脅威 脅威
発見 た脅威
Spoofing Information disclosure 情報漏えい
Tampering
改 Denial of service
ービ 不能 Repudiation
否認 Escalation of privilege 権限昇格
Note
The preceding lists in this
extended example are
intended to be illustrative;
other threats may exist.
こ 例 説明用 あ
他 も脅威 あ 思う
STRIDE Variants
う少 手順 形式化 STRIDE 変化形
• STRIDE-per-Element
– DFD 要素 STRIDE 適用 脅威 発見
– 要旨 注目 こ 脅威 発見
く
– 冗長 脅威 発見 う
• STRIDE-per-Interaction
– DFD trust boundaries 交差 data flow 着目 (origin, destination, interaction)
STRIDE 適用 脅威 発見 – STRIDE-per-Element
同 脅威 発見
発見 脅威 理解 い
こ
STRIDE-per-Element
• 要素 一 選び 下表 そ 要素 種類 行
x あ STRIDE 脅威 連想
– x い場所 い 省略 こ
– x い場所 組 合わせ的あ 得 い こ
– ? 微妙・・・ う
STRIDE-per-Interaction
次 う 手順
1.Trust boundaries 交差 data flow 選ぶ
2.そ data flow 両端 要素 右表 ELEMENT 決
3.そ data flow 対応
INTERACTION 表 選ぶ 4.そ 行 x 部分 STRIDE
脅威 発見 う
STRIDE ・・・
簡単 い
STRIDE 力 鍛え う 思
• カー ーム あ
– https://www.microsoft.com/en-us/download/details.aspx?id=20303
– プ ン 印刷 カー く こ
• 完成品 買え $28.99
– https://www.thegamecrafter.com/ games/elevation-of-privilege
• STRIDE 脅威 発見 手法
– 脅威= 悪いこ 出来事 things that might go wrong
ソフ 生 う
分析対象 ム 脅威 連想
S, T, R, I, D, E
脅威 脅威 脅威 脅威
発見 た脅威