姿なき侵入者:メモリ上に潜む「ファイルレス・マルウェア」を捕まえろ!
こんにちは。現場で日々、見えない敵と戦っているSOCアナリストです。
突然ですが、皆さんの家を想像してみてください。玄関の鍵をしっかり閉め、窓には防犯センサーを取り付けているはずです。しかし、もし「泥棒が鍵を開けずに、家の壁をすり抜けてリビングに現れたら」どうでしょうか?
サイバーの世界には、まさにそんな「魔法」を使う悪者がいます。それがファイルレス・マルウェアです。彼らはハードディスクという「家」に痕跡を残さず、メモリ(RAM)という「空気中」で直接活動します。
今日は、そんな「姿なき侵入者」の尻尾を掴み、彼らが何者なのかを正体見極めるための「メモリフォレンジック」の初歩を、一緒に学んでいきましょう。
—
1. ファイルレス・マルウェアって、何者?
普通のマルウェアは、.exeや.dllといった「実体」がPCの中に保存されます。これは泥棒が「ピッキングツール」を持ち込んでいる状態です。しかし、ファイルレス・マルウェアは違います。
彼らは、システムが普段使っている便利な機能(PowerShellなど)を悪用し、「その場で作ったプログラムを、直接メモリという作業台の上で動かす」という荒業を使います。これなら、後からハードディスクをいくら探しても、何も見つかりません。
この「メモリ上の作業台」から、彼らの正体(実行コード)をどうやって抜き出し、解析可能な形にするのか。それが今回のミッションです。
—
2. 準備するもの:Volatility 3
メモリのダンプ(メモリの中身を丸ごとコピーしたもの)を解析するために、僕らプロが愛用しているのが Volatility 3 というツールです。これは「メモリのレントゲン写真」を解析するようなものですね。
まずは、怪しいプロセスを見つけ出し、メモリからその一部を切り出す(ダンプする)ことから始めます。
# 怪しいプロセスのID(PID)を見つけ出します
python3 vol.py -f memory.dmp windows.pslist
# 特定したPID(例えば1234)のメモリ領域をダンプします
python3 vol.py -f memory.dmp windows.vaddump --pid 1234
—
3. PEヘッダーという「設計図」を修復する
ここからが少し専門的なお話です。メモリ上にダンプされたファイルは、実は「頭(PEヘッダー)」が欠けていたり、壊れていたりすることがほとんどです。
PEヘッダーとは、家の「設計図」のようなもの。これがないと、解析ソフトは「これは何をするプログラムなのか?」を理解できません。攻撃者は、自分の正体を隠すために、あえてこの設計図を壊してメモリ上に配置することが多いのです。
なぜヘッダーを直す必要があるのか?
家を建てるとき、設計図が半分燃えていたら、部屋の配置も配線もわかりませんよね?それと同じで、PEヘッダーを修復しないと、静的解析ツール(IDA ProやGhidraなど)で「このプログラムが何をしようとしているのか」を読み解くことができないんです。
実践:PEヘッダーの修復(イメージ)
実務では、PE-bear などのツールを使って、失われたヘッダー情報を補完します。
1. セクションの特定: メモリ上のデータから、コードが置かれている場所(.textセクション)を探します。
2. マジックナンバーの確認: PEファイルの始まりである 4D 5A(MZヘッダー)が消えていることが多いので、ここをバイナリエディタで手動で書き込みます。
3. オフセットの調整: メモリ上での配置と、ファイル上での配置はズレが生じます。VirtualAddress と PointerToRawData を一致させるように数値を書き換えるのが職人技です。
—
4. 防御へのヒント:泥棒を入れないために
解析の泥臭い手順を体験すると、「そもそも侵入させない」ことの重要性が身に染みます。
- PowerShellの権限管理: 悪意あるスクリプトが勝手に実行されないよう、実行ポリシーを厳格に設定しましょう。
- EDR(Endpoint Detection and Response)の導入: メモリ上で不審な動き(突然のメモリ書き込みや、無名のプロセスからのネットワーク接続)を察知してくれる「警備員」を雇うことが、今の時代は不可欠です。
- スクリプトのログ取得: 「誰が、いつ、どんなコマンドを打ったか」を記録に残すだけで、後の解析が驚くほど楽になります。
—
最後に:怖がることはありません
「メモリフォレンジック」なんて聞くと、何だか魔法のような技術に聞こえますが、本質は「壊れた設計図を、パズルのように元に戻して、悪者の計画を読み解く」という、とても地道な作業です。
最初は難しく感じるかもしれません。でも、一歩ずつ進めば必ず正体は見えてきます。もし皆さんの環境で「何か怪しい挙動があるな」と感じたら、まずはその違和感を大切にしてください。その違和感こそが、プロへの第一歩なのですから。
それでは、また次回の現場でお会いしましょう!安全なネットワークライフを!
コメント