web-dev-qa-db-ja.com

タスクマネージャーとキーロガー

最高のキーロガーのいくつかはタスクマネージャから表示できないことを知っています。

そのようなキーロガーがシステムで実行されているかどうかはどこで確認できますか?それらはWindowsサービスに含まれますか、それともそこから隠されますか?

2
Matthew

自分自身または他のプログラムが表示されないようにするマルウェアのクラスは、ルートキットと呼ばれます。それらは、システムで何が起こっているかを検出するために使用される主要なシステムコールを置き換えることによって機能します。たとえば、タスクマネージャーにアクセスすると、タスクマネージャーはシステムで実行されているプログラムのリストをWindowsに要求しますが、別の不良プログラムがその要求を「私の不良以外にどのプログラムが実行されているか」という要求に置き換えることができたとします。これは基本的にルートキットが行うことです。

適切に行われると、何が起こっているかを示す情報をどのように要求しようとしても、何も問題がないことを示す不良コードによってインターセプトされます。感染しているかどうかを確認する方法はありません。感染している場合は、すべてを駆除したかどうかを確認する方法もありません。これは、最も単純なマルウェア以外のシステムに感染した場合はシステムを完全に再インストールする必要があると言って、ここで聞いたことがある「nuke it from orbit」の哲学の理由の1つです。

ルートキットを検出する最も簡単で効果的な方法は、LiveCDとして知られているものから起動することです。これはCDまたはDVD上のオペレーティングシステムであり、起動して既知の適切な構成からハードドライブをスキャンできます。実際のハードウェアコンポーネント自体に感染することでこれを回避できるものはいくつかありますが、それらは(ありがたいことに)非常にまれで、かなりデバイス固有のものです。

別の方法として、システム上でソフトウェアを実行していなくても、キーボードのライン上にあり、すべてのキーストロークを検出(または変更)できる実際のハードウェアであるキーロガーもあります。これらも非常にまれです。

12
AJ Henderson

あなたが話しているのは rootkits で、オペレーティングシステムのカーネルに自分自身を統合することで機能します。彼らは完全に透過的にキーロギングを行うことができ、他にも多くのことができます。

ルートキットが適切に記述されている場合、実行中のシステム内からは検出できません。ルートキットの検出に役立つのは、ハードドライブおよび他の永続ストレージ領域を注意深く法医学的に調査することだけです。ルートキットが存在すると、あなたのシステムはあなたのものではなくなります。

8
Deer Hunter

キーロガーは、DLLブラウザープラグインの形式で既存のプロセスのメモリに読み込まれる)のように単純なものにすることもできます。個別のキーログとしては表示されません。タスクは、ロードされたモジュールのリストに表示されます。ロガーをロードするための2つのWindows API呼び出しと、それを実装するためのさらに6行だけで、簡単に記述できます。

また、「KeyLogger.DLL」のようにわかりやすい名前が付いていない場合もありますが、ロードされたすべてのモジュールでDEPENDS.EXEを実行すると、ほとんどの通常のアプリケーションが呼び出す必要のないルーチンであるSetWindowsHookExを検索できます。

6
John Deters