ファイルが実際には何かを調べる

拡張子は.pngでも、本当にそうか?ファイル先頭のバイトが実際の形式を示します。ローカルで読み取り、名前と照合します。

このガイドで使う道具

やりたいこと

ダウンロード、メール添付、共有ドライブのファイル——拡張子は送り手が付けたものにすぎません。ファイル先頭のマジックバイトは簡単には偽装できない手がかりです。

使い方

ファイルを選びます。先頭バイトを読み、PNG、JPEG、PDF、ZIP、ELF、SQLite、実行ファイルなどのシグネチャ表と照合して、拡張子と一致するかを示します。

  • 一致はシグネチャと拡張子の合致、不一致は食い違い、不明は表にない形式を意味します。
  • 先頭バイトのhexダンプも表示されるので自分でも確認できます。

具体例

PK\x03\x04で始まるreport.pdfは実はZIPコンテナ(Office文書でよくある)で、%PDF-で始まるinvoice.exeは実行ファイル名を被ったPDFです。

注意点

読むのは先頭512バイトのみです。形式判定には十分でも、内容の安全性までは判断できません。一致は安全の証明ではなく、不明も危険の意味ではありません。マルウェアスキャナーではありません。