IP アドレスを流出させる Tor の脆弱性「TorMoil」

Tor

Tor をお使いですか?

Tor ユーザーの多くは、Web サイト閲覧時に自分の IP アドレスが表示されないなど、基本レベルのオンライン匿名性が提供されることを期待して Tor を使用しています。

IP アドレスは、ユーザーのコンピュータ (またはネットワーク) を識別して、インターネットにパケットを送信し、応答を受信するためのものです。

ログイン試行、電子メール、アクセスしている Web サイトなど、ユーザーのネットワークから送信されたすべてのパケットには IP アドレスが含まれており、ユーザーの元に戻るための一種のビーコンとして機能します。

この送信元アドレスがなければ、インターネット上で会話している相手はどこに返答すればよいのか分かりません。

自宅の場合、IP アドレスは通常、ルーターの電源がオンになるとインターネットプロバイダーによって割り当てられます。

ネットワークを再起動するたびに IP アドレスが異なっていたとしても、ISP はどの家にどの IP アドレスがどのくらいの期間割り当てられたかを記録しています。

つまり、IP アドレスに基づいてユーザーをかなりの精度で特定できるということです。

国によっては裁判所の令状がなければ入手できないかもしれませんが、そうした記録はほぼ間違いなく存在します。

また、ユーザーの IP アドレスは通常数日から数週間変わらないため、Web サーバーはその IP アドレスを使用して、ユーザーがいる国や市を特定できるだけでなく、最近閲覧した Web サイトの情報をつなぎ合わせて別の情報を導き出すことが可能です。

Tor について

Tor (The Onion Router の略) は、ネットワークソフトウェアと Firefox ブラウザの修正版を組み合わせたもので、上記のような仕組みに対抗することを目的としています。

大幅に簡素化されている Tor は、ボランティアが運営する世界中の約 7,000 台のコンピュータで構成されており (2017-11-06T12:00Z の時点)、送信元を隠す目的でユーザートラフィックをシャッフルします。

ユーザーが Tor を起動するたびに、コンピュータはこの 7,000 台のコンピュータ (「ノード」) から 3 台のコンピュータを無作為に選び、Web 閲覧のトラフィックを 3 台のコンピュータ経由で送受信します。

厳密に言えば、Tor の 7000 ノードすべてが等しく扱われるわけではありません。Tor システムへの 1 つ目のノード (「エントリーガード」) として動作できるだけの信頼性があるのは、2000 ノードほどです。そして、Tor 接続 (「サーキット」) における最後のホップ (「出口ノード」) として動作できるのは約 1,000 ノードです。Tor では通過するトラフィックを暗号化しているため、ユーザーが誰であるかを知っているのはエントリーガードだけです (ただし、ユーザーが誰とやり取りしているかは知りません)。そして、サーキットの出口ノードだけが、トラフィックの送信先を知っています (ただし、送信元は知りません)。真ん中のノードは、入口と出口のノードが共謀してユーザートラフィックの送信元を暴くのを阻止します。これにより、どのノードが実際に匿名性を保証しているのかも分からず、Tor パケットの追跡が非常に困難になります。犯罪者が運営しているノードもあれば、捜査当局や諜報機関によって運営されているノードもあります。

したがって、Tor の Web 閲覧トラフィックが Tor ネットワークのどこかから送信されているように見える場合、送信元は簡単には特定できません。また、そのユーザーがいる国や市は隠蔽されるだけでなく、Tor を起動するたびに世界中をホップしているかのように見えます。

実際、Tor を使用して Google や Bing などの検索エンジンにアクセスし、自分の所在地が誤って認識されていたり、興味の対象の予測を間違えたりするのを見るのは面白い経験です。

「TorMoil」と名付けられた脆弱性

Tor の問題の 1 つとして、安全だという誤った認識をユーザーに与えてしまうことが挙げられます。

結局のところ、Tor を使用して Web サイトを閲覧していても、すでにユーザーの身元と所在地が明らかになっているアカウントにログインしてしまえば、その時点で匿名ではなくなります。

また、Tor が匿名性を維持するためには、ユーザーが使用しているブラウザが Torネットワークのみを介して通信し、決して直接インターネット経由で通信しないことが必要です。

Tor パッケージに組み込まれているブラウザが、誤って通常のネットワーク接続でアクセスしないように事前設定されているのはそのためです。

しかし、10 月末にイタリアのセキュリティ研究者 Filippo Cavallarin 氏が、Linux または macOS で実行されている Firefox を騙して、直接 Web サイトを閲覧させる方法を発見しました。

つまり、不正なリンクをクリックしたユーザーのブラウザは、ユーザーの知らないうちに追跡可能なネットワークパケットを送信してしまう可能性があります。

この脆弱性は Firefox の Tor 版だけでなく正規版にも影響を及ぼします。そのため、サイバー犯罪者や詮索好きな政府関係者がこの脆弱性を悪用すると、ユーザーは追跡を逃れることができなくなります。

Cavallarin 氏はこの脆弱性に、Turmoil (混乱) をもじって TorMoil という名前を付けました。Tor ユーザーの間での不安の高まりをよく表した BWAIN (Bug With An Impressive Name (印象的な名前を持つバグ)) です。

対策

幸いなことに、Tor を更新するだけで問題は修正できます。

TorMoil の脆弱性は、Tor 7.0.9で修正済みですので、更新すれば IP アドレスは再び Tor によって隠蔽されます。

Tor Project は、この脆弱性が実環境で悪用された形跡はないとしています。

したがって、Tor ユーザーの方は、悪用される前に更新を適用してください。

(最新のバージョンであるかどうかを確認するには、メニュー項目の [About Tor Browser] をクリックしてください。最新でない場合、Checking for updates... と表示された後、[Update] ボタンが表示されます。ただし、Windows はこの脆弱性の影響を受けないので、Windows ユーザーは 7.0.8 を引き続き使用できます。)