セキュリティ研究者は、Windows ではデフォルトで有効になっており、他のオペレーティング システムでもサポートされている Web プロキシ自動検出プロトコル (WPAD) によって、コンピューター ユーザーのオンライン アカウント、Web 検索、その他の個人データが漏洩する可能性があると警告しています。
英国に拠点を置くコンテクスト・インフォメーション・セキュリティーの研究者であるアレックス・チャップマン氏とポール・ストーン氏は、今週開催されたDEF CONセキュリティー会議で、中間者攻撃者がWPADプロトコルを悪用して人々のオンラインアカウントを乗っ取り、暗号化されたHTTPSやVPN接続経由でウェブサイトにアクセスしているときでも機密情報を盗むことができると述べた 。
WPADは、1999年にMicrosoftをはじめとするテクノロジー企業によって開発されたプロトコルで、コンピュータが使用するウェブプロキシを自動的に検出できるようにします。プロキシは、プロキシ自動設定ファイル(PACファイル)と呼ばれるJavaScriptファイルで定義されます。
PAC ファイルの場所は、特別な動的ホスト構成プロトコル (DHCP) オプション、ローカル ドメイン ネーム システム (DNS) 検索、またはリンク ローカル マルチキャスト名前解決 (LLMNR) など、WPAD を通じていくつかの方法で検出できます。
攻撃者はこれらのオプションを悪用し、ローカルネットワーク上のコンピュータに、自身の管理下にある不正なウェブプロキシを指定するPACファイルを送りつける可能性があります。これは、オープンなワイヤレスネットワーク上、あるいは攻撃者がルーターやアクセスポイントを侵害した場合に実行可能です。
コンピュータの元のネットワークへの侵入は任意です。なぜなら、コンピュータは屋外に持ち出され、公衆無線LANホットスポットなどの他のネットワークに接続された場合でも、プロキシ検出にWPADを使用しようとするからです。WPADは主に企業環境で使用されますが、ホームエディションを含むすべてのWindowsコンピュータでデフォルトで有効になっています。

Windows では、この構成パネルで「設定を自動的に検出する」オプションがオンになっている場合に WPAD が使用されます。
不正な Web プロキシを使用すると、攻撃者が暗号化されていない HTTP トラフィックを傍受して変更できるようになりますが、今日の主要な Web サイトのほとんどが HTTPS (HTTP Secure) を使用しているため、通常は大きな問題にはなりません。
しかし、PAC ファイルでは特定の URL に対して異なるプロキシを定義することができ、それらの URL に対して DNS ルックアップを強制することもできるため、Chapman 氏と Stone 氏は、DNS ルックアップを介してすべての HTTPS URL を自分たちが管理する不正なサーバーに漏らすスクリプトを作成しました。
HTTPS URL全体は、認証トークンやその他の機密データがパラメータとして含まれる可能性があるため、本来は非公開にする必要があります。例えば、https://example.com/login?authtoken=ABC1234というURLは、https.example.com.login.authtoken.ABC1234.leakへのDNSリクエストを通じて漏洩し、攻撃者のサーバー上で再構築される可能性があります。
研究者たちは、このPACベースのHTTPS URLリーク手法を用いることで、攻撃者がGoogle検索キーワードを盗んだり、ユーザーがWikipediaで閲覧した記事を確認したりできることを示しました。プライバシーの観点からは、これは十分に危険なことですが、WPADや不正なPACファイルによってもたらされるリスクはそれだけではありません。
研究者らは、不正なプロキシを使用してユーザーを偽のキャプティブ ポータル ページにリダイレクトする別の攻撃も考案しました。これは、多くのワイヤレス ネットワークが、ユーザーのインターネット接続を許可する前にユーザーに関する情報を収集するために使用するページと同じです。
偽のキャプティブポータルは、ブラウザにFacebookやGoogleなどの一般的なウェブサイトをバックグラウンドで強制的に読み込み、その後、ユーザーが認証した後にのみアクセスできるURLへの302 HTTPリダイレクトを実行します。ユーザーが既に認証されている場合(ほとんどのユーザーはブラウザで認証済みのセッションを持っています)、攻撃者はユーザーのアカウントから情報を収集できます。
この攻撃により、被害者のアカウント名が様々なウェブサイト上で公開される可能性があり、アカウント内のプライベート写真も直接リンクからアクセスできるようになります。例えば、Facebook上のユーザーのプライベート写真は、実際にはサイトのコンテンツ配信ネットワーク(CDN)上にホストされており、他のユーザーがCDN上の場所の完全なURLを知っていれば、直接アクセスできてしまいます。
さらに、攻撃者は、ユーザーがFacebook、Google、Twitterアカウントを使ってサードパーティのウェブサイトにログインできるようにする、一般的なOAuthプロトコルの認証トークンを盗む可能性があります。不正なプロキシ、302リダイレクト、ブラウザのページ事前レンダリング機能を利用することで、ソーシャルメディアアカウントを乗っ取り、場合によっては完全なアクセス権を取得することも可能になります。
研究者らはデモで、Google アカウントの写真、位置情報の履歴、メールの概要、リマインダー、連絡先の詳細、さらにそのユーザーが Google ドライブにホストしているすべてのドキュメントを盗む方法を示した。
これらの攻撃はHTTPS暗号化を破るものではなく、むしろそれを回避し、ウェブとブラウザの仕組みを悪用するものである点を強調しておく価値があります。これらの攻撃は、WPADが有効になっている場合、HTTPSによる機密情報の保護効果が従来考えられていたよりもはるかに低いことを示しています。
しかし、仮想プライベートネットワーク(VPN)を使ってインターネットトラフィック全体を暗号化し、パブリックネットワークや信頼できないネットワークに接続している人はどうでしょうか?どうやら、WPADはそうした接続も遮断してしまうようです。
2人の研究者は、OpenVPNなど広く普及しているVPNクライアントの中には、WPAD経由で設定されたインターネットプロキシ設定をクリアしないものがあることを示しました。つまり、攻撃者がVPNに接続する前に悪意のあるPACを介してプロキシ設定を改ざんしていた場合、そのトラフィックはVPNを経由した後も悪意のあるプロキシを経由してルーティングされてしまうということです。これにより、前述のすべての攻撃が可能になります。
研究者らが今年初めにこれらの問題を発見した時点では、ほとんどのオペレーティング システムとブラウザーに脆弱な WPAD 実装が存在していましたが、デフォルトで WPAD が有効になっているのは Windows のみでした。
それ以来、OS X、iOS、Apple TV、Android、Google Chrome向けのパッチがリリースされています。MicrosoftとMozillaは日曜日の時点でもまだパッチの開発に取り組んでいました。
研究者たちは、コンピューターユーザーに対し、このプロトコルを無効にすることを推奨しました。「冗談抜きで、WPADをオフにしましょう!」と、プレゼンテーションのスライドの一つに書かれていました。「それでもPACファイルを使用する必要がある場合は、WPADをオフにし、PACスクリプト用のURLを明示的に設定し、HTTPS経由またはローカルファイルから提供してください。」
WPADのセキュリティリスクを指摘した研究者は、チャップマン氏とストーン氏だけではありませんでした。彼らの発表の数日前、イツィク・コトラー氏とアミット・クライン氏という2人の研究者が、Black Hatセキュリティカンファレンスでのプレゼンテーションで、悪意のあるPACを介した同じHTTPS URL漏洩をそれぞれ独立して示しました。3人目の研究者であるマキシム・ゴンチャロフ氏は、Black Hatで「BadWPAD」と題したWPADのセキュリティリスクに関する講演を行いました。
5月、Verisignとミシガン大学の研究者らは、ノートパソコンが企業ネットワークの外に持ち出されると、毎日数千万件ものWPADリクエストがインターネット上に流出していることを明らかにしました。これらのコンピュータは、.global、.ads、.group、.network、.dev、.office、.prod、.hsbc、.win、.world、.wan、.sap、.siteといった拡張子で終わる社内WPADドメインを探しています。
問題は、これらのドメイン拡張子の一部がパブリックな汎用TLDとなり、インターネット上で登録可能になっていることです。これにより、攻撃者がWPADリクエストを乗っ取り、不正なPACファイルを、たとえ同じネットワーク上にないコンピュータにプッシュする可能性があるのです。