[WIP]画像加工検知に関する調査メモ

6 min read読了の目安(約6000字

画像加工検知に関する調査メモ

  • 画像加工検知とは?
    • 画像の加工が行われているか確認する手法

    • 一般的に Error Level Analysis (ELA) が用いられる。

    • Error Level Analysis
      原則として、非可逆圧縮を使用した画像にある歪み(圧縮アーティファクト)が基本的に均一であるとみなし、異なる歪みがあれば編集した可能性があるとすること。

      • 非可逆圧縮の例[1]
      • 可逆圧縮の例[2]
      • 画像圧縮する際にブロックノイズの有無によって検知できるきっかけができる。[3]この写真でわかるようにブロックノイズが発生しているのが確認できる。ブロックノイズのパターンが異なる部分があることで加工されていると判断できるようになる。JPEGとPNGの比較
      • 予備知識として、JPEG ファイルのブロックノイズは 8x8 ピクセルを1つのブロックとして平均的な色を設定している[4]
    • ELA の制限事項

      • PNGファイルなど非可逆圧縮の形式による画像の編集には対応できない。
      • わざと画質が下がるようになんども圧縮を繰り返すことで歪みを均一化することで検知が難しくなる。
      • 重要なこととして、編集が行われたかの判断は主観によるものになる。
  • 結論
    • 画像可能を人間が見抜くのは困難
    • さらには自動的に編集されたものを検知するのはさらに困難[5][6]
  • どんな検知方法を使っていくのがよいか
    • ELA
      • ELA の原則に収まる非可逆圧縮形式の画像を加工したものであれば検知が可能である場合もあるため基本的には利用したほうがベターではある。
    • EXIF 抽出
      • JPEG のみ存在する附加情報。画像を編集したときに編集したソフトウェア名が記載されることがあるので、その情報をもとに編集されたものかどうかを判断する。
      • ただし EXIF も容易に加工や編集が可能であることも留意しておく。
    • Deep Learning
      • ELA による画像加工の判断ができたものを教師データとして機械的に判定する手法が公開されている。[7]
      • ELAの原則に収まるJPEGファイルであれば検知する確率は高くなりそうではある。[7:1]
  • 画像加工検知に関連したサービス
    • ウェブサービス
      • Digital Image Forensic Analyzer
        • EXIF の抽出、ELA を行った画像の表示が行われる。
        • アップロードされた画像は非公開とされるので漏洩の問題はグレー。
        • ソースコードが公開されている。http://www.getghiro.org/
      • Image Error Level Analyser
        • 画像はローカル環境で解析(送信しない!)ので安心して解析が可能。
        • JavaScript による ELA やその他解析手法が実装されたサイト。
      • fotoforensics
        • ELA のチュートリアル付き ELA 解析サイト
      • LP-exam
        • 日本のベンチャー企業が提供する研究画像不正検出システム。
        • ELA ではなさそう。
        • 有料。
      • Google Play: Fake Image Detector
        • Android 端末で動作する ELA と EXIF 解析が行えるアプリ。
      • TinEye
        • 画像からネット上の画像を検索するサービス。
        • Google にも同じような機能があるが現在の優位性がどこにあるかは不明。[8]
    • アプリケーション
      • JPEGsnoop

        本ソフト最大の特徴は、さまざまなデジタルカメラや画像編集ソフトが行うJPEG圧縮処理の“癖”をデータベースとして持っていること。読み込んだJPEG画像ファイルを分析した結果とこのデータベースを突き合わせることにより、どのデジタルカメラで撮影されたか、どの画像編集ソフトで編集されたかを知ることができるので、その画像ファイルが修正済みかどうかも一発でわかる。[9]

      • Amped Authenticate | Forensic Image Authentication
        • 有料
        • 詳細不明
      • FakeImageDetector
        • Deep Learning を用いた画像解析。
        • ELA の結果を教師データとしているため、ELAの原則内の画像が対象となりえるはず。
        • データセットは Kaggle にあるから自前で潜り抜ける必要ありとのこと。
    • Chrome 拡張機能
  • 参考文献

The chances of successful modification detection depend on technique of editing used. For example, if fragment was pasted in a cropped image which wasn’t saved in between, reliability of the method decreases. The same can be said about highly compressed images.

日本語Google翻訳

変更検出が成功する可能性は、使用する編集の手法によって異なります。たとえば、断片が間に保存されていないトリミングされた画像に貼り付けた場合、メソッドの信頼性は低下します。高度に圧縮された画像についても同じことが言えます。

自前の画像で ELA を実施した結果



合成結果
test
ELA結果

自前の合成画像でJPEGsnoopを実施した結果


Class 4 - Uncertain if processed or original
While the EXIF fields indicate original, no compression signatures
in the current database were found matching this make/model

日本語Google翻訳

クラス4-処理済みかオリジナルか不明
EXIFフィールドは元のフィールドを示しますが、圧縮署名はありません
現在のデータベースで、このメーカー/モデルに一致するものが見つかりました

脚注
  1. 非可逆圧縮のサンプルWikimedia Commons:File:Phalaenopsis ↩︎

  2. 可逆圧縮のサンプルWikimedia Commons:File:PNG transparency demonstration 1.png ↩︎

  3. JPEGとPNGの比較サンプルWikimedia Commons:File:Comparison of JPEG and PNG.png
    ↩︎

  4. Clever JPG Optimization Techniques[https://www.smashingmagazine.com/2009/07/clever-jpeg-optimization-techniques/] ↩︎

  5. デジタル画像改ざん検出に関する研究の現状(https://digitalforensic.jp/wp-content/uploads/2019/03/3-uehara.pdf) CMFの候補が出ても現状ではまだ人の判定が必要で自動化は遠いのでまだまだ研究が必要 ↩︎

  6. JPEG圧縮ノイズを人間が視覚的に認識しただけでは、改ざんされた領域と変更されていない領域を区別することはほとんどできません。[https://en.wikipedia.org/wiki/Error_level_analysis#cite_ref-WangDonTan_1-2] ↩︎

  7. FakeImageDetector 最高の精度:91.83%(エポック9)(https://github.com/agusgun/FakeImageDetector#result) ↩︎ ↩︎

  8. Google rolls out reverse image search: RIP Tineye(https://www.zdnet.com/article/google-rolls-out-reverse-image-search-rip-tineye/) ↩︎

  9. 加工された画像を一発で見分けられるJPEG画像の分析ツール「JPEGsnoop」(https://forest.watch.impress.co.jp/docs/review/1013477.html) ↩︎