研究者らが悪意のある攻撃を可能にする可能性のあるソフトウェアプログラムの実装を調査する中で、安全でないHTTPSトラフィックの傍受に関する新たな事例が次々と明らかになりつつある。ユーザーのPCに中間者攻撃の脆弱性を突く最新のソフトウェアは、セキュリティベンダーComodoと提携している広告製品PrivDogの新バージョンである。
週末、あるユーザーが Hacker News で、自分のシステムが、一部の Lenovo 消費者向けノートパソコンにプリインストールされているプログラム、Superfish によってもたらされる中間者攻撃の脆弱性を検出するために設計されたオンライン テストに合格しなかったと報告しました。
しかし、彼のシステムにはSuperfishはインストールされていませんでした。問題はPrivDogと呼ばれる別の広告関連アプリケーションに起因していることが判明しました。PrivDogは、ComodoのCEOであるMelih Abdulhayoglu氏の協力を得て開発されました。PrivDogの新しいリリースは、Comodoコミュニティフォーラムで「Comodoスタッフ」としてタグ付けされた人々によって発表されます。
PrivDogは、広告を完全にブロックすることなく、悪質な広告からユーザーを保護するソリューションとして販売されています。このプログラムは、潜在的に悪質な広告を、Adtrustmediaという企業のコンプライアンスチームによって審査されたより安全な広告に置き換えるように設計されています。アブドゥルハヨグル氏は2014年1月に個人ブログに投稿したこの技術について、「消費者の勝利、パブリッシャーの勝利、そして広告主の勝利」と述べています。
しかし、最近 PrivDog の HTTPS 傍受機能を調べた人々によると、消費者がこの製品を使用するとシステムのセキュリティに関して実際に損失を被る可能性があるとのことです。
中間者攻撃の復活
PrivDogは、HTTPS(SSL/TLS暗号化されたHTTP)で保護されたウェブサイト上の広告を置き換えるために、独自に生成したルート証明書をシステムにインストールし、中間者プロキシとして動作します。ユーザーが安全なHTTPSサイトにアクセスすると、PrivDogは接続を乗っ取り、そのサイトの正規の証明書を、ローカルにインストールされたルート証明書で署名された新しい証明書に置き換えます。

PrivDog によってコンピュータにインストールされるルート証明書はブラウザによって信頼されるため、それにチェーンされているすべての証明書も信頼されます。つまり、ユーザーはアクセスしたウェブサイトと安全に通信していると思い込んでいる間にも、バックグラウンドで PrivDog がトラフィックを復号化し、操作しているのです。
それ自体は悪い実装ではありません。HTTPSトラフィックをスキャンする正当な理由があり、多くのセキュリティ製品が同様の手法を用いて暗号化されたトラフィックを分析し、潜在的な脅威を検出しています。
Superfishとは異なり、PrivDogはシステムごとに異なるルート証明書をインストールするため、攻撃者が不正な証明書を生成するための共有秘密鍵は存在しません。しかし、実際には共有鍵さえ必要ありません。
PrivDog の実装における問題は、それよりも単純です。このプログラムは、ウェブサイトから受信した元の証明書を適切に検証していません。そのため、通常はブラウザ内でエラーを引き起こすような不正な証明書を受け入れ、ブラウザが信頼する証明書に置き換えてしまいます。
例えば、公衆無線ネットワーク上、あるいは侵入したルーターを制御できる攻撃者は、bankofamerica.comへのユーザーの接続を傍受し、トラフィックを復号できる自己署名証明書を提示する可能性があります。通常、ユーザーのブラウザはこのような証明書を拒否します。
しかし、PrivDogがインストールされている場合、このプログラムは攻撃者の自己署名証明書を取得し、自身の信頼されたルート証明書で署名されたコピーを作成し、ブラウザにそれを強制的に受け入れさせます。つまり、ユーザーのトラフィックはローカルのPrivDogプロキシによって傍受・復号化されるだけでなく、PrivDogから実際のサイトへの接続もハッカーによって傍受・復号化されることになります。
PrivDogは、Comodo Internet SecurityやChromodo、Dragon、IceDragonブラウザなど、Comodoの一部製品にバンドルされています。ただし、これらの製品にはPrivDogバージョン2が含まれているようです。PrivDogバージョン2にはHTTPSプロキシ機能がないため、中間者攻撃の脅威にさらされることはありません。
セキュリティ研究者のフィリッポ・バルソルダ氏によると、ユーザーを中間者攻撃にさらすPrivDogのバージョンはバージョン3であり、スタンドアロンアプリケーションとしてダウンロードでき、Google Chrome、Mozilla Firefox、Internet Explorerを含む多数のブラウザをサポートしているという。同氏のオンラインHTTPSテストは、このことを考慮して更新されている。
この「潜在的な問題」は、PrivDog バージョン 3.0.96.0 および 3.0.97.0 にのみ存在するが、これらは Comodo によって配布されたことはなく、同社のブラウザにも存在しない、と Comodo の担当者は月曜日に電子メールで述べた。
AdtrustmediaのPrivDogチームは、この脆弱性に低レベルの脅威レベルを付与するセキュリティアドバイザリを公開しました。チームによると、この問題の影響を受ける可能性のあるユーザーは、米国で最大6,294人、世界で最大57,568人であり、パッチ適用済みのバージョンに自動的にアップデートされる予定です。新バージョン3.0.105.0は、同社のウェブサイトからダウンロード可能です。
PrivDog が目覚めてサーバーからダウンロードを取得し、ここにアーカイブしました https://t.co/3U0K7GmgIq pic.twitter.com/apcYGk8prQ
— フィリッポ・ヴァルソルダ (@FiloSottile) 2015 年 2 月 23 日
「『信頼の連鎖を断ち切る』という手法が使われる限り、それを完全に間違った方法で実装する人が必ず出てくる」と、セキュリティ企業ImpervaのCTO、アミチャイ・シュルマン氏はメールで述べた。「Superfishのミスは、すべての導入環境で同じルート証明書を使用していたことだ。PrivDogのミスは、証明書を全く検証していなかったことだ。」
PrivDog の脆弱性は Superfish によってもたらされた脆弱性よりもさらに深刻であると考える人もいます。
「比較すると、Superfishの『中間者』攻撃では、少なくとも標的のウェブサイト名を証明書の別名フィールドに入力する必要があります」と、ウイルス対策企業ESETのセキュリティ専門家、マーク・ジェームズ氏は述べています。「Superfishはこの脆弱性を悪用して大規模な攻撃を行う可能性を秘めていますが、それでもPrivDogの攻撃よりはわずかにましです。」
しかし、コンピュータにこのようなセキュリティホールを生じさせるのは、SuperfishやPrivDogだけではありません。研究者たちは、Superfishの脆弱性は実際にはKomodiaという企業のサードパーティ製ソフトウェア開発キット(SDK)に存在することを突き止めました。このSDKは、ペアレンタルコントロールアプリケーション、VPNクライアント、セキュリティベンダーLavasoftのソフトウェアなど、他の製品にも使用されています。