対策 (信頼できないソースからのデータのデシリアライズを避ける, 整合性チェック, 型検証, 安全なライブラリ利用)

定義

**対策 (信頼できないソースからのデータのデシリアライズを避ける, 整合性チェック, 型検証, 安全なライブラリ利用)**は、外部データからオブジェクトを復元する過程で型生成やフックが実行されるリスクである。この論点では、攻撃者が制御できる値と、アプリケーションが信頼して処理する境界を区別することが重要になる。

仕組みと具体例

攻撃者がガジェット連鎖を含むオブジェクト列を渡すと、復元時に任意コード実行へ至る実装がある。成立条件を確認するときは、入力経路だけでなく、認証状態、ネットワーク到達性、保存後の再利用、ブラウザやパーサによる解釈まで追跡する。結果として起こり得る機密性・完全性・可用性への影響を分けて評価する。

対策と検証

信頼できないネイティブオブジェクト形式を受けず、単純なデータ形式と厳格なスキーマを使う。署名は改ざん防止であり危険な型自体を安全にはしない。正常系だけでなく、境界値、形式違反、権限不足、再試行、リダイレクトやエンコード後の値をテストする。対策を導入した事実ではなく、攻撃条件を再現したテストが拒否され、拒否イベントを監視できることを確認する。

限界と運用上の注意

単一のフィルタや製品に依存すると、別の入力経路、解釈差、設定変更で迂回される。根本原因をコードまたは設計で除去し、権限分離、ログ、レート制限などを多層化する。例外を設ける場合は理由、期限、代替統制を記録する。