Insecure Deserialization
安全でないデシリアライゼーション(Insecure Deserialization)は、信頼できないデータをオブジェクトに復元する際に任意コード実行やオブジェクトインジェクションを引き起こす。OWASP Top 10 の脆弱性である。
目的
言語ネイティブのデシリアライゼーションが持つコード実行リスクと防御を理解する。Java/Python/C# でよくある RCE 脆弱性である。
メカニズム
Java の ObjectInputStream.readObject、Python の pickle.loads などは、復元中にオブジェクトが定義したメソッドを呼び出す。攻撃者は悪意あるシリアライズデータを細工して任意コードを実行させる。防御:型のホワイトリスト、JSON、署名検証。
ユースケース
- Java での RCE 脆弱性
- Python pickle のセキュリティ
- デシリアライゼーション防御