GRADUATION
ファイル形式の中に隠れたデータを、自分の手で掘り出せるようになりました。
ファイル末尾に隠したzip(carving)、画像のピクセルLSBに埋め込んだフラグ(steganography)、手作りのpcapに流したHTTP通信(network forensics)——3つの「隠し方」を自分で作り、自分で掘り出しました。専用ツールに頼らず、ファイル形式そのものを読む力がついたと確かめました。
おつかれさまでした。
持ち帰るもの
- ファイルは、宣言された終端の後も読めるPNGはIENDチャンクで終わりますが、ファイルとしてはその後にバイト列を続けられます。fileコマンドやビューアはIENDまでしか見ませんが、バイナリはすべて読めます。
- 最下位ビットは、絵を壊さず情報を運べるピクセル値の最下位ビットを1つ変えても、見た目にはほぼ影響しません。この余白に、ビット単位でデータを埋め込めます。
- パケットも、結局はバイト列Wiresharkがなくても、pcapの構造(グローバルヘッダ→パケットヘッダ→Ethernet→IP→TCP→ペイロード)さえ分かれば、Pythonのstructだけで読めます。
次にやるといいこと
- 次は、檻を破るmiscです。
- このコースで書いた小さなパーサ(PNG/pcap)は、他のファイル形式を読むときにも応用できます。