トレンドマイクロは、マイクロソフトの品質保証テストを不正に突破するソフトウェアを開発したとして非難されたことを受けて守勢に立っており、その主張は「誤解を招く」ものだと主張している。
米国のロチェスター工科大学でコンピュータセキュリティを専攻する18歳の学生ビル・デミルカピさんは火曜日、 The Registerに対し、ルートキットの検出方法を研究していたときに、トレンドマイクロのWindows PC向けルートキットバスターを見つけたと語った。
デミルカピ氏は、トレンドマイクロのルートキット検出ツールとそのカーネルモードドライバ(トレンドマイクロ製品に共通していると思われる)をリバースエンジニアリングした際に、コードにいくつかの欠陥を発見し、公開文書化した。彼が発見した脆弱性を突くには管理者権限が必要だが、それは本題とは関係ない。皮肉なことに、管理者権限を獲得したルートキットやその他のマルウェアにとって、これらの脆弱性はカーネルへの侵入を容易にする経路となっているのだ。
「トレンドマイクロのドライバーに関して私が抱いたセキュリティ上の懸念のほとんどは、間違いではなかったため衝撃的だった」と、ハッキングのスーパーカンファレンス「DEF CON」で講演し、「Black Hat USA 2020」でWindowsルートキットについて講演する予定のデミルカピ氏は語った。
トレンドマイクロは、ユーザーモードで特権を持つ呼び出し元に多くの機能を提供するようにドライバを設計しただけであり、攻撃者は様々な方法でドライバを悪用することが可能です。問題は、トレンドマイクロのドライバが設計上安全ではなく、世界中の悪意のある攻撃者による悪用に最適な標的となっていることです。
IsVerifierCodeCheckFlagOn()
決定的なのは、カーネルレベルのドライバコードに名前が付けられた関数がデミルカピ氏の目に留まったことです。さらに詳しく調査を進めると、驚くべき発見があったと彼は言います。IsVerifierCodeCheckFlagOn()
この関数は、レジストリキーを照会することで、特定のMicrosoftテストスイート(ドライバ検証ツール)がコンピューター上で実行されているかどうかを検出しているようですVerifyDriverLevel
。
このテストスイートは、ドライバーがMicrosoftのWindows Hardware Quality Labs(WHQL)の要件を満たしていることを確認するために設計されています。ドライバーがこの基準を満たしている場合、Microsoftによるデジタル署名が付与され、Windowsによって信頼され、Windows Updateなどのメカニズムを通じて配布される可能性があります。
1,100 万台の VW 車がディーゼルゲート チートウェアを使用 – フォルクスワーゲン、一体何をしているんだ?
続きを読む
デミルカピ氏は、トレンドマイクロのカーネル ドライバーが Microsoft の WHQL ドライバー検証テストに違反していると考えている。つまり、ドライバーはテストを実行しているコンピューターにインストールされていることを検出すると、動作を変更して試験に合格するが、テスト外では Microsoft の品質基準を満たさないことになる。
では、このドライバは一体何を隠しているとされているのでしょうか?Microsoftのテストに合格するには、ソフトウェアはセキュリティ対策として、オペレーティングシステムの実行不可非ページプール(NonPagedPoolNx)からメモリを割り当てる必要があります。これは、システムのCPUコアに対して非実行としてマークされたメモリです。つまり、たとえ悪意のある人物やマルウェアがセキュリティホールを悪用してこのメモリに悪意のあるコードを隠蔽できたとしても、これらの命令にジャンプして実行することはできません。
Microsoftのテストでは、ドライバがこの非実行メモリを使用していることが保証されています。Trend社のドライバがテスト対象のコンピュータで実行されている場合、ソフトウェアは期待どおりに非実行非ページプールからメモリを要求します。一方、テストが実行されていない場合は、実行可能非ページプールからメモリを要求しますが、これはMicrosoftのテストでは不合格となります。
「[マイクロソフトの]ドライバ検証に合格することは、WHQL認証を取得するために長年求められてきた」とデミルカピ氏は自身のウェブサイトで述べている。
Windows 10では、ドライバ検証ツールによって、ドライバが実行可能メモリを割り当てないように強制されます。トレンドマイクロは、Windowsユーザーのセキュリティを確保するために設計されたこの要件に従う代わりに、ユーザーのセキュリティを無視し、そのような違反を検出する可能性のあるテスト環境やデバッグ環境を欺くようにドライバを設計しました。
正直言って、呆然としています。なぜトレンドマイクロがわざわざこれらのテストで不正行為をするのか理解できません… 考えられる唯一の仮説は、何らかの理由で同社のドライバーのほとんどがNonPagedPoolNxと互換性がなく、互換性があるのはエントリーポイントだけ、というものです。そうでなければ、そもそも意味がありません。
デミルカピ氏は続けた。
これに対し、トレンドマイクロは、デミルカピ氏が研究結果を非公開ではなく公開するという決定を批判し、その研究を軽視しようとした。また、マイクロソフトのテストを回避していたことも否定した。
「この主張は誤解を招くものだと我々は考えている」とアンチウイルスメーカーの広報担当者はThe Registerに語った。
業界の標準的かつ効果的な報告では、研究者は事前に私たちに連絡を取る必要があるにもかかわらず、研究者は私たちに連絡しませんでした。このアプローチからすると、研究者は解決よりも注目を集めようとしているのではないかと推測できます。
この主張は誤解を招くものだと我々は考えている
「当社はマイクロソフトのセキュリティ ドライバー チームと緊密に連携しており、トレンドマイクロ チームが認定要件を回避したことは一度もありません。」
IsVerifierCodeCheckFlagOn()
運転手がなぜ大学生が述べたような行動をとったのか説明を求められても、トレンド社はそれ以上何も答えなかった。一方、デミルカピ氏は、運転手の安全検査を逃れるため以外に、コードが挿入された理由は思いつかないと述べた。
マイクロソフトはこの問題を認識しており、「トレンドマイクロと緊密に協力してこれらの主張を調査中」だと述べた。
記憶力の良い方なら、10月まで遡って、トレンドのウイルス対策ツールがファイルスキャン中に、ファイル名が.cmd.exe
またはregedit.exe
. ® の場合にマルウェアを自動的に実行していたことを覚えているでしょう。
追加更新
トレンドマイクロは、自社ウェブサイトからルートキットバスターのダウンロードを削除し、Windows 10 20H1ではドライバーがブロックされました。トレンドマイクロは不正行為を否定しています。