
カーネルモードEDRの実験的研究プロジェクトで、説明可能な検出に焦点を当て、不審なメモリ内実行パターンを検出し、不透明なスコアリングやブロッキングの代わりに人間が読めるアラートを生成します。
NORM (Normal EDR) は、実験的なカーネルモードEDR研究プロジェクトであり、サイレントブロックではなく説明可能な検出に焦点を当てています。
スコアを割り当てたりプロセスを強制終了する代わりに、NORMは1つの質問に答えます。
なぜこのバイナリは怪しく見えるのか?
このプロジェクトは、最新のEDRがどのように動作を推論するかについての学習と研究の旅として、公開でステップバイステップで構築されています。
このリリースでは、多くのコモディティマルウェアサンプルで使用される一般的なインメモリ実行パターンを検出できるメモリスキャンルーチンが導入されています。
ドライバーはプロセスのメモリ領域を列挙し、以下の特性を持つ怪しいメモリを特定します。
MEM_PRIVATEAllocationProtect = PAGE_READWRITEProtect = PAGE_EXECUTE_READこのパターンは、シェルコードがメモリに書き込まれた後に実行可能としてマークされる場合によく見られます。
ドライバーは以下の手順を実行します。
KeStackAttachProcessを使用してターゲットプロセスにアタッチします。ZwQueryVirtualMemoryを使用してプロセスのアドレス空間が列挙されます。[ALERT] PID 4120 AllocationProtect: RW Protect: RX Type: PRIVATE
代わりに、NORMは明確で人間が読めるカーネルアラートを生成します。
NORMはカーネルモードドライバーであり、専用のラボ環境が必要です。
以下の完全なウォークスルー:
はこちらで公開されています。
📺 NORMのコンパイルと実行方法(カーネルラボセットアップ)
👉 YouTube: https://www.youtube.com/watch?v=8NHgK_OSKj8
ビルド手順の文書化は意図的に省略されており、ドキュメントはビデオシリーズと同期しています。
このプロジェクトは以下を目的としています。
プロダクション対応ではありません。 実際のシステムにデプロイしないでください。
このプロジェクトが役立つと感じ、継続的な開発を支援したい場合は、コーヒーを御馳走していただけると助かります。
あなたのサポートは以下の費用に充てられます:
私のブログで、課題や技術的洞察について読むことができます:rootfu.in。