Zip爆弾はどのように機能しますか?
1. 序章
デジタルの世界には多くの脅威があります。最も一般的な脅威の中で、ウイルス、トロイの木馬、サービス拒否攻撃を強調できます。 、中間者攻撃など。 一般に、これらの脅威には、システム構成の変更、システムの使用不可、データの盗用など、さまざまな目的があります。
ただし、通常はシステムの速度を低下させたりクラッシュさせたりして、システムをより脆弱にしたり、他の攻撃による被害を増大させたりすることを目的とした他の脅威が存在します。
Zip爆弾は、前述の種類の脅威の例です。 zip爆弾は、解凍爆弾またはzip of deathとも呼ばれ、zipコンプレッサーの特性を悪用して、それを処理するシステムをクラッシュさせる悪意のあるファイルです。
このチュートリアルでは、zip爆弾を調査し、特定の攻撃でどのように作成および使用されるかを理解します。
最初に、アルゴリズムの基本を含むzip圧縮について簡単に説明します。 それで、zip爆弾の基本とそれがどのように機能するかを見ていきます。 最後に、攻撃者が実際にzip爆弾を使用する方法の概要を説明します。
2. Zip圧縮
まず、ファイルの圧縮は、ファイルの再エンコードで構成されます。 この新しいエンコーディングは、データのセットをファイルに表現するために必要なバイト数を減らすことを目的としています。 つまり、ファイルを圧縮してサイズを小さくします。
2.1. 圧縮の基本
圧縮の結果は、圧縮方法とファイルのエントロピーという2つの関連する要因によって異なります。 まず、話しましょう エントロピ.
エントロピーは、データの頻度と構成に関連するプロパティとして、高レベルのビューで見ることができます。 エントロピーが高いほど、データセットは不均一で予測不可能です。 したがって、高エントロピーファイルでデータパターンを見つけることは困難です。
それどころか、低エントロピーファイルは通常、より均質なデータと簡単に認識できるパターンを示します。
ほとんどのコンプレッサーは、低エントロピーファイルを処理するときに良好な圧縮率を取得します。 次に、大きな課題は、高エントロピーファイルに対して良好な圧縮率をもたらす方法を採用することです。
このように、いくつかの異なる圧縮方法が、さまざまな方法でこのエントロピーの課題に取り組みます。 データ頻度の調査を好む方法もあれば、データ編成に焦点を当てる方法もあれば、特定のファイルタイプの特定の機能に焦点を当てる方法もあります。
コンプレッサーは、単一または複数の圧縮方法を採用できます。 さらに、コンプレッサーは通常、エントロピー低減技術も使用します。 これらの手法は、主にデータを再構築して便利なデータパターンを作成し、圧縮率を向上させることを目的としています。
2.2. Zip圧縮方式
現在のジップベースのコンプレッサーの最初の影響は、Lampel-Zivメソッドです。 この方法は、通常LZと呼ばれ、スライディングウィンドウを考慮して繰り返し作成された辞書を使用します。
LZの圧縮プロセスはウィンドウを繰り返し処理し、辞書で繰り返されるシーケンスを検索します。 反復するたびに、辞書が更新される場合もあります。
コンプレッサーが繰り返しシーケンスを検出すると、元のデータを2つの数値に置き換えます。オフセット(辞書で最初に検出されたシーケンスの開始点)と長さ(オフセットからの一致するシーケンスのサイズ)です。
次の擬似コードは、LZメソッドを示しています。
入力ファイルのエントロピーが低く、データパターンが数回繰り返される場合、LZ圧縮は特に優れた圧縮率になることに注意してください。 したがって、10バイトのスライディングウィンドウを備えたLZコンプレッサーを使用したこのケースの例を見てみましょう。
zipコンプレッサーは、LZよりも追加の圧縮技術を実行し、DEFLATE圧縮標準に従います。 しかし、ここで私たちにとって最も重要なのは、エントロピーが非常に低い大きなファイルが非常に小さな圧縮zipファイルを生成できることを確認することです。
3. ジップ爆弾攻撃
zip爆弾攻撃の中心的な考え方は、zipコンプレッサーの特性とその手法を利用して、小さくて転送しやすいzipファイルを作成することです。 ただし、これらのファイルを解凍するには、多くの計算リソース(時間、処理、メモリ、またはディスク)が必要です。
zip爆弾の最も一般的な目的は、比較的CPUを集中的に使用するプロセスで使用可能なコンピューターメモリを急速に消費することです。 このようにして、攻撃者は、zip爆弾の被害者であるコンピューターがいずれかの時点でクラッシュすることを予期しています。
ただし、攻撃者は、被害者のコンピュータにインストールされているソフトウェアの他の特性を悪用するためにzip爆弾を設計する可能性があります。 たとえば、一部のzip爆弾は、コンピュータのメモリをすべて消費することなくファイルシステムをクラッシュさせることを目的としています。
次のサブセクションでは、zip爆弾のカテゴリとzip爆弾攻撃の実行に使用されるプロセスについて説明します。
3.1. ファイル
zip爆弾攻撃の最初の側面は、攻撃者が悪意のあるファイルをどのように構成するかです。 実際、zip爆弾ファイルを作成する方法はいくつかあります。
- 多層:圧縮データの複数の層を含むzipファイル。 これは、単一のzipファイルに、最終的には大きいがエントロピーの低いデータファイルを含む再帰的なzipファイルがあることを意味します。 このようなカテゴリで最もよく知られているzip爆弾は42.zipです。
- 単層:ファイルには、単一のzipファイルに大小のエントロピーデータのセットが含まれています。 攻撃者は、zipコンプレッサーの最高の圧縮率を達成するために、データファイルのセットを注意深く設計します。 有名な例は、 zbsm、zblg、zbxlです。
- 自己複製:これは最も複雑なzip爆弾です。 これは、デコード時に自分自身を複製し、再帰的なプロセスを作成するzipファイルです。 したがって、これらの爆弾が機能するには、特定の機能を備えたデータファイルが必要です。 このようなカテゴリの既知の例は、r.zipファイルです。
さまざまなカテゴリのZip爆弾は、攻撃で使用される特定のエクスプロイトと条件を必要とします。 したがって、次のサブセクションでは、zip爆弾攻撃の一般的なシナリオを検討します。
3.2. 攻撃
攻撃者がコンピュータシステムに危害を加えるには、zip爆弾だけでは不十分です。実用的な結果を得るには、攻撃者は被害者のコンピュータで爆弾を「爆発」させる方法を見つける必要があります。
zip爆弾攻撃を実行するための3つの通常の形式に焦点を当てます。被害者をだまし、以前にインストールされたソフトウェアの動作を悪用し、被害者をマルウェアに感染させます。
最初は:犠牲者をだまします。 この方法は、犠牲者に爆弾を解凍するように説得することで構成されています。 このようにして、攻撃者は爆弾を別の望ましくない悪意のないファイルと一緒に含めて、一種のトロイの木馬zip爆弾を作成することができます。
もう1つの可能性は、ソーシャルエンジニアリングを使用して、被害者にzip爆弾が悪意のあるファイルではないと信じさせ、ファイルを自発的に解凍することです。
2番目:以前にインストールされたソフトウェアの動作を悪用します。 この方法は、ジップ爆弾を「爆発」させる最も効果的な方法の1つと見なすことができます。 圧縮ファイルが提供されるとすぐにファイルを解凍するプログラムに依存しています。
これらのプログラムの例としては、ファイルを解凍してコンテンツをスキャンし、マルウェアを検索するウイルス対策プログラムがあります。 同様に、一部のブラウザはファイルをすぐに解凍してコンテンツを表示します。
したがって、これらのプログラムが被害者のコンピュータに存在し、便利に構成されている場合、zip爆弾をダウンロードすると即座に攻撃を引き起こす可能性があります。
たとえば、マルウェアは、ダウンロードされたすべての圧縮ファイルに対して再帰的な解凍を開始できます。 または、コンピュータシステム内のすべての圧縮ファイルを検索して解凍することもできます。
最後に、zip爆弾の一部のカテゴリは、特定の攻撃方法にうまく適合しません。 たとえば、多層爆弾の場合、解凍する圧縮ファイルが複数あるため、犠牲者をだますことは適切ではない可能性があります。
4. 結論
このチュートリアルでは、zip爆弾について学習しました。 最初に、データ圧縮について簡単に説明し、zipコンプレッサーで使用される基本アルゴリズムであるLampel-Ziv圧縮方法を具体的に調査しました。 最後に、私たちはジップ爆弾について学びました。 このコンテキストでは、zip爆弾ファイルがどのように作成され、被害者のシステムでそれを「爆発」させて攻撃を実行するために使用される方法を理解しました。
zipファイル自体は悪意のあるものではないと結論付けることができます。 実際、zipコンプレッサーは、情報理論とデータ圧縮の分野で関連する進化を表しています。
ただし、攻撃者はzipコンプレッサーの特定の機能を悪用してzip爆弾を作成します。 そのため、これらの攻撃者は、セキュリティコミュニティで懸念される悪意のあるzipコンプレッサーの二次利用を発見しました。