公開日:
Zipファイルの構造を利用した攻撃について


1. 概要
2026年に入り、サイバー攻撃の高度化に伴い、EDR(Endpoint Detection and Response)やアンチウイルス製品による検知を回避する攻撃手法が多く確認されるようになりました。
以前の弊社SOCレポートでも、7-Zip の偽インストーラを利用したマルウェア配布について取り上げましたが、同じくZIPに関連するものとして「Zombie ZIP (CVE-2026-0866)」が昨年度末に確認されています。ただこちらのCVEは脆弱性というよりは難読化という意味合いが強く、CVEリストへの登録は拒否されています。しかしながらメールゲートウェイ回避、EDR検知低下、sandbox誤判定、malware deliveryに悪用される可能性があるため注意が必要だと考えられます。Zombie ZIPは単純な脆弱性悪用というよりも、ZIP形式そのものの構造や、解凍ソフト・セキュリティ製品間の実装差異を悪用している点が特徴です。
本レポートでは、Zombie ZIP の基礎となる ZIP の内部構造について整理し、どのように EDR 回避へ利用されるのかを解説します。
2. ZIPの特徴
2.1 ヘッダーについて
一般的なファイル形式では、データ構造は以下のようなイメージになります。
[ヘッダー] + [データ]一方、ZIP ファイルは以下のような構造を持っています。
[データ] + [データ] + ... + [目次(Central Directory)] + [目次の場所(EOCD)]ZIP 形式は単なる圧縮ファイルではなく、複数のファイルをまとめ、後から高速に取り出せるよう設計された構造となっています。
特に ZIP の大きな特徴は、データ本体よりも「目次(Central Directory)」を重視しているという点です。
2.2 ZIP 構造の特徴
ZIPの構造として大きく3つの特徴が挙げられます。
2.2.1 ストリーミング対応
ZIP はデータを先に書き込み、後から目次情報を追加できます。
Local Header + データ
↓
すべて完了後に Central Directory を生成この仕組みにより、
圧縮しながら書き込み可能
サイズ未確定でも処理可能
大容量データに適している
という特徴があります。
2.2.2 ランダムアクセス
ZIP は後方に存在する Central Directory を参照することで、各ファイルの位置を即座に特定できます。
後ろの目次 → 必要ファイルへ直接ジャンプそのため、
解凍速度が速い
必要なファイルのみ展開可能
という利点があります。
2.2.3 ファイル構造の柔軟性
ZIP は先頭側に任意データを追加できます。
例えば、
実行ファイル + ZIP
画像 + ZIP
自己解凍形式(SFX)
のような複合構造を作成可能です。
この特徴は便利である一方、攻撃者によって悪用されるケースがあります。
特に自己解凍形式(SFX)は、Windows上では通常の実行ファイル(.exe)として動作するため、ユーザからはZIPファイルであることを認識しづらいという特徴があります。
2.3 ZIP で利用される主なヘッダー
ZIP では主に以下 3 種類のヘッダーが利用されます。
ヘッダー | シグネチャ | 役割 |
|---|---|---|
Local File Header | 50 4B 03 04 | 各ファイルデータの入口 |
Central Directory Header | 50 4B 01 02 | ZIP 全体のファイル一覧 |
EOCD (End of Central Directory) | 50 4B 05 06 | Central Directory の位置情報 |
2.3.1 Local File Header
Local File Header の詳細は以下です。
Offset | Size | 説明 |
|---|---|---|
0x00 | 4 | シグネチャ "PK\x03\x04" (50 4B 03 04) |
0x04 | 2 | バージョン必要 |
0x06 | 2 | General Purpose Bit Flag |
0x08 | 2 | 圧縮方式 |
0x0A | 2 | 最終変更日時 |
0x0C | 2 | 最終変更日 |
0x0E | 4 | CRC-32 |
0x12 | 4 | 圧縮サイズ |
0x16 | 4 | 元のファイルサイズ |
0x1A | 2 | ファイル名長 |
0x1C | 2 | 拡張フィールド長 |
0x1E | n | ファイル名 |
その後 | - | 圧縮データ |
各ファイルデータの開始位置を示します。
特徴:
直後に圧縮データが存在
実データ側のヘッダー
一部の解凍ソフトはこの情報を優先して解釈する
2.3.2 Central Directory Header
Offset | Size | 説明 |
|---|---|---|
0x00 | 4 | シグネチャ "PK\x01\x02" (50 4B 01 02) |
0x04 | 2 | バージョン作成時 |
0x06 | 2 | バージョン必要 |
0x08 | 2 | General Purpose Bit Flag |
0x0A | 2 | 圧縮方式 |
0x0C | 2 | 最終変更日時 |
0x0E | 2 | 最終変更日 |
0x10 | 4 | CRC-32 |
0x14 | 4 | 圧縮サイズ |
0x18 | 4 | 元のサイズ |
0x1C | 2 | ファイル名長 |
0x1E | 2 | 拡張フィールド長 |
0x20 | 2 | コメント長 |
0x22 | 2 | ディスク番号開始 |
0x24 | 2 | 内部属性 |
0x26 | 4 | 外部属性 |
0x2A | 4 | LFH の相対オフセット |
0x2E | n | ファイル名 |
ZIP 全体の目次情報を保持します。
特徴:
ファイル一覧を管理
Local Header の位置情報を保持
解凍ソフトは主にここを参照
ZIP解析製品によっては Central Directory のみを解析対象とするケースがある
2.3.3 EOCD (End of Central Directory)
Offset | Size | 説明 |
|---|---|---|
0x00 | 4 | シグネチャ "PK\x05\x06" (50 4B 05 06) |
0x04 | 2 | このディスク番号 |
0x06 | 2 | Central Directory 開始ディスク番号 |
0x08 | 2 | Central Directory エントリ数 |
0x0A | 2 | 全体エントリ数 |
0x0C | 4 | Central Directory サイズ |
0x10 | 4 | Central Directory 開始オフセット |
0x14 | 2 | コメント長 |
Central Directory の位置を示す終端情報です。
特徴:
ZIP の末尾に存在
解凍処理の開始点となる
ZIP 全体の整合性確認に利用される
3. ZIP 処理の流れを利用した EDR 回避方法
3.1 ZIP処理の流れ
ZIP ファイルの一般的な解析処理は以下の流れで行われます。
3.1.1. EOCD を探索
ZIP 解凍ソフトは、まずファイル末尾から EOCD を探索します。
PK\x05\x06(50 4B 05 06)EOCD は ZIP の最後に存在する固定シグネチャであり、通常はファイル末尾からさかのぼって最大 65,535 バイト以内を探索します。
3.1.2. Central Directory の位置を取得
EOCD 内には Central Directory の開始位置(相対オフセット)が記録されています。
これにより以下を特定することができます。
CDH数
CDサイズ
CDの開始オフセット
3.1.3. Central Directory を読み込み
Central Directory Header(CDH)を順に読み込みます。
取得される情報:
ファイル名
圧縮方式
サイズ
CRC
Local Header の位置
3.1.4. Local File Header にジャンプ
CDH に記録されたオフセットを利用して、各 Local File Header へ移動します。
CDH → LFH → 圧縮データその後、圧縮方式に応じてデータを展開します。
3.1.5. CRC による整合性確認
最後に CRC-32 による整合性チェックが実施されます。
これにより、以下を検知します。
データ破損
改ざん
展開失敗
3.2 「Zombie Zip」の特徴と検知しづらい理由
Zombie Zipを利用する攻撃者は以下の手順でファイルを加工します。
悪意あるペイロードを任意の圧縮方式で格納する
ZIP ヘッダー内の「圧縮方式」フィールドを、実際のデータ形式と異なる値に書き換える
CRC-32 チェックサムも、あえて不整合な状態にするか、展開後のデータに基づいて偽装する
この状態でセキュリティスキャナがファイルを検査すると、ヘッダーの圧縮方式を信頼して中身を誤った形式として解釈しようとします。実際のデータ形式と一致しないため、スキャナは高エントロピーなランダムデータとして扱ってしまい、既知のマルウェアシグネチャとマッチしなくなります。
ただし、この手法を悪用するには、実際のデータ形式に合わせて正しく展開できる専用の解凍ツールやカスタムロジックが必要となるため、攻撃のハードルは一定程度高いと言えます。
3.2.1 なぜEDRを回避できるのか
EDR やアンチウイルス製品の一部は、パフォーマンス上の理由から ZIP を完全には展開せず、ヘッダー情報のみを利用して解析することがあります。 そのため、
ヘッダー上:非圧縮
実データ:圧縮済みという矛盾状態により、
展開処理が失敗する
シグネチャスキャンが動作しない
サンドボックス投入対象から除外される
といった問題が発生する場合があります。
特にメールゲートウェイ製品やリアルタイムスキャン製品では、処理負荷軽減のため簡易解析のみを行うケースがあり、このようなZIP構造差異が悪用されます。
3.3 検証
実際にヘッダーを書き換えてDefenderを回避できるかを確認します。
今回は取得したサンプルマルウェアの圧縮方式が平文(stored)であったため、deflatedに書き換えることで回避できるかを検証します。
3.3.1. サンプルマルウェアの取得
https://www.eicar.org/よりマルウェアの
テストサンプルをダウンロードします。
eicar_com.zip(eicar.com)
3.3.2. ヘッダーの確認と検知されることを確認
zipinfoでzipヘッダーの情報を表示したところ
圧縮方式がstoredであることが確認できます。

まだ書き換えていないため
Windowsでeicar_com.zipをダウンロードした際
以下のような通知を確認できます。

3.3.3. ヘッダーの書き換えと検知されないことを確認
バイナリエディタを使って圧縮方式を書き換えます。
ヘッダーの圧縮方式では現在[0x00 0x00]となり、storedであることが確認できます。

このstoredの値をdeflatedである[0x08 0x00]に書き換えます。(little endian)

zipヘッダーの情報を表示したところ圧縮方式がdeflatedに変更されていることが確認できます。

この変更をかけたeicar_com.zipをWindowsにダウンロードしたところ、検知されずに配置されたことを確認できました。

4. 対策
ZIP 構造を悪用した攻撃への対策として、以下の対応が重要となります。
4.1 ZIP構造の不整合検知
Zombie ZIP は、ZIP ヘッダー情報と実データの不一致を悪用し、セキュリティ製品のパーサーを誤動作させることで検知を回避します。
そのため、以下のような ZIP 構造の整合性チェック が有効です。
圧縮方式フィールドと実データ形式の不一致
CRC-32 の不整合
Central Directory と Local File Header の差異
圧縮サイズ・非圧縮サイズの不一致異
これらの不整合は通常の ZIP ではほとんど発生しないため、高い精度で異常ファイルを検知できます。
4.2 不審な解凍ツール利用を避ける
Zombie ZIP は、標準的な解凍ツールでは展開できない場合があり、攻撃者が以下のような形で利用者を誘導するケースがあります。
「専用解凍ツールが必要」
「最新版をインストールしてください」
このような誘導に従って不審なツールをインストールすると、マルウェア実行につながる可能性があります。
そのため、不審な ZIP ファイルに対して追加の解凍ツールを安易にインストールしないことが重要です。
4.3 EDRの導入
Zombie ZIP のような手法では、ファイルのダウンロード時点では検知できず、実行後に初めて不審なプロセス生成や通信などの挙動が発生するケースがあります。そのため、EDR による事後検知・端末の封じ込めを前提とした多層防御が重要となります。
ただし、振る舞い検知には一定のタイムラグが発生する場合があります。
そのため、完全に被害を防止できるとは限らず、端末侵害後の横展開や情報窃取が一部発生するリスクも考慮する必要があります。
5. まとめ
ZIP は非常に広く利用されるファイル形式ですが、その柔軟性ゆえに攻撃者にも悪用されています。 特に Zombie ZIPは、ZIP の内部構造や解凍処理の実装差異を利用し、セキュリティ製品による解析を回避する点が特徴です。 これらの攻撃は従来の「脆弱性悪用」とは異なり、「ファイルフォーマットの仕様差異」を利用する点に特徴があります。 今後も同様の攻撃は増加すると考えられ、シグネチャ検知だけでは対応が困難になる可能性があります。 そのため、
構造レベルでの分析
不審なツールの利用を避ける
などを組み合わせた対策が重要となります。 また、攻撃手法の高度化に伴い、単純なアラート監視だけではなく、専門家による構造解析や脅威ハンティングを取り入れることも重要となります。

当サイトに掲載されている情報(記事、資料、動画、テンプレート等)については、その正確性および妥当性の確保に努めておりますが、ご利用に際しては、利用者ご自身の責任においてご判断ください。なお、個別の事情に応じては、専門家へのご相談を含め、適切な対応をご検討いただくことを推奨いたします。






























