ルートキットは、ハッカーがデバイス内に永続的で一見検出できないマルウェアを隠すために使用します。マルウェアは、場合によっては数年にわたって、データやリソースをサイレントに盗みます。また、キーストロークと通信が監視され、見物人にプライバシー情報を提供するキーロガー方式で使用することもできます。
この特定のハッキング方法は、 Microsoft Vista(Microsoft Vista)がベンダーにすべてのコンピュータードライバーにデジタル署名することを要求する前に、2006年以前により関連性が見られました。カーネルパッチプロテクション(Kernel Patch Protection)(KPP )により、マルウェア作成者は攻撃方法を変更し、2018年の時点でZacinloの広告詐欺操作(Zacinlo ad fraud operation)により、ルートキットが再び脚光を浴びました。
2006年より前のルートキットはすべて、特にオペレーティングシステムベースでした。Detrahereマルウェアファミリーのルートキットである(Detrahere malware)Zacinloの状況は、ファームウェアベースのルートキットの形でさらに危険なものを私たちに与えました。とにかく(Regardless)、ルートキットは、毎年見られるすべてのマルウェア出力の約1パーセントにすぎません。
それでも、それらがもたらす可能性のある危険性のために、システムにすでに侵入している可能性のあるルートキットの検出がどのように機能するかを理解することが賢明です。
Windows 10でのルートキットの検出(詳細(In-Depth))
Zacinloは、 (Zacinlo)Windows 10プラットフォームをターゲットにしていることが発見されるまで、実際にはほぼ6年間使用されていました。ルートキットコンポーネントは高度に構成可能であり、その機能にとって危険であると見なされたプロセスから自身を保護し、 SSL(SSL)通信を傍受および復号化することができました。
すべての構成データを暗号化してWindowsレジストリ内に保存し、 (Windows Registry)Windowsのシャットダウン中に、別の名前を使用してメモリからディスクに再書き込みし、レジストリキーを更新します。これは、標準のウイルス対策ソフトウェアによる検出を回避するのに役立ちました。
これは、標準のウイルス対策ソフトウェアまたはマルウェア対策ソフトウェアではルートキットを検出するのに十分ではないことを示しています。ただし、ルートキット攻撃の疑いを警告する一流のウイルス対策プログラムがいくつかあります。
優れたウイルス対策ソフトウェアの5つの重要な属性(The 5 Key Attributes Of a Good Antivirus Software)
今日の著名なウイルス対策プログラムのほとんどは、ルートキットを検出するためのこれら5つの注目すべき方法すべてを実行します。
- シグニチャベース(Signature-based Analysis)の分析–ウイルス対策ソフトウェアは、ログに記録されたファイルをルートキットの既知のシグニチャと比較します。分析では、積極的なポートの使用など、既知のルートキットの特定の動作アクティビティを模倣する動作パターンも探します。
- 傍受検出(Interception Detection)– Windowsオペレーティングシステムは、ポインタテーブルを使用して、ルートキットの動作を促すことがわかっているコマンドを実行します。ルートキットは脅威と見なされるものを置き換えたり変更したりしようとするため、システムが存在するようになります。
- マルチソースデータの比較(Multi-Source Data Comparison)–ルートキット(Rootkits)は、非表示のままにしようとして、標準的な検査で提示される特定のデータを変更する可能性があります。高レベルおよび低レベルのシステムコールの結果が返されると、ルートキットの存在が失われる可能性があります。ソフトウェアは、 RAM(RAM)にロードされたプロセスメモリをハードディスク上のファイルの内容と比較する場合もあります。
- 整合性チェック(Integrity Check)–すべてのシステムライブラリには、システムが「クリーン」であると見なされたときに作成されたデジタル署名があります。優れたセキュリティソフトウェアは、デジタル署名の作成に使用されるコードの変更についてライブラリをチェックできます。
- レジストリの比較(Registry Comparisons)–ほとんどのウイルス対策ソフトウェアプログラムには、事前に設定されたスケジュールでこれらがあります。クリーンなファイルがクライアントファイルとリアルタイムで比較され、クライアントが要求されていない実行可能ファイル(.exe)であるか含まれているかが判断されます。
ルートキットスキャンの実行(Performing Rootkit Scans)
ルートキットスキャンを実行することは、ルートキット感染を検出するための最良の試みです。ほとんどの場合、オペレーティングシステムは、ルートキットをそれ自体で識別することを信頼できず、その存在を判断するための課題を提示します。ルートキットはマスタースパイであり、ほぼすべてのターンでトラックをカバーし、目に見えない場所に隠れたままにすることができます。
ルートキットウイルス攻撃がマシンで発生したと思われる場合、検出のための適切な戦略は、コンピュータの電源を切り、既知のクリーンなシステムからスキャンを実行することです。マシン内でルートキットを見つける確実な方法は、メモリダンプ分析を使用することです。ルートキットは、マシンのメモリで命令を実行するときに、システムに与える命令を非表示にすることはできません。
マルウェア分析のためのWinDbgの使用(Using WinDbg For Malware Analysis)
Microsoft Windowsは、アプリケーション、ドライバー、またはオペレーティングシステム自体のデバッグスキャンを実行するために使用できる独自の多機能デバッグツールを提供しています。カーネルモードとユーザーモードのコードをデバッグし、クラッシュダンプの分析を支援し、CPUレジスタを調べます。
一部のWindowsシステムには、WinDbgがすでにバンドルされています。含まれていない場合は、 (WinDbg)MicrosoftStoreからダウンロードする必要があります。WinDbg Previewは、 (WinDbg Preview)WinDbgのより新しいバージョンであり、目のビジュアル、より高速なウィンドウ、完全なスクリプト、および元のコマンドと同じコマンド、拡張機能、ワークフローを提供します。
最低限、WinDbgを使用して、(WinDbg)ブルースクリーン(Blue Screen)オブデス(Death)(BSOD )を含むメモリまたはクラッシュダンプを分析できます。結果から、マルウェア攻撃の兆候を探すことができます。プログラムの1つがマルウェアの存在によって妨げられていると思われる場合、または必要以上のメモリを使用している場合は、ダンプファイルを作成し、WinDbgを使用して分析することができます。
完全なメモリダンプはかなりのディスク容量を消費する可能性があるため、代わりにカーネルモード(Kernel-Mode)ダンプまたはスモールメモリ(Memory)ダンプを実行する方がよい場合があります。カーネルモードダンプには、クラッシュ時のカーネルによるすべてのメモリ使用量情報が含まれます。スモールメモリ(Memory)ダンプには、ドライバやカーネルなどのさまざまなシステムに関する基本情報が含まれますが、比較するとごくわずかです。
スモールメモリ(Memory)ダンプは、BSODが発生した理由を分析するのに役立ちます。ルートキットを検出するには、完全バージョンまたはカーネルバージョンの方が役立ちます。
カーネルモードのダンプファイルの作成(Creating A Kernel-Mode Dump File)
カーネルモードの(Kernel-Mode)ダンプファイルは、次の3つの方法で作成できます。
- コントロールパネル(Control Panel)からダンプファイルを有効にして、システムが自動的にクラッシュできるようにします
- コントロールパネル(Control Panel)からのダンプファイルを有効にして、システムを強制的にクラッシュさせます
- デバッガツールを使用して作成します
選択肢は3つです。
必要なダンプファイルを実行するには、 WinDbgの(WinDbg)コマンド(Command)ウィンドウに次のコマンドを入力するだけです。
FileNameを、ダンプファイルの適切な名前と「?」に置き換えます。fで。「f」が小文字であることを確認してください。そうでない場合は、別の種類のダンプファイルを作成します。
デバッガーがコースを実行すると(最初のスキャンにはかなりの時間がかかります)、ダンプファイルが作成され、結果を分析できるようになります。
ルートキットの存在を判断するには、揮発性メモリ( RAM )の使用量など、何を探しているのかを理解するには、経験とテストが必要です。初心者にはお勧めしませんが、ライブシステムでマルウェア検出技術をテストすることは可能です。これを行うには、生きているウイルスを誤ってシステムに展開しないように、 WinDbgの動作に関する専門知識と深い知識が必要になります。
隠れた敵を発見するための、より安全で初心者に優しい方法があります。
追加のスキャン方法(Additional Scanning Methods)
手動検出と動作分析も、ルートキットを検出するための信頼できる方法です。ルートキットの場所を見つけようとするのは大きな苦痛になる可能性があるため、ルートキット自体をターゲットにする代わりに、ルートキットのような動作を探すことができます。
インストール中に[詳細](Advanced)または[カスタム](Custom)インストールオプションを使用して、ダウンロードしたソフトウェアバンドルでルートキットを探すことができます。あなたが探す必要があるのは、詳細にリストされているなじみのないファイルです。これらのファイルは破棄する必要があります。そうしないと、悪意のあるソフトウェアへの参照をオンラインですばやく検索できます。
ファイアウォールとそのログレポートは、ルートキットを検出するための非常に効果的な方法です。ソフトウェアは、ネットワークが精査されているかどうかを通知し、インストール前に認識できないダウンロードや疑わしいダウンロードを隔離する必要があります。
ルートキットがすでにマシン上にあると思われる場合は、ファイアウォールのログレポートを調べて、通常とは異なる動作を探すことができます。
ファイアウォールログレポートの確認(Reviewing Firewall Logging Reports)
現在のファイアウォールログレポートを確認して、ファイアウォールログフィルタリング機能を備えたIPトラフィックスパイ(IP Traffic Spy)のようなオープンソースアプリケーションを作成することをお勧めします。これは非常に便利なツールです。レポートには、攻撃が発生した場合に確認する必要があるものが表示されます。
スタンドアロンの出力フィルタリングファイアウォールを備えた大規模なネットワークがある場合、IPトラフィックスパイ(IP Traffic Spy)は必要ありません。代わりに、ファイアウォールログを介して、ネットワーク上のすべてのデバイスとワークステーションへのインバウンドパケットとアウトバウンドパケットを確認できるはずです。
自宅でも中小企業でも、ISPが提供するモデムを使用できます。所有している場合は、パーソナルファイアウォールまたはルーターを使用してファイアウォールログを取得できます。同じネットワークに接続されている各デバイスのトラフィックを識別できます。
Windowsファイアウォールログ(Windows Firewall Log)ファイルを有効にすることも有益な場合があります。デフォルトでは、ログファイルは無効になっています。つまり、情報やデータは書き込まれません。
- Windows key + R実行(Run)機能を開きます。
- ボックスにwf.mscと入力し、 (wf.msc)Enterキー(Enter)を押します。
- [ Windowsファイアウォール(Windows Firewall)とセキュリティ(Advanced Security)の強化]ウィンドウで、左側のメニューの[ローカルコンピューターにセキュリティ(Advanced Security)が強化されたWindowsDefenderファイアウォール]を強調表示します。[アクション]の下の右端のメニューで、[プロパティ(Properties)]をクリックします。
- 新しいダイアログウィンドウで、[プライベートプロファイル]タブに移動し、[ログ]セクションにある[カスタマイズ]を選択します。(Customize)
- 新しいウィンドウでは、書き込むログファイルのサイズ、ファイルの送信先、ドロップされたパケットのみをログに記録するか、接続の成功、またはその両方をログに記録するかを選択できます。
- ドロップ(Dropped)されたパケットは、Windowsファイアウォール(Windows Firewall)がユーザーに代わってブロックしたパケットです。
- 既定では、Windowsファイアウォール(Windows Firewall)のログエントリには最後の4 MBのデータのみが保存され、%SystemRoot%\System32\LogFiles\Firewall\Pfirewall.log
- ログのデータ使用量のサイズ制限を増やすと、コンピューターのパフォーマンスに影響を与える可能性があることに注意してください。
- 終了したら[ OK]を押します。
- 次に、[プライベートプロファイル]タブで実行したのと同じ手順を繰り返しますが、今回は[パブリックプロファイル]タブでのみ実行します。
- これで、パブリック接続とプライベート接続の両方のログが生成されます。メモ帳(Notepad)などのテキストエディタでファイルを表示したり、スプレッドシートにインポートしたりできます。
- ログのファイルをIPTrafficSpy(IP Traffic Spy)などのデータベースパーサープログラムにエクスポートして、トラフィックをフィルタリングおよびソートし、簡単に識別できるようになりました。
ログファイルで通常とは異なるものに注意してください。わずかなシステム障害でも、ルートキットの感染を示している可能性があります。要求の厳しいものを実行していないとき、またはまったく実行していないときに、CPUまたは帯域幅の過剰な使用に沿った何かが、主要な手がかりになる可能性があります。
How to Detect Rootkits In Windows 10 (In-Depth Guide)
Rootkits are used by hackers to hide persistent, seemingly undetectable malware within your dеvice that will silently steal data or resources, sometimes over the course of multiрle years. They can also be used in keylogger fashion where your keystrokes and communіcations are surveilled providing the onlooker with privacy information.
This particular hacking method saw more relevance pre-2006, prior to Microsoft Vista requiring vendors to digitally sign all computer drivers. The Kernel Patch Protection (KPP) caused malware writers to change their attack methods and only recently as of 2018 with the Zacinlo ad fraud operation, did rootkits re-enter the spotlight.
The rootkits pre-dating 2006 were all specifically operating system-based. The Zacinlo situation, a rootkit from the Detrahere malware family, gave us something even more dangerous in the form of a firmware-based rootkit. Regardless, rootkits are only around one percent of all malware output seen annually.
Even so, because of the danger they can present, it would be prudent to understand how detecting rootkits that may have already infiltrated your system works.
Detecting Rootkits in Windows 10 (In-Depth)
Zacinlo had actually been in play for almost six years before being discovered targeting the Windows 10 platform. The rootkit component was highly configurable and protected itself from processes it deemed dangerous to its functionality and was capable of intercepting and decrypting SSL communications.
It would encrypt and store all of its configuration data within the Windows Registry and, while Windows was shutting down, rewrite itself from memory to disk using a different name, and update its registry key. This helped it to evade detection by your standard antivirus software.
This goes to show that a standard antivirus or antimalware software is not enough for detecting rootkits. Although, there are a few top tier antimalware programs that will alert you to suspicions of a rootkit attack.
The 5 Key Attributes Of a Good Antivirus Software
Most of the prominent antivirus programs today will perform all five of these notable methods for detecting rootkits.
- Signature-based Analysis – The antivirus software will compare logged files with known signatures of rootkits. The analysis will also look for behavioral patterns that mimic certain operating activities of known rootkits, such as aggressive port use.
- Interception Detection – The Windows operating system employs pointer tables to run commands that are known to prompt a rootkit to act. Since rootkits attempt to replace or modify anything considered a threat, this will tip off your system to their presence.
- Multi-Source Data Comparison – Rootkits, in their attempt to remain hidden, may alter certain data presented in a standard examination. The returned results of high and low-level system calls can give away the presence of a rootkit. The software may also compare the process memory loaded into the RAM with the content of the file on the hard disk.
- Integrity Check – Every system library possesses a digital signature that is created at the time the system was considered “clean”. Good security software can check the libraries for any alteration of the code used to create the digital signature.
- Registry Comparisons – Most antivirus software programs have these on a preset schedule. A clean file will be compared with a client file, in real-time, to determine if the client is or contains an unrequested executable (.exe).
Performing Rootkit Scans
Performing a rootkit scan is the best attempt for detecting rootkit infection. Most often your operating system cannot be trusted to identify a rootkit on its own and presents a challenge to determine its presence. Rootkits are master spies, covering their tracks at almost every turn and capable of remaining hidden in plain sight.
If you suspect a rootkit virus attack has taken place on your machine, a good strategy for detection would be to power down the computer and execute the scan from a known clean system. A surefire way to locate a rootkit within your machine is through a memory dump analysis. A rootkit cannot hide the instructions it gives your system as it executes them in the machine’s memory.
Using WinDbg For Malware Analysis
Microsoft Windows has provided its own multi-function debugging tool that can be used to perform debugging scans on applications, drivers, or the operating system itself. It will debug kernel-mode and user-mode code, help analyze crash dumps, and examine the CPU registers.
Some Windows systems will come with WinDbg already bundled in. Those without will need to download it from the Microsoft Store. WinDbg Preview is the more modern version of WinDbg, providing easier on the eyes visuals, faster windows, complete scripting, and the same commands, extensions, and workflows as the original.
At the bare minimum, you can use WinDbg to analyze a memory or crash dump, including a Blue Screen Of Death (BSOD). From the results, you can look for indicators of a malware attack. If you feel that one of your programs may be hindered by the presence of malware, or is using more memory than is required, you can create a dump file and use WinDbg to help analyze it.
A complete memory dump can take up significant disk space so it may be better to perform a Kernel-Mode dump or Small Memory dump instead. A Kernel-Mode dump will contain all memory usage information by the kernel at the time of the crash. A Small Memory dump will contain basic information on varying systems like drivers, the kernel, and more, but is tiny in comparison.
Small Memory dumps are more useful in analyzing why a BSOD has occurred. For detecting rootkits, a complete or kernel version will be more helpful.
Creating A Kernel-Mode Dump File
A Kernel-Mode dump file can be created in three ways:
- Enable the dump file from Control Panel to allow the system to crash on its own
- Enable the dump file from Control Panel to force the system to crash
- Use a debugger tool to create one for you
We’ll be going with choice number three.
To perform the necessary dump file, you only need to enter the following command into the Command window of WinDbg.
Replace FileName with an appropriate name for the dump file and the “?” with an f. Make sure that the “f” is lowercase or else you’ll create a different kind of dump file.
Once the debugger has run its course (the first scan will take considerable minutes), a dump file will have been created and you’ll be able to analyze your findings.
Understanding what it is your looking for, such as volatile memory (RAM) usage, to determine the presence of a rootkit takes experience and testing. It is possible, though not recommended for a novice, to test malware discovering techniques on a live system. To do this will again take expertise and in-depth knowledge on workings of WinDbg so as not to accidentally deploy a live virus into your system.
There are safer, more beginner-friendly ways to uncover our well-hidden enemy.
Additional Scanning Methods
Manual detection and behavioral analysis are also reliable methods for detecting rootkits. Attempting to discover the location of a rootkit can be a major pain so, instead of targeting the rootkit itself, you can instead look for rootkit-like behaviors.
You can look for rootkits in downloaded software bundles by using Advanced or Custom install options during installation. What you’ll need to look for are any unfamiliar files listed in the details. These files should be discarded, or you can do a quick search online for any references to malicious software.
Firewalls and their logging reports are an incredibly effective way to discover a rootkit. The software will notify you if your network is under scrutiny, and should quarantine any unrecognizable or suspicious downloads prior to installation.
If you suspect that a rootkit may already be on your machine, you can dive into the firewall logging reports and look for any out of the ordinary behavior.
Reviewing Firewall Logging Reports
You’ll want to review your current firewall logging reports, making an open-source application like IP Traffic Spy with firewall log filtering capabilities, a very useful tool. The reports will show you what is necessary to see should an attack occur.
If you have a large network with a standalone egress filtering firewall, IP Traffic Spy will not be necessary. Instead, you should be able to see the inbound and outbound packets to all devices and workstations on the network via the firewall logs.
Whether you’re in a home or small business setting, you can use the modem provided by your ISP or, if you own one, a personal firewall or router to pull up the firewall logs. You’ll be able to identify the traffic for each device connected to the same network.
It may also be beneficial to enable Windows Firewall Log files. By default, the log file is disabled meaning no information or data is written.
- To create a log file, open up the Run function by pressing the Windows key + R.
- Type wf.msc into the box and press Enter.
- In the Windows Firewall and Advanced Security window highlight “Windows Defender Firewall with Advanced Security on Local Computer” in the left side menu. On the far right side menu under “Actions” click Properties.
- In the new dialog window, navigate over to the “Private Profile” tab and select Customize, which can be found in the “Logging” section.
- The new window will allow you to select how big of a log file to write, where you’d like the file sent, and whether to log only dropped packets, successful connection, or both.
- Dropped packets are those that Windows Firewall has blocked on your behalf.
- By default, Windows Firewall log entries will only store the last 4MB of data and can be found in the %SystemRoot%\System32\LogFiles\Firewall\Pfirewall.log
- Keep in mind that increasing the size limit on data usage for logs can impact your computer’s performance.
- Press OK when finished.
- Next, repeat the same steps you just went through in the “Private Profile” tab, only this time in the “Public Profile” tab.
- Logs will now be generated for both public and private connections. You can view the files in a text editor like Notepad or import them into a spreadsheet.
- You can now export the logs’ files into a database parser program like IP Traffic Spy to filter and sort the traffic for easy identification.
Keep an eye out for anything out of the ordinary in the log files. Even the slightest system fault can indicate a rootkit infection. Something along the lines of excessive CPU or bandwidth usage when you’re not running anything too demanding, or at all, can be a major clue.