ETW パッチ
自プロセス内にある Windows へトレースイベントを送る関数を書き換え、プロセスが自分について報告しないようにする手法。必要なのはわずか 2 バイトだ。
Windows イベントトレーシング(ETW)は、セキュリティ関連テレメトリの多くが流れる経路で、.NET ランタイムが報告する「どのアセンブリがロードされ、どのメソッドがコンパイルされたか」もここを通る。メモリ上から直接実行されるコードを暴くのはまさにこの情報だ。呼び出しは ntdll 内の関数を通るが、これはプロセス自身のアドレス空間にあり、すでにそこで動いている者なら書き込める。先頭の命令を return に置き換えれば、エラーも出さずにイベントが消える。限界もある。効くのはそのプロセスだけで、ユーザーモードで生成されたイベントに限られる。カーネルのプロバイダー、特にMicrosoftがセキュリティ製品向けに確保しているものは影響を受けない。検知は、モジュールのコードをディスク上のファイルと比較するか、本来しゃべるはずのプロセスが突然静かになったことに気づくことで行う。