Torの利用者を特定する方法

Tor

高い匿名性を提供するTorですが、Torを利用していたとしてもその匿名性を破る方法、実際に破られたケースが存在します。

今回はTorの利用者に対する攻撃手法、及びその対策についてご紹介いたします。

Tor利用者に対する様々な攻撃手法

通信プロトコルに関連した攻撃

https通信をしていない

Torブラウザでは「HTTP」等HTTPS以外の通信方法でwebサイトにアクセスした場合、Torネットワークを経由せずに別のサイトに飛ばされるという攻撃を受けてしまう可能性があります。

これはTorの設定により「HTTP」通信を「HTTPS」の通信に強制的に切り替えることができます。

この設定を必ず行うと共に「HTTPS」以外の通信を行うということに対する警戒を日頃から怠らないようにする必要があります。

Torネットワークに関連した攻撃

結託攻撃

Torの匿名性を崩す手段として最も単純なのはTorノードの多数占拠です。

Torの通信では「Entry guard(エントリーガード)」、「Middle relay(中間ノード)」、「Exit relay(出口ノード)」という3つのサーバーを経由しますが、経由する3つのサーバーを全て占拠していた場合には送受信者の情報を特定可能です。

Torは特定の入り口ノードを2~3ヶ月使い、中間ノードと出口ノードに関してはTorブラウザにアクセスする度に変更します。

また、Torは10分ごとに接続するノードを変更します。なので、結託攻撃というは基本的には実現可能性が低いものと考えられています。

タイミング攻撃

タイミング攻撃はTorに接続した時間とインターネット上での行動の時間を突き合わせることで相関性を調べるものになります。

この攻撃はTorの入口ノードと出口ノードを抑える必要があるので結託攻撃同様実現が難しいものではありますが、NSAはTorの出口ノードを一定数抑えているという噂もありますし、2021年には一部のハッカーが出口ノードの27%を占拠したという事件もありました。

この事件はその後、Torチームが該当サーバーのシャットダウンを行ったことで沈静化されましたが、このように出口ノードの一定数を抑えられてしまうとタイミング攻撃も現実味を帯びてきます。

フィンガープリント攻撃

フィンガープリント攻撃は入口ノードのみを占拠していれば実施できる手法なので結託攻撃やタイミング攻撃よりも実現性が高い攻撃と言われています。

例えばTorを利用してあるサイトにアクセスするとします。一般的なウェブサイトは画像ファイルやスクリプトファイル等多くのファイルによって形成されています。

なのでブラウザがwebサイトにアクセスする際はそういったファイルにも同時にアクセスすることになります。

ウェブページ自体のサイズ、関連するファイル数及びサイズは各ウェブサイト固有のものになあるので、webサイトにアクセスした際の通信の流れもウェブサイト固有のものになります。

このような特徴をとらえて送信者がどのwebサイトにアクセスしているかを特定するのがフィンガープリント攻撃です。

ブラウザ関連の攻撃

Torブラウザの脆弱性をついた攻撃

TorブラウザはFirefoxをベースに作成されているブラウザのため、Firefoxに存在する脆弱性はTorブラウザにも存在します。

2016年には修正されましたが、かつてFirefoxにはJavaScriptとSVGを含んだWebページを読み込むと任意のコードが実行可能になるという欠陥が存在し、この欠陥を利用してIPアドレスとMACアドレスを特定することが可能となっていました。

捜査機関は上記の手法を用いて犯罪者を検挙していました。

ブラウザ起因の脆弱性は大抵javascript等が起因となります。htmlのような静的マークアップ言語はこちらに何か仕掛けるということはできないためです。

なので本当に匿名性を高く保ちたい人はTorブラウザのセキュリティレベルを「最大限の保護」にすることが推奨されます。

件のFirefoxを元とした脆弱性はセキュリティレベルを最大限にしていたとしてもjavascript等が実行できる状態となっていたとのことなので恐ろしい話です。

ブラウザフィンガープリント

Webサイトにアクセスする際、ブラウザの種類、画面解像度、プラグインの名前やインストール済みフォントの一覧などを取得することができます。

こうした複数のユーザーごとのブラウザ情報をまるで指紋のように分析するとすべての特徴が一致することが非常に少ないのでユーザーを識別できると言われています。

ブラウザのフィンガープリント対策はjavascriptを無効にする方法が確実です。Torブラウザのセキュリティレベルを「最大限の保護」にすることでjavascriptを読み込まないようになるのでフィンガープリント対策ができます。

各種利用者特定攻撃への対策

Torネットワークを利用した攻撃への対策

Torネットワーク関連の攻撃はTorネットワークに生IPで接続しているために漬け込まれるものになります。

厳格にログを残さないとしているVPNサービスを利用すればTorネットワークにより攻撃したとしても割り出せるのはVPNのIPまでになります。

通信プロトコルの対策

匿名で何かをしたい時は必ず「HTTP」ではなく「HTTPS」を使うようにしましょう。
ブラウザ設定に気を遣うのももちろんですが、普段から「HTTP」でアクセスしない意識が大切です。

ブラウザ関連の攻撃の対策

ブラウザを起因とした利用者の特定は往々にしてjavascriptによって行われます。本当に高い匿名性を求めるのであればブラウザ設定よりjavascriptを無効化することが有効です。

まとめ

Torは高い匿名性を持ったサービスではありますが、確実なものではありません。
今回ご紹介したもの以外にもまだ世の中に公表されていない攻撃手法も存在するかもしれません。
匿名性を保つためには前述した基本的な対策を常日頃から行っていきましょう。

それでは快適な深層web、ダークwebライフをお楽しみください。

コメント