ファイルレスマルウェアとメモリ常駐型の手法
PowerShellベースのマルウェア、プロセスインジェクション、ディスク上に痕跡を残さないメモリ内実行を分析します。
「ファイルレスマルウェアとメモリ常駐型の手法」はCoddyKit上の無料Cyber Security Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCyber Security Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cyber Security Academyコースには全4レッスンが含まれています。
ファイルレスマルウェアとは
ファイルレスマルウェアは、実行可能ファイルをディスクに書き込まず、すべてメモリ上で実行されます。正規のOSツール、インタープリター環境(PowerShell、WScript)、メモリインジェクションを利用して動作するため、従来のAVやファイルベースのスキャンで検知できるフォレンジックアーティファクトを最小限に抑えられます。
PowerShellベースの攻撃
PowerShellでは、ダウンロードして実行するパターンが可能です。IEX (Invoke-Expression)は、ディスクに触れることなくインターネットからスクリプトを直接ダウンロードして実行します。文字の置換、base64、文字列連結などの難読化手法によって、シグネチャベースの検知による悪意のあるスクリプト内容の検出を回避します。
# Example obfuscation pattern (for awareness)
# IEX (New-Object Net.WebClient).DownloadString(url)
# Often base64-encoded to evade detectionLiving-off-the-Land Binaries(LOLBins)
LOLBinsは、武器化できる正規のWindowsバイナリです。certutil.exe(ファイルのダウンロード)、mshta.exe(HTAスクリプトの実行)、regsvr32.exe(リモートCOMオブジェクトの実行)、wmic.exe(コマンドの実行)、PowerShell(あらゆる処理)などがあります。これらはあらかじめインストールされ、署名済みで、多くの場合ホワイトリストに登録されています。
プロセスインジェクションの手法
クラシックインジェクション:VirtualAllocEx → WriteProcessMemory → CreateRemoteThread。プロセスハロウイング:正規のプロセスを中断状態で起動し、そのコードのマッピングを解除して悪意のあるコードに置き換えます。SetWindowsHookExまたはAppInit_DLLsを使用したDLLインジェクション。いずれも、信頼されたプロセス内で悪意のあるコードを実行します。
Reflective DLL Injection
Reflective DLL injectionは、Windowsローダーを使用せず、ディスクにも触れずにメモリからDLLをロードします。DLLには、インポートを解決して自身を再配置するミニローダーが含まれています。Meterpreterはリフレクティブローディングを使用するため、ディスク上にDLLファイルを残しません。
Process Hollowing(RunPE)
Process hollowingでは、正規のプロセス(svchost.exe)を中断状態で作成し、メモリから元の実行可能ファイルのマッピングを解除して、同じアドレス空間に悪意のある実行可能ファイルをマッピングし、その後実行を再開します。タスクマネージャー上では正規のプロセスに見えますが、実際には悪意のあるコードを実行しています。
AMSIバイパスの手法
MicrosoftのAntimalware Scan Interface(AMSI)は、AVスキャンのためにPowerShellスクリプトをインターセプトします。攻撃者は、メモリ内のAmsiScanBuffer()を常に正常な結果を返すようにパッチするか、AMSIの検知しきい値を下回るようにスクリプトを難読化することで、AMSIをバイパスします。AMSIへのパッチ適用自体は、EDRによって検知できます。
検知:ビヘイビア分析
ファイルレスマルウェアは、ファイルの存在ではなく動作によって検知します。PowerShellがネットワーク接続を生成する、Officeアプリケーションから予期しない子プロセスが生成される、裏付けとなるファイルがないのに実行権限を持つメモリ領域が存在する(malfind)、エンコードされた内容を含むLOLBinsのコマンドライン引数などが手がかりになります。
ETWベースの検知
Windows Event Tracing(ETW)は、EDRプラットフォームに詳細なテレメトリを提供します。Script Block LoggingではデコードされたPowerShellを取得し、Module LoggingではロードされたDLLを記録します。また、完全なコマンドラインを含むプロセス作成イベントや、ネットワーク接続イベントも取得できます。ETWプロバイダーは、アラートを発生させずにマルウェアが無効化することが困難です。
ファイルレスマルウェア検知のためのメモリフォレンジック
Volatilityのmalfindは、疑わしい実行可能メモリ領域を特定します。プロセスメモリ内の文字列から、C2 URLや埋め込まれたスクリプトが見つかることがあります。Process hollowingでは元のプロセスイメージのマッピングが解除されるため、プロセスメモリマップとディスク上の元の実行可能ファイルを比較することで検知できます。
PowerShellロギングとConstrained Language Mode
PowerShell Script Block Logging(イベントID 4104)とModule Loggingを有効にして、デコードされたすべてのスクリプト内容を取得します。PowerShell Constrained Language Modeは、危険な操作を制限します。WDACアプリケーションホワイトリストにより、承認されていないLOLBinsの組み合わせによる悪意のあるスクリプトの実行を防止できます。
知識チェック
ファイルレスマルウェアが従来のマルウェアより検知しにくいのはなぜですか?
まとめ
ファイルレスマルウェアは、PowerShell、LOLBins、プロセスインジェクションを悪用して、すべてメモリ上で実行されます。これに対抗するには、Script Block Logging、EDRプラットフォームによるビヘイビア分析、AMSIの適用、アプリケーションホワイトリスト、Volatilityなどのメモリフォレンジックツールを組み合わせて、注入されたコードを特定する必要があります。
AI チューターと学ぶ Cyber Security Academy — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 76
- レッスン
- 303
よくある質問
「ファイルレスマルウェアとメモリ常駐型の手法」レッスンは無料ですか?
はい。「ファイルレスマルウェアとメモリ常駐型の手法」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cyber Security Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cyber Security Academyコースには全4レッスンが含まれています。
「ファイルレスマルウェアとメモリ常駐型の手法」で何を学びますか?
PowerShellベースのマルウェア、プロセスインジェクション、ディスク上に痕跡を残さないメモリ内実行を分析します。 ブラウザで直接実行するハンズオンコードでCyber Security Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Cyber Security Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCyber Security Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「ファイルレスマルウェアとメモリ常駐型の手法」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCyber Security Academyレッスンでコードを書いて実行できますか?
はい。すべてのCyber Security Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- APTのライフサイクル:初期アクセスからデータ流出まで
- ファイルレスマルウェアとメモリ常駐型の手法
- HTTPS上のC2とDNSトンネリング
- 脅威の帰属とキャンペーン追跡