第31回 ZIP爆弾(高圧縮ファイル爆弾)とは?
解凍したとたんに爆発するZIP ファイル
大きなファイルを圧縮する手段として、ZIPファイル(高圧縮ファイル)は広く使われている。特に、テキストファイルは繰り返しの多い文字列を含むため、データサイズを大幅に圧縮することが可能。簡単な例で言うと、12個の「0」のみで構成される「000000000000」という文字列があれば、短い文字列「12x0」に書き換え、データ量を減らすことができる。解凍時には、ZIP解凍ソフトが圧縮された文を「文字0を12回書く」ものとして展開し、元の長い文字列に復元するのだ。
これを悪用したものを「ZIP爆弾」という。この原理を利用すれば、何の情報も含まない、ただ大量の「0」から成る膨大なサイズのファイルを、非常に小さく圧縮することができる。ところがこれを解凍したとたん、コンピューターのメモリを埋め尽くすほどの大容量ファイルが現れ、システムをフリーズさせてしまうのだ。もし運良くコンピューターを再起動できたとしても、システム内のファイルが一部破損している可能性がある。とはいえ、このような場合でもバックアップが取れていれば、傷は浅くて済むのでご安心を。
より厄介なサーバー上のZIP爆弾
より深刻なのは、メールサーバーやファイルサーバーなどのサーバー上でZIP爆弾が展開され、サーバーそのものを麻痺させてしまうこと。通常、メールサーバーはZIPファイルをスキャンして、ウイルスやマルウェアが含まれていないかどうか確認する。しかし、スキャンしている間にZIP爆弾が展開され、メールサーバーのストレージ容量を越えてしまうと大変なことになる。メールサーバーの修復には、数時間から数日かかる場合もあり、ZIP爆弾のせいで企業全体が長時間機能停止に追い込まれる可能性もあるのだ。
このようなリスクも踏まえ、ZIPファイルを開ける時は常に注意しよう。また、企業は、ZIP爆弾が適時に検出されるようにするか、ZIP ファイルそのものを受け付けないよう、メールサーバーの設定を見直すことをおすすめする。
ZIP ファイルの受信拒否を設定する企業も増えてきているという