Torは高度な匿名化を提供します。とはいえ、Torを使っているにも関わらず身元が特定(いわゆる身バレ)するケースがあることも事実です。
なぜ彼らは身バレに至ったのでしょうか。その原因と対策について考えます。
タップできる目次
Torはなぜ匿名性が高いのか
Torは入り口ノード(Entry guard)と中間ノード(Middle relay)、そして出口ノード(Exit relay)で構成されています。

入り口ノードは最終的な接続先を知る必要がありません。単に中間ノードへ転送するだけです。そして中間ノードも最終的な接続先を知りません。ただ単に出口ノードへ転送するだけです。
そして出口ノードは中間ノードから送られて来た通信を最終的な接続先へ転送するだけです。出口ノードは通信がどこから発信されたのか知りません。
- 入り口ノード … 誰が送信したか知っているが送信先は知らない
- 中間ノード … 送信者も送信先も知らない
- 出口ノード … 送信先は知っているが誰が送信したのか知らない
このように、各ノードが知りうる情報が限定的であり入り口ノードと出口ノードに信頼関係が構築されないためTorの通信を追跡することは非常に困難となっています。
それでもTorの匿名化が崩れる5つの原因
それではなぜ匿名のはずのTorで匿名性が崩れるのでしょうか?その多くは利用者に原因があります。
匿名化が崩れる原因1:Torブラウザを使わない
Torを使っていて匿名化が崩れる原因のひとつがWEBブラウザです。Tor ProjectからTorブラウザが提供されているのですが、これを使わない場合に身バレの危険性が増します。
Torブラウザは制限が多いため使い勝手がよくないので使い慣れたChromeなどを使いたい場合があるかと思います。しかしFBIのような司法機関に監視されているWEBサイトにアクセスした場合、ブラウザへの攻撃が行われマルウェアに感染する可能性があります。そのため多少不便でもTorを使う場合はTorブラウザの利用をおすすめします。
また、(HTTPSではなく)HTTPでWEBサイトに接続した場合、リダイレクト攻撃によって別のサイトに飛ばされIPアドレスが露呈することがあります。これは出口ノードを制御されている場合に起こり得ます。
TorブラウザにはHTTP通信を強制的にHTTPS通信に切り替える機能があり、この機能を使うとリダイレクト攻撃を防ぐことができます。ただし、この機能は初期設定では無効になっています。設定方法はこちらで解説しているので確認してください。
匿名化が崩れる原因2:防犯カメラ
ネットワーク上では身を隠すことができても普段の街中ではそうもいきません。
違法薬物の取り引きをTorでおこなって身元を隠していたのに受け渡し現場の防犯カメラから追跡されて逮捕された例は後を絶ちません。
防犯カメラによる追跡は警察の得意とするところです。一度追跡されたら自宅付近まで割り出されると思った方がいいでしょう。
匿名化が崩れる原因3:ネット上での痕跡
自分が匿名であると信じていると人は油断しがちです。
シルクロードの創設者であるロスウィリアムウルブリヒトはGmailアカウントから身元の特定に至りました。彼はシルクロードを開設後「アルトイド」という名前でサイトの宣伝をしていました。
そしてStack Overflowでも「アルトイド」というハンドルネームを使っており、そこで『PHPのcURLを使ってTorに接続する方法を教えてほしい』という質問を投稿していました。
しかも彼はStack Overfllowに『rossulbricht@gmail.com』というメールアドレスを登録しており、この投稿をシルクロードの捜査関係者が目にしていました。
『rossulbricht@gmail.com』というメールアドレスに目を付けた捜査関係者はGoogleへ情報提供を依頼し、その結果GmailアカウントからロスウィリアムウルブリヒトのLinkedInやYoutube、Google+のアカウント情報が芋づる式に引き出されました。
そしてGmailへログインした際のIPアドレスからロスウィリアムウルブリヒトの自宅が割り出され、さらにシルクロードへログインした際のIPアドレスから自宅近くのカフェが判明しました。
自宅とカフェの距離が近いことからシルクロード関係者ではないかという疑いが強まり、監視対象となりました。
あとは皆さんご存知のとおり、彼は逮捕されることになりました。
匿名化が崩れる原因4:DNSリーク
DNSリークはTorに限らず昔から匿名性を崩す原因のひとつになっています。
DNSが通常UDPで通信するのに対してTorはTCPで通信します。そのためDNSのやり取りがUDPで行われるとTorネットワークの外で通信することになり、DNSサーバーのログにはTorで保護されていない本当のIPアドレスが記録されます。そして、その結果、匿名性が崩れます。
その対策としてTorではSOCKSベースでの解決案を提案しています。

ただし、一般的な利用者がこの提案を理解して正しく匿名性を維持できるのかについては疑問です。
匿名化が崩れる原因5:入り口ノードと出口ノードの両方を制御された
入り口ノードと出口ノードの両方を制御された状態で通信すると匿名性は崩れます。
これを防ぐため、Torでは匿名性を破る攻撃から利用者を守るために特定の入り口ノードを2~3ヶ月使い続けます。そして中間ノードと出口ノードをアクセスする度に変化させます。
これによって入り口ノードと出口ノードの両方を制御されることを防いでいます。
ただし、これで絶対確実に匿名性を守るというわけではなく、あくまでも攻撃コストを上げる(攻撃しにくくする)ための対策です。
このような事態を避けるため、TorはVPNと併用することをおすすめします(詳細はこちら)。
TorブラウザでHTTPS通信を強制させてリダイレクト攻撃を防ぐ方法
Torブラウザ(Firefox)にはHTTPでアクセスしようとするとHTTPSへ自動的に切り替えてくれるセキュリティ機能が備わっています。
HTTPSで通信すれば中間者攻撃によって通信内容を書き換えることができなくなるため、攻撃者によるリダイレクト攻撃を防ぐことができます。
ただし問題もあります。
あくまでもHTTPを自動でHTTPSに切り替えるだけであり、HTTPSに対応していないWEBサイトでは(当然ですが)HTTPS通信はできません。つまり、Torブラウザを使っていてもHTTPで通信できるWEBサイトがあるということです。
試しにHTTPS化されていないWEBサーバーを立ち上げ、初期設定のTorブラウザでアクセスすると次のようにHTTPでページが表示されることを確認できます。

この問題を解決するにはTorブラウザの設定を変える必要があります。
Torブラウザの設定を変えてHTTPSを強制する
設定画面から[Privacy & Security]をクリックし、一番下までスクロールします。初期設定では「Don't enable HTTPS-Only Mode」が有効になっています。

この設定を「Enable HTTPS-Only Mode in all windws」に変更します。

これでHTTPで接続できなくなります。試しに先ほどのWEBサーバーに再度接続してみると、次のようにアクセス不可となることを確認できます。

HTTPしか対応していないWEBサイトはまともに運営されていないか危険なWEBサイトの可能性が高いので、わたしは「Enable HTTPS-Only Mode in all windows」を設定しておいた方が良いと思います。
DNSリークを含むIP漏洩への対策
リダイレクト攻撃自体はHTTPS通信を強制させる「Enable HTTPS-Only Mode in all windws」を設定することで解決できます。
しかしDNSリークや未知の攻撃、マルウェアによる漏洩については別の対策が必要です。
現時点で最も有効な対策はVPNでIPアドレスを保護することです。VPNを使うことによってインターネットアクセス全体を保護できます。
Tor自体は匿名性が高いのですが、より確実性を高める場合はVPNで保護することをおすすめします。
匿名性を高めるための最低限の対策
インターネットアクセスを匿名化する場合は現在使っているパソコンとは切り離した環境が必要です。
では具体的にどうすれば良いのか?
匿名通信専用のパソコンを用意したいところですが、場所もお金も必要になります。一番手軽なのはVMwareやVirtualBoxなどの仮想環境を利用することです。
仮想マシンにWindowsやLinuxをインストールし、そこへVPNソフトウェアをインストールします。
VPNを使えば、万が一攻撃を受けて意図しない外部アクセスを強制されてもIPアドレスが露呈することはありません。既に解説したように、VPNはインターネットアクセス全体を保護するためです。
また、VPNの機能としてマルウェアを遮断するものもあります。たとえば、もっとも人気があるVPNとして知られるNordVPNにはマルウェアを遮断する機能があります。NordVPNは高速通信で匿名性が高くコストパフォーマンスが高いため非常に人気があります。
VPNアプリをインストールしたら自動起動とキルスイッチを有効化します。そして、仮想マシンのスナップショットを保存します。
匿名化したい作業はすべてこの仮想マシンの中でおこないます。そして作業が終わったらスナップショットの巻き戻しをおこない作業前の状態に復元しておきます。
これでOSやブラウザなどに記録される情報の消し忘れを防止することができます。仮想マシンは常にまっさらな状態にしておきましょう。
また、メールアドレスは匿名メールを使う必要があります。
そしてSNSなどでの言動に注意することです。自分では誰にも気付かれていないと思っていても、意外なところから覗かれている可能性があります。
まとめ
匿名化が暴かれるのは多くが技術的な問題ではなく人間の油断と怠慢です。
ささいなことから匿名化は暴かれますので、匿名化したいという方は普段の言動やネットへのアクセス方法などを見直してみてはいかがでしょうか。
ただし、どんなに注意深い人でもミスは犯します。ですから万が一に備えてVPN使い、インターネットアクセス全体を暗号化しIPアドレスを保護すると良いでしょう。
Torブラウザだけで安心している方はぜひ一度VPNの使用を検討してみてください。
VPNサービスの多くは30日間の返金保証があるので、試しに使ってみて気に入らなければ返金を受けることができます。