STRIDE による否認対策
経費精算システムで,承認者 X が高額の申請を承認した後,X は「自分は承認していない」と主張した。承認操作の記録はアプリケーション管理者が自由に更新できるデータベースの表にしかなく,X 本人の操作であることを立証できなかった。STRIDE で脅威を分析し直したとき,立証できなかった原因への対策として,最も適切なものはどれか。
- アなりすまし(Spoofing)への対策として,承認時の認証を多要素認証に変更する。
- イ改ざん(Tampering)への対策として,承認画面とデータベースサーバの間の通信を TLS で保護する。
- ウ権限昇格(Elevation of Privilege)への対策として,承認者に付与する権限を最小限にする。
- エ否認(Repudiation)への対策として,承認操作の記録を,管理者も変更や削除ができず改ざんを検知できる追記専用のログ基盤に保管する。
正解と解説を見る
正解 エ
この問題の基礎知識
- STRIDE は,なりすまし(Spoofing),改ざん(Tampering),否認(Repudiation),情報漏えい(Information disclosure),サービス拒否(Denial of service),権限昇格(Elevation of privilege)の頭文字をとった脅威の分類である。
- STRIDE の各脅威は守るべき性質に対応し,なりすましは認証,改ざんは完全性,否認は否認防止,情報漏えいは機密性,サービス拒否は可用性,権限昇格は認可に対応する。
- 否認を防ぐには,行為の事実を後から証明できる記録が必要である。記録は管理者も含めて改変できないように保護し,改ざんを検知できる形で保管しないと,証拠として信頼できない。
アなりすまし(Spoofing)への対策として,承認時の認証を多要素認証に変更する。
多要素認証は他人による承認操作の可能性を下げるが,記録そのものを管理者が書き換えられる状態は変わらない。今回の原因である,操作の事実を示す記録の信頼性の不足は解消されない。
イ改ざん(Tampering)への対策として,承認画面とデータベースサーバの間の通信を TLS で保護する。
TLS は通信路上での改ざんを防ぐが,今回の問題は保存後の記録を管理者が書き換えられることにある。保護する範囲が異なるので,立証できなかった原因には対処できない。
ウ権限昇格(Elevation of Privilege)への対策として,承認者に付与する権限を最小限にする。
最小権限は,承認者が本来の権限を超えた操作を行う脅威への対策である。承認者が正規の権限で行った承認を後から否認する場合の立証には役立たない。
エ否認(Repudiation)への対策として,承認操作の記録を,管理者も変更や削除ができず改ざんを検知できる追記専用のログ基盤に保管する。正解
STRIDE の否認は,操作の記録を当てにできないことで行為者を特定できなくなる脅威である。管理者も変更できず改ざんを検知できる形で記録を保管すれば,X の操作であることを示す証拠として利用できる。
検証用の出典出典照合済み
OWASP Threat Modeling Cheat Sheet / OWASP Logging Cheat Sheet照合の根拠(5 件)
- エ(正解): STRIDE の否認(Repudiation)の例はログの改変による行為の隠蔽であり,記録の信頼性が問題となる
An attacker manipulates logs to cover their actions.
OWASP Threat Modeling Cheat Sheet · STRIDE(新しいタブで開きます) - エ(正解): ログに改ざん検知を組み込み,変更できない媒体に保管する
Build in tamper detection so you know if a record has been modified or deleted Store or copy log data to read-only media as soon as possible
OWASP Logging Cheat Sheet · Protection(新しいタブで開きます) - ア(誤り): なりすましは他人を装う脅威であり,本人の操作の否認とは別の分類
An attacker steals the authentication token of a legitimate user and uses it to impersonate the user.
OWASP Threat Modeling Cheat Sheet · STRIDE(新しいタブで開きます) - イ(誤り): 通信中の改ざん防止と保存後の変更・削除からの保護は別の対策であり,TLS では保存後の記録を守れない
The logging mechanisms and collected event data must be protected from mis-use such as tampering in transit, and unauthorized access, modification and deletion once stored.
OWASP Logging Cheat Sheet · Protection(新しいタブで開きます) - ウ(誤り): 権限昇格は自分の権限を不正に引き上げる脅威であり,正規の権限で行った承認の否認とは別
An attacker tampers with a JWT to change their role.
OWASP Threat Modeling Cheat Sheet · STRIDE(新しいタブで開きます)
立証できなかった原因は「承認記録を管理者が自由に更新できる表にしかない」ことであり,STRIDE の否認(記録の信頼性欠如)に当たる。保存後の記録の改ざん検知・変更不可能な保管が直接の対策。