本記事はプロモーションを含みます
Torは高度な匿名化を提供します。とはいえ、Torを使っているにも関わらず身元が特定(いわゆる身バレ)するケースがあることも事実です。
なぜ彼らは身バレに至ったのでしょうか。その原因と対策について考えます。
Contents
Torはなぜ匿名性が高いのか
Torは入り口ノード(Entry guard)と中間ノード(Middle relay)、そして出口ノード(Exit relay)で構成されています。
入り口ノードは最終的な接続先を知らず、単に中間ノードへ転送するだけです。そして中間ノードも最終的な接続先を知らずただ単に出口ノードへ転送するだけです。
出口ノードは中間ノードから送られて来た通信を最終的な接続先へ転送しますが、通信がどこから発信されたのか知りません。
- 入り口ノード … 誰が送信したか知っているが送信先は知らない
- 中間ノード … 送信者も送信先も知らない
- 出口ノード … 送信先は知っているが誰が送信したのか知らない
このように、各ノードが知りうる情報が限定的であり入り口ノードと出口ノードに信頼関係が構築されないためTorは発信者の身元を特定することが非常に困難となっています。
Torの匿名化が崩れる5つの原因
それではなぜ匿名のはずのTorで匿名性が崩れるのでしょうか?
Torブラウザを使っていない
Torを使っていて匿名化が崩れる原因のひとつがWEBブラウザです。Tor ProjectからTorブラウザが提供されているのですが、これを使わない場合に身バレの危険性が増します。
Torブラウザは制限が多いため使い勝手がよくないので使い慣れたChromeなどを使いたい場合があるかと思います。しかしFBIのような司法機関に監視されているWEBサイトにアクセスした場合、ブラウザへの攻撃が行われマルウェアに感染する可能性があります。そのため多少不便でもTorを使う場合はTorブラウザの利用をおすすめします。
また、(HTTPSではなく)HTTPでWEBサイトに接続した場合、リダイレクト攻撃によって別のサイトに飛ばされIPアドレスが露呈することがあります。これは出口ノードを制御されている場合に起こり得ます。
TorブラウザにはHTTP通信を強制的にHTTPS通信に切り替える機能があり、この機能を使うとリダイレクト攻撃を防ぐことができます。ただし、この機能は初期設定では無効になっています。設定方法はこちらで解説しているので確認してください。
DNSリーク
DNSリークはTorに限らず昔から匿名性を崩す原因のひとつになっています。
DNSが通常UDPで通信するのに対してTorはTCPで通信します。そのためDNSのやり取りがUDPで行われるとTorネットワークの外で通信することになり、DNSサーバーのログにはTorで保護されていない本当のIPアドレスが記録されます。そして、その結果、匿名性が崩れます。
その対策としてTorではSOCKSベースでの解決案を提案しています。
ただし、一般的な利用者がこの提案を理解して正しく匿名性を維持できるのかについては疑問です。
入り口ノードと出口ノードの両方を制御された
入り口ノードと出口ノードの両方を制御された状態で通信すると匿名性は崩れます。
これを防ぐため、Torは特定の入り口ノードを2~3ヶ月使い続けます。そして中間ノードと出口ノードをアクセスする度に変化させます。
これによって入り口ノードと出口ノードの両方を制御されることを防いでいます。
ただし、これで絶対確実に匿名性を守るというわけではなく、あくまでも攻撃コストを上げる(攻撃しにくくする)ための対策です。
Torブラウザの脆弱性を利用された
TorブラウザはFirefoxをベースにしており、Firefoxに存在する脆弱性はTorブラウザにも存在します。過去、細工したJabascriptとSVGをTorブラウザで読み込ませることによってIPアドレスとMACアドレスを暴かれる脆弱性が存在しており、捜査機関はその脆弱性を利用して犯罪者を検挙していました。
今でも何らかの脆弱性は存在しているはずなので、ある日その脆弱性が利用され始め身元を特定される可能性もありますし、既に脆弱性を利用して身元を特定している可能性もあります。
既にTorを攻略する手法が確立されている
最近、FBIによってTorの匿名化を暴く手法が確立されているのではないか、という噂があります。Torブラウザにマルウェアが仕込まれているのか、Torブラウザの脆弱性が利用されているのか、Torネットワークに何らかの細工が施されたのか、あるいはTorのプロトコルに脆弱性があるのか、それは今のところ不明です。
ただの噂の可能性もありますが、ハッキングなどの手法を使わず身元を特定しているという話もあるためTorを信頼し過ぎるのは危険かも知れません。
Torの身バレを防ぐための対策
Torを使っていても身バレする可能性があるのならば、どのように対策すれば良いのでしょうか?この章ではTorの身バレ対策について解説します。
Torの身バレを防ぐには大きく分けると3つの対策があります。
- Torブラウザのセキュリティレベルを上げる
- 直接インターネットで通信しないようにする
- 匿名化専用の環境を用意する
TorブラウザでHTTPS通信を強制させてリダイレクト攻撃を防ぐ
現時点でTorブラウザのセキュリティを上げるには、Javascriptを有効化しない、余計なアドオンをインストールしないという基本的な対策の他にHTTPを使わず常にHTTPSを使うという対策が有効です。
Torブラウザ(Firefox)にはHTTP通信をHTTPSへ強制的に切り替えるセキュリティ機能が備わっています。HTTPSで通信すれば中間者攻撃によって通信内容を書き換えることができなくなるため、攻撃者によるリダイレクト攻撃を防ぐことができます。
設定画面から[Privacy & Security]をクリックし、一番下までスクロールします。初期設定では「Don’t enable HTTPS-Only Mode」が有効になっています。この設定が適用されている場合はHTTPS通信を強制しません。
この設定を「Enable HTTPS-Only Mode in all windows」に変更します。
これでHTTPで接続できなくなります。試しに先ほどのWEBサーバーに再度接続してみると、次のようにアクセス不可となることを確認できます。
HTTPしか対応していないWEBサイトはまともに運営されていないか危険なWEBサイトの可能性が高いので、わたしは「Enable HTTPS-Only Mode in all windows」を設定しておいた方が良いと思います。
すべての通信をVPNで保護する
身バレの原因すべてに関係しているのは「直接インターネットで通信してしまう」という点です。DNSリークにしてもマルウェアにしても脆弱性を利用するにしても、最終的に本当のIPアドレスが漏れてしまうのはTorを経由せずに直接インターネットに接続してしまうことが原因です。
この問題を解決するにはVPNサービス、それも信頼できるノーログポリシーで運用されている匿名VPNサービスを利用することです。
どのVPNサービスも大抵はノーログポリシーで運営されていると公式サイトに書かれていますが、中にはログを保存していたり捜査機関にリークしている場合があります。そのため外部の監査機関によってノーログポリシーが証明されているVPNサービスを使うことが望ましいでしょう。
現時点で外部の監査機関によってノーログポリシーを証明しているのはNordVPN、PIA、ExpressVPNの3つです。
ノーログポリシーが実証されている匿名VPNおすすめランキングこの3つの匿名VPNの中でもっとも信頼できるのは2022年末に3回目のノーログポリシー監査を受けたNordVPNです。PIAとExpressVPNはKape Technologiesに買収されたこともあって、若干の不安が残ります。NordVPNであればパナマで運営されており通信速度も速くアプリも使いやすいので満足できるはずです。ただ、LinuxユーザーはGUIアプリが提供されているPIAが使いやすいかも知れません。また、ExpressVPNは手動でVPNを切断した場合に直接インターネットに接続できてしまうので、今回のような目的であればおすすめしません。
匿名化専用の環境を用意する
あなたがどのような理由でインターネットで匿名になりたいにせよ、本当にインターネットで匿名になりたい場合は現在使っているパソコンとは切り離した環境が必要です。
では具体的にどうすれば良いのか?
おすすめはVMwareやVirtualBoxなどの仮想環境を利用することです。仮想マシンにOSをインストールし、そこへVPNアプリをインストールします。その他にインストールするのは必要最低限のものにします。余計なソフトやゲームをインストールしてはいけません。
VPNアプリをインストールしたらVPNアプリの自動起動とキルスイッチを有効化しておきます。NordVPNやPIAであればVPNアプリが起動していればVPNトンネルを必ず通るようになるのでVPNが切断されている状態でインターネットと通信しません。
VPNをセットアップしたらOSとすべてのソフトを更新して最新状態にしておきます。それが終わったらスナップショットを保存しておきましょう。
これ以降はこの仮想マシンで通信したり作業をしたら必ずスナップショットで元の状態に巻き戻すようにします。OSやアプリを更新する場合はスナップショットから起動して最新状態にしたら新たなスナップショットを保存します。
この方法で運用すると、万が一マルウェアに感染してもパソコン内から個人的なファイルを盗まれたりIPアドレスが漏洩する事がありません。MACアドレスが漏洩したとしてもVMwareなどの仮想MACであるため身元の特定には繋がりません。また、仮にマルウェアをインストールされてもスナップショットで巻き戻すので影響はありません。
まとめ
Torを過信すると足元をすくわれるのは確実です。
ささいなことから匿名化は暴かれますので、本当にインターネットで匿名になりたいという方は本記事で解説した対策手順を実施した上で、インターネットでの言動にも注意した方が良いでしょう。
いつもお世話になっております。
torの出口ノードでは何が見えるのか気になり質問させていただいています。
例えば、あるサイトで品物を購入し、そのサイト内に名前や住所を入力した場合、それらの全てが出口ノードで閲覧可能なのでしょうか?
よろしくお願いします。
コメントありがとうございます。
>例えば、あるサイトで品物を購入し、そのサイト内に名前や住所を入力した場合、それらの全てが出口ノードで閲覧可能なのでしょうか?
暗号化されていない場合(HTTP)は通信内容を閲覧可能です。そのためtorを利用する際は必ず暗号化して通信するHTTPSで通信する必要があります。HTTPSで暗号化している場合は出口ノードで通信内容を閲覧する事はできません。
また、HTTPとHTTPSが混在するWEBサイトは中間者攻撃によって通信内容を傍受される可能性があるため、この記事で紹介している「Enable HTTPS-Only Mode in all windws」を有効化するなどして対策する事をおすすめします。
ご返信ありがとうございます!
HTTPとHTTPSが混在するというのは盲点でした。
ちなみに、ここのページを参考に、torの設定を調べたら、既に「全てのウィンドウでHTTPSのみ許可する」にレ点がありました。
自分でいじった記憶がないのですが・・・
(思い違いかもしれません。)
いつもありがとうございます。
勉強になります!
匿名用ノートパソコン用意
ホストOS Windows11
NordVpn常時接続 キルスイッチ有効
USBメモリにVirtualBoxインストールし、仮想Windows11環境構築 Nordvpnインストール
スナップショット保存運用
上記を最近構築したのですが匿名性はどうでしょうか。Linuxは苦手なので使っていません。
なかなか他の方の匿名性環境を知る機会が無いため皆さんの環境も知りたい。
コメントありがとうございます。
USBメモリを使うというのは良いですね。
Windowsでも十分匿名性の高い環境は構築できるので、無理してLinuxを使う必要はないと思っています。
匿名性を高める上で工夫したことや注意したことなど、ノウハウがあれば是非教えてください。
はじめまして。答えるのは難しいかもしれませんが、HTTPSについて疑問に思っていることがあります。中国のグレートファイアウォールや、NSAのエシュロンなどは大規模な通信の傍受を行っているはずですが、なぜHTTPSの通信が解読されるのでしょうか。現実的な方法として接続先のサーバではなく、通信経路上のISPのルータなどから傍受、解読していると思われるのですが、証明書が事実上無効化されないと実現不可能に思えます。これは実際のところどういう方法で実現しているのか、興味本位ですが教えていただけるでしょうか。リバースプロキシ的な方法ではないかと考えていますが、いかがでしょうか。