昨日、好奇心によって http://xeushack.com/tutorials/ でいくつかのハッキングチュートリアルを始めました。私はAndroidアプリを使用して、「ハッキング」のさまざまな方法に関するさまざまな記事を読みました。作者の一部は、基本的にコンピュータに害を及ぼすため、再現すべきではないことを明確に述べています。有名なZip bombとFork bombまたはフォルダブラスター。
したがって、自分のコンピュータに害を与えることなくこれらの「マルウェア」を再現するための最良の方法は何だろうと思います。しかし、さまざまな種類のマルウェア/ウイルスのテスト/開発に使用できる方法を見つけることにも興味があります。
私の頭に浮かぶ最初の解決策は、仮想マシンを使用することです。そのため、VMをインストールしたら、実際のOSに害を及ぼすことなく何でも実行できます。これが最善の解決策であるかどうか、そしてそれがうまくいくかどうかは確かです。そうなると思いますが、それは推測です。
プロのハッカーは、自分のコンピュータに害を与えることなく、自分のマルウェア/ウイルスをどのようにテストするのですか?
すべてではないにしても、ほとんどすべてのマルウェアはあいまいに動作します。それがどのように機能するかを理解し、適切なスキルセットを持っていると、簡単にそれを倒すことができます。それがあなたのownマルウェアやウイルスである場合、それは本当に非常に単純です:あなたはyourマルウェアは、それをどのようにして打ち負かすのですか?結局、あなたはそれをプログラムしました。
はい、私は仮想マシンの使用に概ね同意しますが、100%ではありません。何も100%ではありません。自分のマシンがオンラインかオフラインかに関係なく感染し、面白いことをすることができます。
マルウェアがさまざまな方法で環境とどのように相互作用するかを観察できます。ここにいくつかの注目すべき例があります:
OllyDbg
、IDA Pro
などのデバッガ。Wireshark
などのネットワークパケットキャプチャツール。最良の結果を得るために仮想マシンのインターネット接続を無効にします
他の人がVirtual Machine
をマルウェアから「脱出させる」可能性があると語っていますが、可能性は高いですが、それほどではありません。マルウェアが仮想マシン内で実行されていることを検出できたとしても、マルウェアが仮想環境を検出してself-destructs
しない限り、それほど役に立ちません。
VMが検出されない場合でも、マルウェアは単に試行して、それがしたがって、マルウェアがVMの内部にあることを検出しないようにする方法は、検出時に自己破壊するタイプでない限り、機能しない可能性があります。
あなたが言及した「攻撃」に関して、感染を取り除くことができると仮定して、それらの結果を見てみましょう:
さらに良いことに、virtual testing environment
がある場合は、感染前の仮想マシンの状態を保存し、出力の調査が終わった後に復元することで、これらを自動的に削除できます。これは、最も簡単で効率的な方法です。
マルウェアの動作方法によっては、 仮想化 でマルウェアを封じ込めるのに十分な方法かもしれません。マルウェアを仮想マシンで実行することにより、仮想マシン内に損傷を与え、それに割り当てられたリソースのみを使い果たす可能性があります。
ただし、VMの内部では機能しないか、1つで使用しても危険なマルウェアも存在します。その場合、予備のハードウェアを使用する以外に方法はありません。
一部のマルウェアは、仮想化されたときにそれを認識し、私が見た中で最も興味深い戦術を使用して「箱の外で考える」ことを試みる能力を持っています...時にはキーボードを制御しようとさえします。それらを真にテストする唯一の方法は、エアギャップのあるラップトップまたはデスクトップをセットアップして実行し、完了したらすべてのOSを再インストールすることです。時間がかかりますが、「最も安全な」唯一の方法です。