CheatSheetSeries - 入力検証の落とし落としセクション追加
CheatSheetSeries コミット: 入力検証の一般的な落とし落とし + 現代MFA攻撃パターンの追加
概要
- コミット: 7fb9818
- 日付: 2026-06-29
- リポジトリ: OWASP/CheatSheetSeries
- URL: https://github.com/OWASP/CheatSheetSeries/commit/7fb9818d1c22acaf980f5ad0200da360b54b7913
変更内容の要約
1. 入力検証チートシート — 「入力検証における一般的な落とし穴」セクション追加
実際の開発現場で見落とされがちな8つの重要な検証パターンを追加:
| 落とし穴 | 概要 |
|---|---|
| デシリアライズ後の検証スキップ | シリアライズ前に安全だったデータが、パース後に危険化する可能性。デシリアライズ後に必ず検証すること |
| 内部API/マイクロサービスの過剰信頼 | Zero Trust原則: ネットワーク位置だけで暗黙的に信頼してはならない。内部トラフィックも全検証が必要 |
| ファイルアップロード/ファイル名の未検証 | ファイル種別、サイズ、拡張子、ファイル名をすべて検証。パストラバーサル対策も必須 |
| 安全でない/過度に複雑な正規表現の使用 | ReDoS(正規表現サービス拒否)のリスク。パターンはシンプルに、アンカー付きに、パフォーマンステスト済みであること |
| ネストされたJSONや大規模配列の無視 | 深さ、要素数、全体構造の制限を強制。リソース枯渇やパーサー攻撃を防止 |
| Unicode正規化の見落とし | 検証前に正規化が必要。ただし正規化だけでは不十分で、厳格な許可リストと正規化ルールと組み合わせる必要あり |
| JSON入力を自動的に安全とみなす | 構造化されている≠信頼できる。フィールド存在、データ型、長さ、範囲、全体構造を検証すること |
| ロギング/保存前の検証忘れ | 入力検証は構造化/型を保障するが、ログインジェクション対策には出力エンコーディングが必要 |
2. 多要素認証(MFA)チートシート — 「現代のMFA攻撃パターン(ベンダー中立)」セクション追加
製品固有ではなく、基盤となるアーキテクチャ的弱点に焦点を当てた7つの攻撃パターン:
| 攻撃パターン | 概要 |
|---|---|
| MFA疲労/プッシュ悪用 | 攻撃者がプッシュ通知を繰り返し送信し、ユーザーが誤ってまたは苛立ちで承認するまで待機 |
| トークン盗難 | セッションCookie、リフレッシュトークン、認証後トークンの盗難・再利用でMFAを完全迂回。認証をクライアントにバインドすること |
| リバースプロキシフィッシングキット | ユーザーと正当なサービスの間に座り、MFAコードやセッショントークンをリアルタイムで傍受。フィッシング耐性MFAの導入が対策 |
| クラウドMFA設定ミス | レガシープロトコル、弱い条件付きアクセスルール、不完全なMFA強制がギャップを生む |
| リモートアクセスサービスでの弱いMFA | RDP、SSH、VPNで一貫性のない/不正確なMFAが初期アクセスを可能にする |
| クロスプラットフォームMFAの弱点 | Windows、Linux、SaaS、クラウド間で一貫性のないMFAが最も弱いリンクを攻撃者に提供 |
| デバイス侵害 | エンドポイントが侵害されると、プロンプト承認、トークン盗難、認証フローの傍受が可能に |
セキュリティ関連詳細
- 入力検証: 実際の開発現場での検証漏れパターンを網羅的に文書化。OWASP API Security Top 10 API4:2023(無制限リソース消費)とも関連
- MFA攻撃: NIST SP 800-63B、CISAアドバイザリーを参照。フィッシング耐性MFAの重要性を再確認
- ゼロトラスト: 内部ネットワークの暗黙的信頼を排除する原則を明確化
参考情報
- OWASP Deserialization Cheat Sheet
- CISA Zero Trust Maturity Model
- NIST SP 800-63B
- Unicode TR36
- OWASP API Security Top 10 – API4:2023