ルートキット、スパイウェア、キーロガー
ルートキットがOSからマルウェアを隠す方法、スパイウェアがひそかにデータを外部送信する方法、キーロガーがリアルタイムで認証情報を取得する方法を学びます。
「ルートキット、スパイウェア、キーロガー」はCoddyKit上の無料Security+ Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSecurity+ Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Security+ Academyコースには全4レッスンが含まれています。
ステルスマルウェア:目立たずに潜む脅威
多くのマルウェアは目に見える被害によって存在を知らせますが、ユーザー、管理者、セキュリティツールから隠れたまま、攻撃者の目的をひそかに達成するよう設計された悪意のあるソフトウェアもあります。rootkit、spyware、keyloggerは、マルウェアの中でも特にステルス性の高いものです。これらが効果を発揮するのは、検知されずに永続化できるためです。数か月から数年にわたって活動し、認証情報やデータをひそかに外部へ送信し続けることもあります。標準的なスキャンでは見逃すものを検出できるツールを選び、フォレンジック調査を行うには、その隠蔽技術を理解することが不可欠です。
rootkit:OSそのものを乗っ取る
rootkitは、攻撃者の存在を隠すために、オペレーティングシステムや低レベルソフトウェアを改変します。この用語は、Unixの「root」(最高権限)と「kit」(ツール一式)に由来します。rootkitはOSの関数をフックし、標準的なシステム検査ツールからファイル、レジストリキー、プロセス、ネットワーク接続を隠します。rootkitが動作しているプロセスはタスクマネージャーに表示されず、そのネットワーク接続はnetstatに表示されず、ファイルはディレクトリ一覧に現れないことがあります。これらのツールはすべて、rootkitが侵害したものと同じAPIを通じてOSに問い合わせるためです。感染したOSの内部からrootkitを検出するのは非常に困難です。
# What rootkits hide:
# - Malicious processes from task manager / ps
# - Files and directories from file system listings
# - Registry keys from regedit
# - Network connections from netstat/ss
# - Kernel modules from lsmod
# - Loaded DLLs from process listings
# Why standard tools fail:
# Task Manager calls NtQuerySystemInformation() -> rootkit intercepts
# Rootkit patches return value to exclude hidden process動作場所によるrootkitの種類
rootkitは、システム内のどこで動作するかによって分類されます。ユーザーモード(アプリケーションレベル)rootkitはユーザー空間で動作し、API呼び出しをフックします。検出と削除が最も容易な種類です。カーネルモードrootkitはOSレベルの権限で動作し、カーネルのデータ構造を改変します。非常にステルス性が高く、インストールにはドライバーまたはカーネルエクスプロイトが必要です。Bootkit(MBR rootkit)はMaster Boot RecordまたはVolume Boot Recordに感染し、OSより前に読み込まれるため、動作中のOSからは見えません。ハイパーバイザーrootkit(VMベース)はOSの下位で動作し、元のOSを仮想マシンとして実行します。そのため、理論上はゲスト内から検出できません。
# Rootkit detection approaches by type:
# User-mode: Standard AV + process hollowing detection
# Kernel-mode: Rootkit scanners that compare in-memory data
# with on-disk data (GMER, RootkitRevealer)
# Bootkit: Boot-time scan from trusted environment
# Secure Boot with UEFI TPM attestation
# Hypervisor: Hardware-based integrity measurement
# Best removal approach for all types:
# Boot from trusted external media
# Image the drive for forensics, then reimage the systemrootkitの検出
rootkitはOS自身の報告機構を侵害するため、検出には感染したOSの外部から調べる必要があります。手法には、クロスビュー分析(カーネルのデータ構造をメモリから直接取得し、APIが報告する内容と比較します。相違があれば隠された項目が存在することを示します)、整合性検証(重要なシステムファイルのハッシュを、信頼できるソースの正常なベースラインと比較します)、オフラインスキャン(クリーンなUSBから起動してドライブをスキャンします)、TPMによるSecure Bootの構成証明(ブートチェーンが改変されていないことを暗号学的に検証します)があります。ツールには、Linux向けのGMER、Malwarebytes Anti-Rootkit、chkrootkit/rkhunterなどがあります。
# Linux rootkit detection:
rkhunter --check --skip-keypress
chkrootkit
# Cross-view analysis concept:
# Hidden process detection:
# Walk the kernel EPROCESS list directly (avoids API hooks)
# Compare to what NtQuerySystemInformation() returns
# Processes in EPROCESS but not in API list = hidden (rootkit)
# Verify critical file hashes:
aids --check # Advanced Intrusion Detection Environment
trip # Tripwire IDSspyware:ひそかなデータ窃取
Spywareは、ユーザーに知られたり同意を得たりすることなく、ユーザーの活動をひそかに監視し、情報を攻撃者に送信します。閲覧履歴、検索クエリ、スクリーンショット、アプリケーションの使用状況、位置情報などを取得することがあります。一部のspywareは、ペアレンタルコントロールや従業員監視向けの「監視ソフトウェア」として市販されています(ただし、合法性は管轄区域によって異なります)。悪意のあるspywareは、犯罪者や国家によって、機密性の高い業務データ、個人情報、知的財産をひそかに外部へ送信するために使われます。Spywareは無料ソフトウェア(PUPs、Potentially Unwanted Programs)にバンドルされることが多く、感染源の特定を難しくします。
# Spyware behavioral indicators:
# - Unusual outbound network connections (data exfiltration)
# - Increased CPU/disk usage with no obvious cause
# - Browser settings changed (homepage, search engine)
# - New browser toolbars or extensions installed
# - Device battery drains faster (mobile spyware)
# - Slow system performance due to background monitoring
# Anti-spyware scanning:
# Malwarebytes, Windows Defender, HitmanPro
# Check browser extensions: remove unknown extensionsstalkerwareと商用spyware
Stalkerwareは、親密な関係にある相手をひそかに監視するために設計されたspywareで、加害者向けにパートナー監視ツールとして販売されています。位置情報、通話、テキストメッセージ、ソーシャルメディアを取得します。商用spyware(NSO GroupのPegasus、Candiru、FinFisherなど)は政府や法執行機関に販売され、ジャーナリスト、活動家、反体制派を標的にすることがよくあります。PegasusはiPhoneのゼロクリック脆弱性を悪用し、ユーザーの操作なしでインストールされました。Coalition Against Stalkerwareやセキュリティ研究者は、一般的なAV製品にstalkerware検出機能を追加する取り組みを進めています。検出には、Amnesty InternationalのMobile Verification Toolkit(MVT)などのツールを使ったデバイスのフォレンジック分析が必要になることがよくあります。
keylogger:すべてのキー入力を記録する
Keyloggerはユーザーが入力するすべてのキー入力を記録し、パスワード、メッセージ、クレジットカード番号など、入力されたあらゆるデータを取得します。ソフトウェアkeyloggerは、ユーザーモードフック(SetWindowsHookEx API)、カーネルモードドライバー(よりステルス性が高い)、暗号化される前にブラウザーのフォーム送信を傍受するフォームグラバーのフックなど、さまざまなレベルで動作します。ハードウェアkeyloggerはキーボードとコンピューターの間に接続する物理デバイスで、ソフトウェアベースの検出からは完全に見えません。キー入力を内部メモリに保存し、後から取り出せるようにします。高セキュリティ区域を保護する組織は、許可されていないデバイスがないか、ハードウェアポートを定期的に検査してください。
# Software keylogger installation vector:
# Trojan download -> installs keylogger driver
# Malicious browser extension -> captures form input
# Office macro -> drops and registers keylogger DLL
# Hardware keylogger detection:
# Physical inspection of keyboard port (USB/PS/2)
# Common types: PS/2 inline, USB inline, USB hub type
# Acoustic side-channel (listening to keystrokes) - exotic
# Defense against software keyloggers:
# Two-factor authentication (keylogged password + OTP)
# Password manager auto-fill (bypasses keyboard input)
# Virtual on-screen keyboard for sensitive systems (limited protection)フォームグラバーとブラウザー認証情報の窃取
フォームグラバーは、ブラウザーのフォームから送信されたデータが暗号化されてネットワーク経由で送られる前に傍受します。入力時点でユーザー名、パスワード、クレジットカード番号などを取得します。悪名高いバンキング型トロイの木馬であるZeus(Zbot)は、ブラウザープロセスに注入したフォームグラバーのフックを使用していました。HTTPSによってブロックされるネットワークレベルのスニファーとは異なり、フォームグラバーはアプリケーションレベルで動作するため、暗号化が意味を持ちません。通常はInternetReadFileのようなブラウザー関数をフックするか、ブラウザープロセスのメモリにコードを注入します。最新のEDRツールは、フォームグラバーの活動を示すプロセスインジェクションやブラウザーAPIフッキングのパターンを検出します。
# Form grabber detection indicators:
# - Browser process loading unexpected DLLs
# - API hooks in browser memory (InternetReadFile, PR_Write)
# - Unusual child processes spawned by browser
# - Outbound connections from browser process to unknown IPs
# Defense:
# EDR with browser protection (e.g., Cisco AMP, CrowdStrike)
# Isolated browser environment (VMware Browser Isolation)
# MFA: even if credentials captured, OTP prevents reuseアドウェアとPUPs
アドウェアは望ましくない広告を表示し、運営者の収益を生み出すためにブラウザーのトラフィックをリダイレクトすることがあります。他のマルウェアほど破壊的ではありませんが、システムのパフォーマンスを低下させ、プライバシーを侵害し、悪意のあるサイトへのリダイレクトや、より危険なソフトウェアとのバンドルによってセキュリティリスクを生みます。PUPs(Potentially Unwanted Programs)は、ユーザーが意図的にインストールしたとは限らないソフトウェアです。多くの場合、偽装されたインストール画面を通じて無料ソフトウェアにバンドルされています。PUPsは境界的な存在です。厳密には悪意のあるソフトウェアではない場合もありますが、リソースを消費し、プライバシーを侵害し、より危険な感染への経路を作ります。
# PUP/Adware prevention:
# During software installation:
# - Choose 'Custom' not 'Express' installation
# - Uncheck pre-selected bundled software offers
# - Read each screen carefully before clicking Next
# Removal:
# Malwarebytes Anti-Malware (good PUP detection)
# ADWCleaner (Malwarebytes tool for adware)
# Check installed programs list for unwanted additions
# Check browser extensions for unknown additions認証情報ダンピングとLSASS
マルウェアが十分な権限でインストールされると、認証情報ダンピングによってメモリやディスクに保存された認証情報を抽出し、ラテラルムーブメントに利用します。WindowsのLSASSプロセスは、シングルサインオンのために認証情報をメモリに保存します。Mimikatzなどのツールは、LSASSのメモリから平文パスワードやNTLMハッシュをダンプします。防御側は、Credential Guard(Windows 10以降で利用でき、仮想化ベースのセキュリティによってLSASSを安全なコンテナーに隔離します)、Protected Usersグループへの所属(認証情報のキャッシュを防止します)、および非システムプロセスによるLSASSメモリアクセスを検知して警告するEDRルールによって対抗します。
# Credential dump detection:
# Alert on: processes accessing LSASS memory (non-system)
# Alert on: procdump.exe targeting lsass.exe
# Alert on: sekurlsa::logonpasswords in memory artifacts
# Windows Credential Guard (prevents Mimikatz from LSASS):
# LSASS runs in Isolated User Mode (VSM)
# Mimikatz dumps show only encrypted blobs, not plaintext
# Enable Credential Guard:
# gpedit: Computer Config -> Admin Templates -> System -> Device Guard
# 'Turn On Virtualization Based Security' = Enabledルートキットと永続的な脅威の除去
稼働中のシステムからルートキットを除去しようとするのは危険です。ルートキットは自らを積極的に隠し、除去の試みを検知する可能性があるためです。ルートキットを修復する際のベストプラクティスは、フォレンジック証拠を保全した後、信頼できるベースラインからシステムを再イメージ化することです。すぐに完全な再イメージ化を実施できない場合は、信頼できる外部メディア(オフラインスキャナーを入れたUSB)から起動し、OSの読み込み前にルートキット検出ツールを実行し、すべてのアーティファクトを記録したうえで、可能な限り早い時期に再イメージ化できるよう計画します。ブートキットに対しては、UEFIのSecure Bootを使用して署名のないブートローダーを防止し、OSを再インストールする前にMBRへゼロを書き込むことも検討します。
# Bootkit removal:
# Boot to Windows Recovery Environment (WinRE)
# Repair boot record:
bootrec /fixmbr
bootrec /fixboot
bootrec /rebuildbcd
# For Linux MBR repair:
dd if=/dev/zero of=/dev/sda bs=512 count=1 # wipe MBR
grub-install /dev/sda # reinstall GRUB
# Best practice: full reimage after forensic image captured理解度チェック
このレッスンで扱ったCompTIA Security+(SY0-701)の概念について、理解度を確認します。
レッスンのまとめ
このレッスンでは、次のことを学びました。ルートキットはOSのAPIを悪用してプロセス、ファイル、ネットワーク接続を隠すため、感染したOS内部からの検出は信頼できず、オフラインスキャンやクロスビュー分析が必要になります。スパイウェアとキーロガーは認証情報やデータを密かに外部へ送信しますが、ネットワーク監視やEDRによるプロセス検査で検出可能な振る舞いの痕跡を残します。また、LSASSを標的とするMimikatzなどの認証情報ダンプツールは、Windows Credential GuardとProtected Usersグループポリシーによって緩和できます。次は、ファイルレスマルウェアとLiving-off-the-Land攻撃について学びます。
よくある質問
「ルートキット、スパイウェア、キーロガー」レッスンは無料ですか?
はい。「ルートキット、スパイウェア、キーロガー」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Security+ Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Security+ Academyコースには全4レッスンが含まれています。
「ルートキット、スパイウェア、キーロガー」で何を学びますか?
ルートキットがOSからマルウェアを隠す方法、スパイウェアがひそかにデータを外部送信する方法、キーロガーがリアルタイムで認証情報を取得する方法を学びます。 ブラウザで直接実行するハンズオンコードでSecurity+ Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Security+ Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのSecurity+ Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「ルートキット、スパイウェア、キーロガー」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このSecurity+ Academyレッスンでコードを書いて実行できますか?
はい。すべてのSecurity+ Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- ウイルス、ワーム、トロイの木馬
- ランサムウェアと暗号化型マルウェア
- ルートキット、スパイウェア、キーロガー
- ファイルレスマルウェアとLiving-off-the-Land攻撃