コンテンツへスキップ
uencoder

Insecure Deserialization

安全でないデシリアライゼーション(Insecure Deserialization)は、信頼できないデータをオブジェクトに復元する際に任意コード実行やオブジェクトインジェクションを引き起こす。OWASP Top 10 の脆弱性である。

目的

言語ネイティブのデシリアライゼーションが持つコード実行リスクと防御を理解する。Java/Python/C# でよくある RCE 脆弱性である。

メカニズム

Java の ObjectInputStream.readObject、Python の pickle.loads などは、復元中にオブジェクトが定義したメソッドを呼び出す。攻撃者は悪意あるシリアライズデータを細工して任意コードを実行させる。防御:型のホワイトリスト、JSON、署名検証。

ユースケース

  • Java での RCE 脆弱性
  • Python pickle のセキュリティ
  • デシリアライゼーション防御

関連ツール

References