web-dev-qa-db-ja.com

プロのハッカーは、自分のコンピュータに害を与えることなく、自分のマルウェア/ウイルスをどのようにテストするのですか?

昨日、好奇心によって http://xeushack.com/tutorials/ でいくつかのハッキングチュートリアルを始めました。私はAndroidアプリを使用して、「ハッキング」のさまざまな方法に関するさまざまな記事を読みました。作者の一部は、基本的にコンピュータに害を及ぼすため、再現すべきではないことを明確に述べています。有名なZip bombFork bombまたはフォルダブラスター

したがって、自分のコンピュータに害を与えることなくこれらの「マルウェア」を再現するための最良の方法は何だろうと思います。しかし、さまざまな種類のマルウェア/ウイルスのテスト/開発に使用できる方法を見つけることにも興味があります。

私の頭に浮かぶ最初の解決策は、仮想マシンを使用することです。そのため、VMをインストールしたら、実際のOSに害を及ぼすことなく何でも実行できます。これが最善の解決策であるかどうか、そしてそれがうまくいくかどうかは確かです。そうなると思いますが、それは推測です。

6
Vadorequest

プロのハッカーは、自分のコンピュータに害を与えることなく、自分のマルウェア/ウイルスをどのようにテストするのですか?

すべてではないにしても、ほとんどすべてのマルウェアはあいまいに動作します。それがどのように機能するかを理解し、適切なスキルセットを持っていると、簡単にそれを倒すことができます。それがあなたのownマルウェアやウイルスである場合、それは本当に非常に単純です:あなたはyourマルウェアは、それをどのようにして打ち負かすのですか?結局、あなたはそれをプログラムしました。

はい、私は仮想マシンの使用に概ね同意しますが、100%ではありません。何も100%ではありません。自分のマシンがオンラインかオフラインかに関係なく感染し、面白いことをすることができます。

マルウェアがさまざまな方法で環境とどのように相互作用するかを観察できます。ここにいくつかの注目すべき例があります:

  1. ファイルシステムやハードドライブへのすべての変更を監視します。
  2. 記憶の観察
  3. OllyDbgIDA Proなどのデバッガ。
  4. Wiresharkなどのネットワークパケットキャプチャツール。

最良の結果を得るために仮想マシンのインターネット接続を無効にします

他の人がVirtual Machineをマルウェアから「脱出させる」可能性があると語っていますが、可能性は高いですが、それほどではありません。マルウェアが仮想マシン内で実行されていることを検出できたとしても、マルウェアが仮想環境を検出してself-destructsしない限り、それほど役に立ちません。

VMが検出されない場合でも、マルウェアは単に試行して、それがしたがって、マルウェアがVMの内部にあることを検出しないようにする方法は、検出時に自己破壊するタイプでない限り、機能しない可能性があります。

あなたが言及した「攻撃」に関して、感染を取り除くことができると仮定して、それらの結果を見てみましょう:

  1. Zip bomb
    • Zip爆弾は、Zip of Deathまたは減圧爆弾としても知られています。悪意のあるアーカイブファイルで、プログラムまたはシステムがそれを読み取ったり、クラッシュしたり、役に立たなくなったりするように設計されています。多くの場合、これは、より伝統的なウイルスへの入り口を作るために、ウイルス対策ソフトウェアを無効にするために使用されます。
    • 感染を取り除いた後、取り残されたZip爆弾は、ファイルを削除することによって無効にすることができます。これを自分で作成した場合は、単純にクリーンアップルーチンを作成します。自分で作成しなかった場合は、クリーンアップルーチンを作成します。プログラムがまだ強制的に実行されている場合は、再起動できます。
    • ハードウェアに物理的な問題を引き起こしません。
  2. フォーク爆弾
    • コンピューティングでは、フォークボンブ(ウサギウイルスまたはラビットとも呼ばれます)はサービス拒否攻撃であり、プロセスは継続的に自身を複製して利用可能なシステムリソースを使い果たし、リソース不足を引き起こし、システムを遅くしたりクラッシュさせたりします。
    • ハードウェアに物理的な問題を引き起こしません。
  3. フォルダブラスター
    • Zip爆弾と同じ概念ですが、フォルダスパムが含まれます。それらを削除するルーチンを書くだけです。
    • ハードウェアに物理的な問題を引き起こしません。

さらに良いことに、virtual testing environmentがある場合は、感染前の仮想マシンの状態を保存し、出力の調査が終わった後に復元することで、これらを自動的に削除できます。これは、最も簡単で効率的な方法です。

5
Mark Buffalo

マルウェアの動作方法によっては、 仮想化 でマルウェアを封じ込めるのに十分な方法かもしれません。マルウェアを仮想マシンで実行することにより、仮想マシン内に損傷を与え、それに割り当てられたリソースのみを使い果たす可能性があります。

ただし、VMの内部では機能しないか、1つで使用しても危険なマルウェアも存在します。その場合、予備のハードウェアを使用する以外に方法はありません。

2
Philipp

一部のマルウェアは、仮想化されたときにそれを認識し、私が見た中で最も興味深い戦術を使用して「箱の外で考える」ことを試みる能力を持っています...時にはキーボードを制御しようとさえします。それらを真にテストする唯一の方法は、エアギャップのあるラップトップまたはデスクトップをセットアップして実行し、完了したらすべてのOSを再インストールすることです。時間がかかりますが、「最も安全な」唯一の方法です。

2
Chad Baxter