トレンドマイクロ製品のドライバーでWindowsの「ドライバーの検証ツール」実行の有無をチェックするコードが見つかる
複数のトレンドマイクロ製品が共通して使用するドライバーで、Windowsの「ドライバーの検証ツール」が実行されているかどうかチェックするコードが見つかったそうだ(Bill Demirkap's Blogの記事、 The Registerの記事、 Demirkapi氏のツイート)。
発見したセキュリティ研究者のBill Demirkapi氏は当初、トレンドマイクロのルートキット除去ツール「ルートキットバスター」で逆にルートキットをインストール可能な脆弱性が存在しないか調べようとしていたという。しかし、ルートキットバスターに含まれるドライバー「tmcomm.sys (TrendMicro Common Module)」が他のトレンドマイクロ製品でも使われることに気付き、こちらに絞って調査を行ったとのこと。
Demirkapi氏はtmcommを通じて任意のカーネルメモリを読み書き可能になることを確認したうえで、実行可能な非ページプール(NonPagedPool/NonPagedPoolExecute)の割り当てが行われていないか調査。その結果、OSがWindows 10以降かつドライバーの検証ツールが実行されている場合のみ実行不可の非ページプール(NonPagedPoolNx)が使われ、それ以外ではNonPagedPoolが使われることが判明する。
ドライバーの検証ツールが実行されているかどうかによって分岐処理する理由は明らかになっていないが、検証の成功はWHQL署名取得の要件となっている。そのため、Demirkapi氏はトレンドマイクロがユーザーの安全をないがしろにして通常はNonPagedPoolを用い、ドライバー検証時のみ安全なNonPagedPoolNxを使用してWHQL署名を取得している可能性を指摘する。
これについてトレンドマイクロはThe Registerに対し、Demirkapi氏の主張はミスリーディングであり、事前に同社へ連絡しなかったところからみて注目を浴びたかっただけではないか、などと回答したという。ただし、ドライバーの検証ツールの実行をチェックする理由については説明していない。なお、Demirkapi氏のブログ記事が公開されて以降、トレンドマイクロの米国向けダウンロードページではルートキットバスターがダウンロードできなくなっている。