「DoubleAgent」:Microsoft Application Verifier を悪用。この攻撃によるリスクについて

「DoubleAgent」:Microsoft Application Verifier を悪用。この攻撃によるリスクについて

セキュリティ会社「Cybellum」は、2017年3月22日、同社が「DoubleAgent(ダブルエージェント)」と名付けた攻撃について発表しました。同社は、Microsoft Windowsが持つある機能を悪用することにより「主流のセキュリティソフトや次世代セキュリティソフトを完全に乗っ取ることのできるゼロデイ攻撃」であると報告しています。本記事ではこの DoubleAgent攻撃の仕組みや攻撃の実現可能性などについて解説します。

■問題

どのような問題のリスク評価をする場合にも当てはまりますが、最初に、何が問題となっているのか明確に定義する必要があります。

Windows XP以降の Microsoft Windowsには、「Application Verifier(アプリケーション ベリファイア、AppVerifier)」と呼ばれる機能が搭載されています。これは、開発者がアプリケーションを検証できるように設計された、2つの機能から構成されるツールです。

Windows SDKに同梱されている AppVerifierには、ユーザインターフェイスとそのウィンドウ内にフックが実装されています。このフックを使用することにより、管理者は簡単なレジストリキーを設定して、登録済みアプリケーションの前に、自身で作成した特権コード(verifier)を読み込むことができます。

この機能の本来の意図は、開発者が開発およびテスト過程の一環としてアプリケーションに「さまざまなストレスとテスト」を課すことができるようにすることです。AppVerifierは、本来の目的に沿って活用されれば、安定した障害に強いアプリケーションを作成するために役立ちます。

約15年前に導入されて以来、開発者は AppVerifierを有効に活用してきました。カスタムの verifierの作成については文書化されています。とはいえ、ほとんどの開発者は Microsoftが提供するデフォルトの verifierを活用しています。

リサーチャは、今回の報告で、脆弱利用の概念実証(Proof of Concept、POC)コードとして独自に「悪質な verifier」を作成することにより、さまざまなセキュリティ対策製品に対する攻撃を実演しています。攻撃対象は、ブラウザおよび共同作業用のツールその他ほとんどの Windowsのアプリケーションが対象となり得ます。

■攻撃
リサーチャによって実証された攻撃では、AppVerifierの機能を攻撃目的のために利用しています。管理者権限を用いて機能を悪用することにより、インストールされているセキュリティ対策ソフトウェアを完全に制御することを可能にします。

この実演により、攻撃の実現性は低いものの、対象となった環境に深刻な影響を与える恐れがあることが判明しました。

簡潔に説明すると、攻撃のシナリオは以下になります。

  1. 他の方法で攻撃対象 PCの管理者権限を獲得する
  2. 用意したマルウェアを対象PCにダウンロードし、インストールする
  3. 狙ったアプリケーションの前に Windowsがマルウェアを読み込むようにする

狙ったアプリケーションをリバースエンジニアリングによって解析する労力をかけたとすれば、この攻撃の結果、マルウェアは狙ったアプリケーションを制御する機能を獲得します。実演のように狙ったアプリケーションを制御するには、狙ったアプリケーションの内部動作の一部を理解する必要があります。

DoubleAgentは、結局のところ、「ポイント・アンド・クリック」式にクリックするだけで可能になるような攻撃ではありません。不可能な攻撃ではありませんが、多くの労力が必要とされます。そもそも、攻撃者が管理者の認証情報を入手している上にマルウェアの使用にまで成功しているとすれば、もっと他の部分を攻撃する可能性が高いでしょう。

■リスク
このような、機能の悪用によって引き起こされるリスクの評価は、難しい課題です。AppVerifierはオペレーティングシステム(OS)の機能であり、PCで実行されているアプリケーションほぼすべてに影響を与える恐れがあります。

しかし、この攻撃を実行するには、狙ったアプリケーションの VerifierDllsレジストリキーを設定するために、対象PCの管理者権限をすでに持っている必要があります。つまり、この攻撃は、狙ったPCに最初にアクセスするために利用できる攻撃ではありません。

DoubleAgentは、影響範囲が大きいとはいえ、確率の低い攻撃の一例です。対処を必要とする懸念すべき問題であることには違いありませんが、狭い攻撃経路と技術的な難しさを考慮した場合、他に収益性の高い攻撃が多くある中で、平均的なサイバー犯罪者がこの攻撃を実行する可能性は低いと言えます。

■対策
Microsoftは、セキュリティソフトウェアなどのアプリケーションへのこのような攻撃に対処するため、Windows 8.1 および Windows Server 2012 に新しく保護サービス機能を追加しました。これは、ソフトウェアが正常に動作することを確実にするための自衛手段の1つです。

残念ながら、インストールされているすべての Windowsの約48%を Windows 7 が占める現状では、意義あるアーキテクチャ変更のために投資された機能の恩恵には、ほとんどのユーザがあずからないことになります。

この攻撃に対する最も効果的な防御策は、管理者権限を取得されないようにすること、特に VerifierDllsキーにレジストリ変更が加えられないよう、また不正な活動がないか Eメールや Webのトラフィックを監視継続することです。

Microsoftは、新しい保護サービスのフレームワークによって裏付られているように、この問題に対処するための対策を講じています。これは、OSに備えられている他のセキュリティ機能と組み合わせることで、攻撃の可能性をさらに軽減するために役立ちます。

トレンドマイクロは積極的にこの問題を調査し、必要に応じて自社製品の保護対策を改善しています。詳細については、「アラート/アドバイザリ: Microsoft Application Verifier を悪用した攻撃(CVE-2017-5565)について」を参照してください。

参考記事:

翻訳:室賀 美和(Core Technology Marketing, TrendLabs)