ネットワーク盗聴(1)
今回はネットワークでの盗聴についてのお話をします。
例えば、コンピュータAがコンピュータBにデータを送るとき、一見その端末同士のみのやりとりに見えますよね?
でも実は同じネットワークに繋がっているコンピューターCにもその通信内容が届いている場合があります。
リピータハブ(バカハブ/シェアードハブ)と呼ばれる機器がよく使われていた頃は特にそうでした。
リピータハブという機器は、ネットワークに複数コンピュータがある場合にそれを束ねる機器です。
これに例えばコンピュータA、B、Cがつながっているとします。
コンピュータAが、コンピュータBにデータを送ろうとすると、リピータハブは全てのポートに対して同じデータを流します。
なぜならリピータハブはどこのポートにどのコンピュータが繋がっているかわからないからです。
その後、コンピュータBとCがそのデータ(パケット)の中身を見て、自分宛の通信かどうかを判断することができるわけです。
仮にコンピュータがはコンピュータB宛のデータを受け取ったとしても、自分へのデータじゃなければそのデータを破棄するという決まりごとがあります。
でも、その決まりごとを無視して、コンピュータB宛てのデータを無理やり読むことができる状態(プロミスキャスモード)にするツールがあります。
これがパケットキャプチャソフトと言われるものです。
パケットキャプチャソフトを使用して、プロミスキャスモードになると、データが暗号化でもされてない限り、ネットワーク上を流れるデータを全て読むことができます。
メールの内容なんかも簡単にわかってしまいます。
こういったツールは本来はトラブルの解析用のツールなんですが、そういった機能を悪用される場合があることから盗聴ツールとも呼ばれたりします。
Windowsでは「winpcap」、「Ethereal」、UNIXでは、「tcpdump」というツールがありますね。
ただ、最近は、リピータハブに代わって、スイッチングハブ(スイッチ)と呼ばれるものが主流になっていますので、盗聴の危険性は大分減りました。
リピータハブは、受け取ったデータを全てのポートに流してしまいますが、スイッチングハブは、データの宛先を見て、そのコンピュータがつながっているポートにのみデータを流してくれる頭の良い機器だからです。
でも、スイッチングハブ環境でも盗聴をすることは可能です。次回はその内容について触れてみたいと思います。