匿名通信「Tor」は何を可能にしているのか

この記事をシェア

「Tor」のような匿名通信が多くの人によって利用されている。Webサイトを閲覧している間のプライバシーが保たれるというメリットがあるからだ。だが他方では、さまざまな問題があることも指摘されている。そこで以下では、どういった可能性と課題があるのかをあらためて明らかにする。
 

この記事は、ESETが運営するマルウェアやセキュリティに関する情報サイト
「We Live Security」の記事を基に、日本向けの解説を加えて編集したものです。

「Tor」(トーア)は、接続経路を相手にわからないようにできる匿名通信システム(または匿名化ツール)である。国内では2012年に起こったPC遠隔操作事件で犯人が送信元を隠すために使って掲示板に書き込みを行ったことにより、一般にもよく知られるようになった。

まず、匿名通信の仕組みを簡単に説明しておこう。

匿名通信を確立しようとする際には、プロキシサーバーとその通信で必ず利用されているプロトコルが根本的な役割を担っている。つまり、匿名通信のことを知ろうとするなら、まず、プロキシとプロトコルについて理解しておく必要がある。

 

プロキシとは何か、どのような種類のプロキシがあるのか

一般的にクライアント(ユーザー)はWebサーバーなどに対してリクエストを行う際、間に第三者を入れる必要はなく、直接、送信元の情報を相手に渡してやりとりをする。プロキシはクライアントとサーバーの間に入り、クライアントの代理としてサーバーにリクエストを行う。つまり、サーバー側に残るアクセス情報はプロキシからのものだけで、本来アクセスしているクライアントの情報をサーバー側は受け取ることがない。

 
プロキシの役割
プロキシの役割

当初の役割は、一度閲覧したページのコンテンツなどがプロキシにキャッシュされるため、繰り返し閲覧する機会が多い場合、トラフィックが軽減されて通信回線を安定させたり高速化することにあった。だが次第に、安全性を確保するため、つまり、クライアント側から見て相手のWebサーバー側が信用できないとき、こちらの情報を渡したくないという理由から用いられるようになった。

そしてさらに、もっと意図的に相手のサーバーと直接通信したくない場合、つまり、身元を明らかにしたくない通信、例えば匿名で掲示板に書き込むときなどに、よく用いられるようになった。ところが用途はさらに、何にも束縛されずに匿名で好きなことを書くだけにとどまらず、相手に嫌がらせをしたり誹謗中傷したり、さらにはマルウェアなどの攻撃を仕掛けるのにもしばしば利用されるようになった。

「Tor」とは、そうしたプロキシサーバーを複数にまたがってつなぎ合わせて「匿名化」を徹底化したものである。

複数のプロキシを連接させた場合
複数のプロキシを連接させた場合

なお、プロキシといっても用途や目的によって幾つかの種類がある。種類は以下の3通りに分かれる。

1)透過プロキシ

それぞれのクライアントのWeb ブラウザに対して、プロキシサーバーとポート番号の指定を行わず、ネットワークを管理する側が全てのクライアントの接続要求を一括して(強制的に)プロキシサーバーに転送する。クライアント側は一見直接Webサーバーに接続しているように見えるが、実際にはプロキシを介することになる。もちろん、外部からの接続要求も全てプロキシを中継しているため、怪しいアクセスがあった場合に事態を把握しやすい。組織内で利用している場合は第三者にはプロキシ情報は知られていないので、「非公開プロキシ」の場合が多い。

2)匿名プロキシ

組織内のネットワークで一括して利用する透過プロキシとは大きく異なり、送信元の情報が隠されることを前提としているのが「匿名プロキシ」である。中にはIPアドレスとポート番号が公開されている場合もあり、匿名プロキシの中でも利用制限が特になく、誰でも使えるものは「公開プロキシ」と呼ばれ、こちらの名称の方が一般的にはよく知られている。Webサーバー側には送信元の情報は直接行くことはないが、プロキシサーバーのアクセスログには送信元の情報は残されている点で、次の3と大きく異なってくる。

なお、通販サイトやオンラインバンキングなどにはこうした公開プロキシによるアクセスを制限している場合もある。また、組織内でフィルタを使ってWeb利用を制限している場合、その網の目をかいくぐって匿名プロキシを仲介するソフトを使って不適切なサイトにアクセスする可能性もある。

3)多段化による匿名プロキシ

上記2のうちでも、クライアント側がIPアドレスなどの痕跡を完全に消したいときに使用されるのが、「Tor」や「Privoxy」「Proxychains」のように幾重にもプロキシを中継するタイプのもので、別名は「多段串」である。

「Tor」は「The Onion Router」の略で、幾重にもプロキシという外壁がつくられていて実体がつかめないようになっている。つまり、同じプロキシといっても「透過」と「匿名=公開」では根本的に用途が異なっているのである。

Privoxy(プリヴォクシ)は、その名の通りプロキシの一種であるが、ユーザーのIPアドレスなどの匿名化だけでなく、WebページやHTTP ヘッダの内容を変えたり、アクセスの制御を行ったり、さらにはバナーやポップアップ形式の広告を取り除くフィルタ機能も持ち合わせている。

また、Proxychains(プロキシチェインズ)もまた、名前の通り、さまざまなプロキシを用いて接続経路を複雑化して身元をわからなくする。たとえログが取られていても、異なる国のプロキシを経由することで参照が困難になっている。

では、この匿名プロキシの場合、どういったプロトコルが用いられるのか。もちろん、ここではセキュリティが強化されている「HTTPS」は登場せず、通常の「HTTP」がメインである。

匿名化のプロセスに用いられるプロトコル

情報を送信するためにクライアントとサービスとの間でのやりとりを可能にするルールの集まりであるプロトコルのうち、主に匿名化のプロセスに用いられるのは、HTTP、SOCKS4、SOCKS5の3種類である。

1)HTTP

一般的にプロキシといえば「HTTPプロキシ」を指す場合が多い。つまり、Web(World Wide Web)を閲覧するための接続を中継する。メリットは速度が遅くなることなくコンテンツを閲覧できること。デメリットは暗号化されたSSLの接続はサポートされていないこと。なお、HTTPの場合IPアドレスが送られ匿名にはならない。

2)SOCKS4

ファイアウォールを介さない通信を可能にし、HTTPやHTTPS、FTP、SMTPなどのプロトコルから利用が可能で、HTTPプロキシと同じように作用する。クライアントのIPアドレスは送られない。ただしSOCKS4は、TCP通信だけをサポートしており、UDPは利用できない。

3)SOCKS5

上記のSOCKS4の後続に当たり、最新バージョンである。TCPとUDPの通信のサポートを組み込んでいる。また、クライアントからプロキシへの認証もサポートしている。

なお、「Tor」などの匿名化ツールは確かに自分が匿名化したい場合には極めて有効かもしれないが、もちろんデメリットもある。何よりも通信速度がかなり遅くなり、Webの閲覧にかなりストレスがたまる。また、前述したように、プロキシによるアクセスを規制しているサイトやプロバイダが多々あるので、普段の使い勝手が悪くなることも肝に銘じておきたい。

この記事をシェア

業務PCのセキュリティ対策に

サイバーセキュリティ
情報局の最新情報を
チェック!