WebRTC漏洩の脆弱性 - すべてのブラウザ向けの解決法

Nikita
Nikita
2022年6月10日
もしあなたがまだインターネットでのセキュリティとプライバシーを真剣に受け止めていないのであれば、今がまさにそれらを意識し始めるべき時かもしれません。最近では、ハッカーがより攻撃的になってきており、ニュースはデータの盗難、インターネットセキュリティやプライバシーの脆弱性に直接関連する事件でいっぱいです。
 
言うまでもなく、インターネットプライバシーの話題に述べるときは、ExpressVPNNordVPNのようなVPN、プロキシサーバー、プライベート検索エンジンについても触れられます。こうしたツールはすべて、プライバシーを強化し、オンラインになっている時の脆弱性を軽減できる優秀な方法です。
 
上記の方法はすべて、違法な手を使う相手から自分のIPアドレスを保護してくれます。しかし、あなたが知らないかもしれない、「WebRTC」と呼ばれる別の次元のリスクが存在します。
 
Wikipediaによると、WebRTC(ウェブリアルタイムコミュニケーション)は、単純なアプリケーションプログラミングインタフェース(API)を介して、ウェブブラウザとモバイルアプリケーションにリアルタイム通信(RTC)を提供します。直接のピアツーピア通信を可能にすることで、音声や動画の通信をウェブページ内で機能させることができ、プラグインのインストールやネイティブアプリのダウンロードが不要になります。
 
端的に述べると、WebRTCは中間サーバーを必要とせずにウェブブラウザが互いに直接通信できるようにする、標準化されたテクノロジーの集まりです。より高速な通信が実現することなどが利点ですが、とりわけ本当のIPアドレスを伏せたままオンラインでの匿名性を維持しようとしている人にとっては不利な欠点もあります。
 
2つのデバイスがWebRTC(Firefox、Chrome、Opera、Microsoft Edgeなどのブラウザではデフォルトで有効化されている)を介して通信するには、お互いの実際のIPアドレスがわかっている必要があります。IPアドレスを識別しようとするこのプロセスこそ、第三者があなたの本当のIPアドレスを割り出すための手段として利用されます。
 
前述は、「WebRTC漏洩」と呼ばれます。
 
この言葉を聞いたことがないとしても大丈夫です。ただ、「使用しているVPNが自分を守ってくれるはずだ」と思っているなら、考え直す必要があります。WebRTC漏洩は認知度があまり高くなく、見落としがちです。そのため、すべてのVPNがユーザーを保護する十分なサービスを提供しているわけではありません!
 
WebRTCは、Interactive Connectivity Establishment(ICE)プロトコルを介してIPを割り出します。このプロトコルには、IPを特定するためのテクノロジーがいくつかあります。そのうち2つはSTUN / TURNサーバーまたはホスト候補を含みます。どちらの技術も、ブラウザをだましてユーザーを特定できるIPアドレスを公開させるために使用される可能性があります。
 
これらはブラウザ固有のものであるため、定期的に複数のブラウザを使用している場合は特に漏洩のリスクが高くなります。
 
それでは、どうすればWebRTC漏洩から自分の身を守れるでしょうか?どうすれば攻撃をされないようにできるでしょうか?
 
 
1. WebRTC漏洩ら保護してくれるVPNを使用する
 
WebRTC漏洩からの保護に役立つVPNはわずかしかありません。そのうちの2つはExpressVPNNordVPNです。ExpressVPNに接続されている間にブラウザで新しいウェブページを開いても、パブリックIPアドレスが漏洩ることはありません。
 
 
そのうえ、ExpressVPNのようなVPNには、WebRTCを完全に無効化することでWebRTCの脆弱性からユーザーを保護するブラウザ拡張(ExpressVPNブラウザ拡張)が備わっています。
 
 
2. ブラウザでWebRTCを手動で無効化する
 
VPNだけに頼るのではなく、ブラウザでWebRTCを手動で無効にすることで、漏洩から身を守ることができます。以下では、さまざまなブラウザでWebRTCの無効化を実行する方法を紹介します。
 
• Firefox
 
– アドレスバーに「about:config」と入力します。
– [細心の注意をはらって使用する]のボタンが表示されるのでそれをクリックします。
– 検索バーに「media.peerconnection.enabled」と入力します。
– [Value(値)]をダブルクリックして、[false]に変更します。
 
不思議に思っている人のために述べておくと、これはFirefoxの両方のバージョン(モバイル版とデスクトップ版)で有効なはずです。
 
• Opera
 
OperaでWebRTCを無効化する前に、「WebRTC Leak Prevent(漏洩保護)」という拡張機能をダウンロードする必要があります。それが終わったら、次の手順に進みます。
 
– [表示]→[拡張機能の表示]→[WebRTC漏洩防止]→[オプション]の順にクリックして、拡張機能の設定にアクセスします。
– ドロップダウンメニューから[プロキシなしのUDPを無効にする(プロキシを強制する)]を選択します。
– [設定を適用]をクリックします。
 
手順を進める前に、必ず拡張機能をダウンロードしてください。
 
• Safari 
 
このブラウザに関しては、WebRTCを無効化する必要はありません。このブラウザには、ほとんどのブラウザのものよりも厳密な許可モデルがあるためです。これにより、ウェブサイトへのアクセスに使用されているものを除き、デフォルトでウェブサイトからIPアドレスを隠すことができます。音声や動画の使用をいずれかのサイトに許可することで、自分のIPアドレスが公開される可能性があることには注意してください。
 
• Microsoft Edge
 
この記事の執筆時点では、Microsoft EdgeでWebRTCを完全に無効化する方法については特に資料がありません。ただし、ローカルIPアドレスを隠すようにブラウザを設定することはできます。以下はその方法です。
 
– アドレスバーに「about:flags」と入力します。
– WebRTC接続で[自分のローカルIPアドレスを隠す]とマークされたオプションを見つけ、それをチェックします。
 
• Chrome (デスクトップ)
 
Chrome(デスクトップ)ではWebRTCを無効にできません。これを迂回する方法の一つは、アドオンを使用することです(Chromeを捨てて他のブラウザにする以外の唯一の方法)。アドオンを使用してもWebRTCの脆弱性から完全に保護されるわけではないことを覚えておく必要があります。
 
• Chrome (モバイル)
 
– AndroidデバイスのChromeでURL  「chrome://flags/#disable-webrtc」を開きます。
– 下にスクロールして[WebRTC STUN originヘッダー]を見つけて無効にします。さらに詳細に設定するには、[WebRTCハードウェアビデオエンコーディング/デコーディング]オプションを無効化します。
 
• Brave
 
– 方法その1:[設定] >[保護] >[フィンガープリンティング保護]の順にクリックします。そして[すべてのフィンガープリンティングをブロック]を選択します。
– 方法その2:[設定] >[セキュリティ] >[WebRTC IP取り扱いポリシー] >[プロキシされていないUDPを無効化する]を選択します。
 
2015年以前はWebRTCについてほとんど何も知られていませんでした。しかしこれが認識された今、インターネットプライバシーを真剣に考える人は、WebRTC漏洩を深刻に受け止めなければならないことが明らかになっています。ブラウザは通常、データの盗難、ハッキング、あるいはIPアドレスの漏洩に利用される弱点であることを覚えておいてください。
 
オンラインのプライバシーに関しては、どんなに対策を取ってもやり過ぎと言うことはありません。上記で紹介されているヒントを使って、WebRT漏洩のリスクから自分の身を守りましょう。