Word や Excel のファイルサイズは常に512バイトの倍数だった

これ知らんかった!

内閣官房事務官がメール攻撃対策ソフト開発:日本経済新聞

文書ソフト「ワード」や「一太郎」、表計算ソフト「エクセル」で作成されたファイルのサイズに注目。正常なファイルのサイズは「512バイト」の倍数になるが、ウイルスが仕込まれた不正なファイルは倍数ぴったりにならないことを応用した。

実際に手元にあるファイルをいくつか確認してみたら
実際にそうなってました。

ということは、文書ファイルのバイト数が512の倍数になっていない場合
不正な何かが仕込まれている可能性があるということで、
そこを確認することによってウィルス等が仕込まれているかどうか判定できる。
その発想はなかった。

実際にやってみたところ、
市販のウィルス対策ソフトの検知率を上回る結果だったとのこと。

ただし例外はあって

ワードとエクセルで作成されても、ファイル名の後ろの記号(拡張子)が「docx」「xlsx」になっている最新バージョンの場合、正常なファイルでも512バイトの倍数にならないこともある

みたいなんだけど、これらにウィルス等が仕込まれていた例は確認されてないとのこと。

ファイルサイズから判定できるということは
そのファイルの内部にいっさい触れることなく検知できるということで
従来のコードをスキャンするなどの方法よりずっとスマートですねこれ。

でもこの方法が広まったら
ウィルスの方も512の倍数になるように作ってくるのかな。

わるいひととの戦いが終わる日は来ないのかな。

  • このエントリーをはてなブックマークに追加