Windows 10でルートキットを検出する方法【徹底解説ガイド】
ルートキットは、ハッカーがデバイス内に持続的で検出困難なマルウェアを隠すために使う手法です。ユーザーに気づかれることなくデータやリソースを盗み続け、場合によっては数年にもわたって潜伏し続けることがあります。また、キーロガーのようにキーストロークや通信を監視し、攻撃者にプライバシー情報を提供することもあります。
このハッキング手法は、2006年以前、MicrosoftがVista以降でベンダーにすべてのドライバーのデジタル署名を義務付ける前により多く見られました。カーネルパッチ保護(KPP)の導入によりマルウェア作者は攻撃手法の変更を余儀なくされ、ルートキットが再び注目を集めるのは2018年の「Zacinlo」広告詐欺作戦まで待たなければなりませんでした。

2006年以前のルートキットは、すべてオペレーティングシステムに特化したものでした。一方、Detrahereマルウェアファミリーに属するZacinloは、ファームウェアベースのルートキットというさらに危険な形態をもたらしました。それでも、ルートキットは年間で確認される全マルウェアのわずか約1%にすぎません。
しかし、その危険性を考えると、すでにシステムに侵入している可能性のあるルートキットの検出方法を理解しておくことは非常に賢明です。
Windows 10におけるルートキット検出の基本

Zacinloは実際、Windows 10プラットフォームを標的にしていることが発見されるまで、約6年間も活動を続けていました。このルートキットコンポーネントは高度に設定可能で、自身の機能に危険とみなしたプロセスから自己を保護し、SSL通信の傍受や復号化までこなすことができました。
さらに、すべての構成データを暗号化してWindowsレジストリ内に保存し、Windowsのシャットダウン中にメモリからディスクへ別の名前で自己を書き込み、レジストリキーを更新していました。これにより、標準的なアンチウイルスソフトウェアによる検出を見事に回避していたのです。
つまり、標準的なアンチウイルス・アンチマルウェアソフトウェアだけではルートキットの検出には不十分だということです。ただし、ルートキット攻撃の疑いを警告してくれるトップクラスのアンチマルウェア製品も一部存在します。
優れたアンチウイルスソフトウェアの5つの重要な特徴

現在の主要なアンチウイルスプログラムのほとんどは、ルートキットを検出するために以下の5つの手法を実行しています。
- シグネチャベース分析 – 記録されたファイルを既知のルートキットのシグネチャと比較します。さらに、積極的なポート使用など、既知のルートキットの動作パターンに似た振る舞いも検出します。
- 傍受検出 – Windows OSはポインタテーブルを使ってコマンドを実行しますが、これはルートキットに動作を促すことが知られています。ルートキットは脅威とみなされるものを置き換え・改変しようとするため、システムはその存在に気づくことができます。
- マルチソースデータ比較 – ルートキットは隠れるために、標準的な検査で表示されるデータを改変することがあります。高レベルと低レベルのシステムコールの結果を比較することで、ルートキットの存在が露呈します。RAMにロードされたプロセスメモリとハードディスク上のファイル内容を比較するケースもあります。
- 整合性チェック – すべてのシステムライブラリには、システムが「クリーン」とみなされた時点で作成されたデジタル署名があります。優れたセキュリティソフトは、その署名の基となったコードに改変がないかをチェックできます。
- レジストリ比較 – 多くのアンチウイルスソフトは予め設定されたスケジュールで実行します。クリーンなファイルとクライアント側のファイルをリアルタイムで比較し、要求されていない実行ファイル(.exe)が含まれていないかを判断します。
ルートキットスキャンの実行

ルートキットスキャンの実行は、感染を検出するための最善の手段です。多くの場合、OS自体を信用してルートキットを特定させることはできず、その存在を突き止めるのは容易ではありません。ルートキットは熟練したスパイのような存在で、ほぼあらゆる場面で痕る場面で痕跡を消し、衆目の中に隠れ続けることができます。
マシンでルートキット攻撃が発生した疑いがある場合は、コンピューターの電源を切り、既知のクリーンなシステムからスキャンを実行するのが効果的な戦略です。そして、マシン内のルートキットを確実に発見する方法こそがメモリダンプ分析です。ルートキットは、マシンのメモリ上で命令を実行する際、その命令を隠すことができないのです。
WinDbgを使ったマルウェア分析

Microsoft Windowsは、アプリケーション、ドライバー、OS自体に対してデバッグスキャンを実行できる多機能デバッグツール「WinDbg」を提供しています。カーネルモードとユーザーモードのコードをデバッグし、クラッシュダンプの解析を支援し、CPUレジスタを調査することができます。
一部のWindowsシステムにはWinDbgが同梱されています。同梱されていない場合は、Microsoft Storeからダウンロードしましょう。より新しい「WinDbg Preview」は、見やすいビジュアル、高速なウィンドウ、完全なスクリプト機能を備え、従来版と同じコマンド・拡張機能・ワークフローを利用できます。
少なくとも、WinDbgを使えばメモリダンプやクラッシュダンプ(ブルースクリーン=BSODを含む)を分析できます。その結果からマルウェア攻撃の兆候を探し、プログラムがマルウェアの影響を受けている、あるいは必要以上のメモリを使用していると思われる場合は、ダンプファイルを作成して解析するとよいでしょう。
完全なメモリダンプは大量のディスク容量を消費するため、カーネルモードダンプや小メモリダンプの方が適している場合があります。カーネルモードダンプにはクラッシュ時のカーネルによる全メモリ使用情報が含まれ、小メモリダンプにはドライバーやカーネルなどに関する基本情報のみが含まれますが、サイズは格段に小さくなります。
小メモリダンプはBSODの原因分析に役立ちますが、ルートキットの検出には完全ダンプまたはカーネルモードダンプの方が有効です。
カーネルモードダンプファイルの作成

カーネルモードダンプファイルは、次の3つの方法で作成できます。
- コントロールパネルからダンプファイルを有効にし、システムに自然にクラッシュさせる
- コントロールパネルからダンプファイルを有効にし、システムを強制的にクラッシュさせる
- デバッガーツールを使って作成する
ここでは、3番目の方法を採用します。
必要なダンプファイルを作成するには、WinDbgのコマンドウィンドウに次のコマンドを入力するだけです。

FileNameをダンプファイルに適した名前に置き換え、「?」はf(小文字)に置き換えてください。大文字にすると別の種類のダンプファイルが作成されてしまうので注意しましょう。
デバッガーの実行が完了すると(初回スキャンにはかなり時間がかかります)、ダンプファイルが作成され、結果を分析できるようになります。
揮発性メモリ(RAM)の使用状況など、何を探せばよいかを理解し、ルートキットの存在を判断するには経験とテストが必要です。ライブシステムでマルウェア検出技術を試すことも可能ですが、初心者には推奨されません。誤って生きたウイルスをシステムに展開しないためには、専門知識とWinDbgに関する深い理解が不可欠だからです。
幸い、より安全で初心者にも扱いやすい方法で、この巧妙に隠れた敵を暴くことができます。
追加のスキャン方法

手動検出と行動分析も、ルートキット検出のための信頼できる方法です。ルートキット本体の居場所を突き止めるのは非常に骨の折れる作業なので、むしろルートキットに似た挙動を探すのが得策です。
まず、フリーソフトなどをインストールする際は「詳細設定」または「カスタムインストール」オプションを選択しましょう。詳細欄に表示される見慣れないファイルに注目し、怪しいものは破棄するか、オンラインで検索して悪意のあるソフトウェアへの言及がないか確認してください。
また、ファイアウォールとそのログレポートは、ルートキット発見に非常に効果的です。ファイアウォールソフトはネットワークが監視されている場合に通知し、不明または不審なダウンロードをインストール前に隔離してくれます。
すでにマシンにルートキットが潜んでいる疑いがある場合は、ファイアウォールのログレポートを詳しく調べ、通常と異なる挙動を探してみましょう。
ファイアウォールログレポートの確認

現在のファイアウォールログレポートを確認しましょう。ファイアウォールログのフィルタリング機能を備えたオープンソースアプリ「IP Traffic Spy」は、非常に便利なツールです。レポートには、攻撃発生時に確認すべき重要な情報が表示されます。
スタンドアロンの送信フィルタリングファイアウォールを備えた大規模ネットワークなら、IP Traffic Spyは不要です。ファイアウォールログから、ネットワーク上の全デバイス・ワークステーション宛ての着信および発信パケットを直接確認できます。
家庭や小規模ビジネス環境では、ISPから支給されたモデム、または個人所有のファイアウォールやルーターを使ってログを表示できます。同一ネットワークに接続された各デバイスのトラフィックを識別できるでしょう。
さらに、Windowsファイアウォールのログファイルを有効化しておくのも有効です。デフォルトでは無効になっており、何も記録されないためです。設定手順は以下の通りです。
- 「Windowsキー + R」を押して「ファイル名を指定して実行」を開きます。
- ボックスに「wf.msc」と入力し、「Enter」を押します。

- 「セキュリティが強化されたWindows Defenderファイアウォール」ウィンドウで、左側メニューの「ローカル コンピューターのセキュリティが強化されたWindows Defenderファイアウォール」を選択します。右端の「操作」の下にある「プロパティ」をクリックします。

- 新しいダイアログで「プライベートプロファイル」タブに移動し、「ログ」セクションの「カスタマイズ」を選択します。

- 新しいウィンドウで、ログファイルのサイズ上限、保存先、記録対象(破棄されたパケットのみ/成功した接続のみ/両方)を選択できます。

- 「破棄されたパケット」とは、Windowsファイアウォールが自動的にブロックしたパケットのことです。
- デフォルトでは、Windowsファイアウォールのログは直近4MB分のみ保存され、%SystemRoot%\System32\LogFiles\Firewall\Pfirewall.logに格納されます。
- ログのサイズ上限を引き上げるとPCのパフォーマンスに影響する可能性がある点に注意してください。
- 設定が完了したら「OK」を押します。
- 続けて、同じ手順を「パブリックプロファイル」タブでも繰り返します。
- これでパブリック・プライベート両方の接続についてログが生成されます。メモ帳などのテキストエディターで閲覧したり、表計算ソフトに取り込んだりできます。
- ログファイルをIP Traffic Spyなどの解析ツールにエクスポートすれば、トラフィックをフィルタリング・並べ替えして、異常を簡単に識別できるようになります。
ログファイルの中で普段と異なる点に常に注意を払いましょう。わずかなシステム異常でも、ルートキット感染のサインである可能性があります。特に、重い処理を一切実行していないのにCPU使用率や帯域幅の消費が異常に高い場合は、重大な手がかりとなります。
-
Windows 10で仮想メモリを増やす方法【初心者向けかんたん設定ガイド】
Windowsパソコンの動作が重くなってきたとき、多くの人はまずSSD(ソリッドステートドライブ)やRAM(メモリ)を大容量のものへ買い替えることを考えます。確かに物理的な増設はメモリ不足の解決につながりますが、費用も手間もかかります。そこで注目したいのが「仮想メモリ」の活用です。既存のRAMやSSDを交換しなくても、設定を少し変更するだけでシステムのメモリ領域を拡張できます。本記事では、仮想メモリの仕組みと、Windows 10での増やし方をわかりやすく解説します。 仮想メモリとは? PCには主に2種類の記憶領域があります。 SSD・HDD: ファイルやドキュメントなど、あらゆるデータを長
-
【保存版】Windows 11でファイルをZIP圧縮・解凍する方法を徹底解説
Windows 11でファイルをZIP形式に圧縮できずにお困りではありませんか?あるいは、複数のファイルをまとめて送るために圧縮したいとお考えですか? ご安心ください! 本記事では、Windows 11でファイルをZIP圧縮・解凍するための最も確実な手順を、初心者の方にもわかるように丁寧に解説します。 Windows 11の主な特徴 Windows 11は、これまでで最も注目されたバージョンのWindowsです。モダンなデザインと新機能が数多く搭載され、操作性が大幅に向上しました。生産性向上のための機能も充実しており、複数の作業を1画面で同時にこなせるため、リモートワークやオフィス業務の効率