11章メモリフォレンジックを利用した高度なマルウェア検出

 前章では、メモリイメージから貴重な情報を抽出するのに役立つ、様々なVolatilityプラグインを見てきました。この章では、メモリフォレンジックの解説を続けます。ステルス技術を悪用する高度なマルウェアに感染したメモリイメージからフォレンジックアーティファクトを抽出するのに役立つ、さらに様々なプラグインを見ていきます。次のセクションでは、メモリフォレンジックを利用したコードインジェクション技術の検出に焦点を当てます。8章『コードインジェクションとフッキング』で既に取り上げた概念の一部について説明しますので、次のセクションを読む前に、その章を読むことを強くお勧めします。

11.1 コードインジェクションの検出

 8章『コードインジェクションとフッキング』で触れましたが、コードインジェクションとは、(EXE、DLL、シェルコードなど)攻撃コードを正規のプロセスメモリに挿入し、正規プロセスのコンテキスト内で攻撃コードを実行するための技術です。リモートプロセスにコードを挿入するため、マルウェアプログラムは通常、読み取り権限(Read)、書き込み権限(Write)、実行権限(Execute)など、他のプロセスから介入されないようにする保護属性(PAGE_EXECUTE_READWRITE)を持つメモリを割り当て、リモートプロセスの割り当てられたメモリにコードを挿入します。リモートプロセスに挿入されたコードを検出するために、メモリ保護とメモリ内容から不審なメモリ領域を探すことができます。ここで重要な疑問は、疑わしいメモリ領域とは何か、プロセスのメモリ領域に関する情報をどのように取得するか、という点です。前章(『10.6.1 ldrmodulesを利用した隠しDLLの検出』)を思い出すと、Windowsはカーネル空間に ...

Get 初めてのマルウェア解析 ―Windowsマルウェアを解析するための概念、ツール、テクニックを探る now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.