同じプログラムの2つのインスタンスを区別するために過去に使用したアイデアを思いつきました。タスクマネージャーが開いていて表示され、CPU使用率で並べ替えられている間、インスタンスの1つのウィンドウを選択してすばやくドラッグします。 1つのプロセスのCPU使用率が上昇します。これは、おそらくそのプロセスのPaintメッセージが急速に呼び出されているためです(システムが「ドラッグ中にウィンドウの内容を表示する」と仮定します)。
今日、私のシステムにキーロガーがあるかどうか疑問に思いました。ソフトウェアコンポーネントにOSを使用するハードウェアキーロガーを想像し、コンピューターを解体せずにそれを検出する方法があると考えましたが、得られた検索ヒットは、主にソフトウェアキーロガーとマルウェア対策ソフトウェアを使用して検出しました。 Windowsタスクマネージャーをアクティブにして、キーボードの多くのキーを(軽く!)たたくと、それらを記録しているすべてのプロセスで、CPUの使用が開始されると考えられます。十分なCPUを使用してトップに来るかどうか疑問に思いました。試してみると、dwm.exe、csrss.exe、taskhost.exeが表示されます。これは、このメソッドを使用してキーボードを監視しているプロセスを見つけることができることを示していると思いますが、多少の違いはあります。
これはもっともらしいと思われますか?この手法は、マルウェアの作成者がとる可能性のあるカモフラージュ手法に弾力性があるものですか?
効率的なマルウェアは、プロセスのリストにまったく表示されないようにカーネルの内部構造を操作します(次に、マルウェアとマルウェア検出器の間のかくれんぼゲーム。たとえば、 このページ を参照してください)一部の情報)。したがって、タスクマネージャには何も表示されません。
キーロガーdoesがタスクマネージャーでタスクとして表示される場合でも、その基本的な形式のキーロギングは非常に安価です。私の最初のコンピューターは、6809E CPUで入力したすべてを1 MHzの非常に速い速度で実行して追跡することができました。基本的なPCはそれよりも10000倍以上高速であるため、キーストロークをログに記録するために必要なCPUは1/10000です。タスクマネージャーでそれを確認するには、鋭い目が必要になります...セットアップを複雑にするために、わずかなアイドル状態でも定期的なアクティビティを示す多くのプロセスがあります。これは、バックグラウンドのガベージコレクションアクティビティでのプロセスの典型です。
そしてもちろん、タスクマネージャーを見ると、プロセスのリストの中で、CPUを使用して画面にグラフィカルにレンダリングされたリストを更新するタスクマネージャー自体が観察されます...
コンピュータセキュリティの学生による大学のプロジェクト以外にはまったく役に立たない。
プロセスをそれほど難しくなく、別のプロセスの名前のように見せたり、まったく見せないようにすることができます。また、キーボードから生の信号を取得してメモリスティックに保存したり、Wi-Fi経由でブロードキャストしたりできるハードウェアキーロガーを入手することもできます。