米McAfeeの研究機関Avert LabsのBlogエントリによると、Windows File Protection (WFP)の新たな無効化法を使用するマルウェア「W32/Crimea.dr」をこのほど発見したという。

WFPはWindowsが提供する機能のひとつであり、重要なシステムファイルをプログラムから修正・上書き・変更されることを抑止することができる。この機能の一部であるシステムファイルの監視は、SFC.dllならびにSFC_OS.dllによって実施されている。旧来からあるマルウェアは、レジストリに修正を加えることで同機能を無効にしてきた。

今回発見されたW32/Crimea.drはこのような方法ではなく、SFC_OS.dllに含まれる特定の関数を呼び出すことでこれを実現するとされる。そしてこの関数は文書化されていないもの(undocumented)であるという。具体的には以下の2つの関数を使用していることが報告されている。

  1. SfcTerminateWatcherThread
  2. SetSfcFileException

SfcTerminateWatcherThreadは、PCが次に起動されるまでの間、WFPを無効化することのできる関数であるという。ただし、この関数を呼び出すためにはwinlogon.exeのプロセスにコードを注入させる必要性があるという。

一方のSetSfcFileExceptionは、1分間WFPを無効化させることのできる関数だとされる。事実、W32/Crimea.drはimm32.dllにファイル感染を行うためにこの関数の呼び出しを行うのだという。

同エントリでは「Microsoftは、このようなマルウェアに簡単に利用されてしまう関数をOSに実装すべきではない」としている。