「ネットワークの盗聴は可能か」
第6回 「ネットワークの盗聴は可能か」「メールの安全性を考える」では,メールをハガキにたとえて解説した。しかし,実際に盗聴されていたとしても,それが目に見えないやりとりであるだけに,理解するのは困難なことなのかもしれない。頻繁にやりとりする「メールの内容」,そして「メールを受信する際に必要なパスワード」など,個人にとって重要なデータが覗かれるということは,危険であると同時に不快なものでもある。
しかし,ネットワークの盗聴は条件さえ揃っていれば決して難しいことではない。社内の人間が,同僚のメールの中身やパスワードを盗みている可能性もあるだろう。
もちろんメール以外にも,インターネットを利用する際に必要なパスワード(オークションサイトのパスワードや,ホームページ用FTPサーバのパスワードなど)が盗聴できれば,悪意を持つ人物(クラッカー)がそれを悪用することはたやすいことだ。また,社内ネットワークなどであれば,こういった盗聴をストーカー行為に利用するケースもあるだろう。
ネットワークを流れるパケットは,暗号化されていなければ,そのままの状態で流れている。メールの受信ではPOPアカウントのパスワードが,FTPサーバのログイン時にはFTPのパスワードがそのまま流れているわけだ。もちろんメールの内容も暗号化されていなければ読み取ることができる。このようなネットワークの盗聴は,「スニッファ」(Sniffer)と呼ばれるネットワーク管理ツールを利用して行われる。
今回は実際にネットワークのパケット盗聴を行い,その対策方法について考えてみよう。
パケット盗聴の仕組み |
スイッチングハブなどでなく,安価なリピータハブなどを使用してネットワークを構成している場合,送られてくるパケットはネットワーク上のすべてのコンピュータに流される。各コンピュータはその中から自分宛のパケットのみを受け取り,それ以外は捨ててしまう(図1)。
パケット盗聴はこれを利用し,自分あて以外のパケット(つまり他人のコンピュータに向けて送られているパケット)も受信してしまうわけだ(※1:プロミスキャスモード)(図2)。
|
前述したように通常,スニッファはネットワークを流れるパケットをモニタリングし,トラフィックの追跡などのネットワーク管理に用いられる。
しかし,こういったスニッファをクラッカーが悪用すれば,ネットワークを流れるパケットを盗聴し,パスワードやメールの内容など,暗号化されていないさまざまな情報を手に入れることができるわけだ。
スニッファは,パケットすべてを記録するものから,パスワードのみをログに残すものなどさまざまな種類があるが,フリーソフトウェアのものもあり,インターネットで検索すれば簡単にダウンロードできるツールだ。
無線LANでのパケット盗聴 |
では,ケーブルで繋がれた通常のネットワークではなく,無線LANの場合はどうだろうか? 今回は内部のネットワークを想定して,無線LANでのパケット盗聴を試してみることにしよう。ここではメルコの「Air Station WLS-L11GW」を利用してネットワークを構築し,パケットの盗聴を行ってみた。
ネットワークの構成は図3のようになっている。
図3■無線LANでのネットワーク構成 |
使用した無線LANは,外部からのアクセスを拒否するセキュリティ機能として,暗号化WEP機能(40/128bit)とMACアドレスによる制限が行えるようになっている。もちろん今回もその機能は使用しているが(WEP:128bit,MACアドレスフィルタリング),ここでは外部からではなく,ネットワーク内部からの盗聴を想定している。
ネットワークにある3台のコンピュータのうち1台に,前述したスニッファーをインストールし,ネットワーク上のコンピュータで行われた通信を傍受してみる。
図4■ネットワーク盗聴に利用したモデル |
今回は盗聴の内容をわかりやすくするために,フリーサービスのメールアカウント「zdnet2001@hotpop.com」を作成し,このアカウントでのメール受信を行う。
|
ここでは単純にスニッファとして「SniffIt V.0.3.7 beta」という,フリーソフトウェアのネットワーク管理ツールをLinux上で動作させているが,スニッファはWindowsで動作するもの(dsniffなど)や,Macintoshで動作するもの(EtherPeekなど)などさまざまな種類がある。
ではネットワーク上のコンピュータ(Windows98SE+Outlook Express)でメールの受信を行い,その際に流れるユーザ名,パスワード,メール本文をスニッファで傍受した結果を見てみよう。
スニッファーのログからメール受信を行った際のパスワードを参照してみる。
写真2■スニッファのログから,ユーザーIDとパスワードが分かる![]() |
USER zdnet2001 PASS hogehoge STAT QUIT |
ユーザ名とパスワード,どちらも丸見えであることがわかる。またメールの本文も,ここでは本文に「TEST」と一言しか書いてないが,写真3のように参照できる。
HELO 192 test |
同様にFTPなど,そのほかの通信に使用されるパスワードも,暗号化がなされていないものは傍受することができる。
|
パケット盗聴に対する対策 |
パケットの盗聴を発見するのは簡単ではない。スニッファで盗聴していたとしても,通常の通信との大きな違いがないからだ。発見する手段もないわけではないが,盗聴する側もそれを見つからないよう隠ぺいしている可能性もある。
ネットワークのパケットを分析し,正常な状態と比較することでスニッファが仕掛けられているかを調べるツールとして,L0phtの「AntiSniff」というツールなどもある。しかし,これも絶対的なものではなく,またすでにそれに対して「AntiAntiSniff」というスニッファも出ている。「AntiSniff」はWindows9xでも動作するので,使用してみるのもいいだろう。
![]() 写真5■ネットワークのパケットを分析し,正常な状態と比較することでスニッファが仕掛けられているかを調べられる「AntiSniff」 |
有線でのネットワークを構築している場合,使用しているハブがスイッチングハブでなければ,ハブをスイッチングハブに変更するという手もある。スイッチングハブはリピータハブと違い,目的のコンピュータのみに必要な情報を流すため,パケットの盗聴を防ぐことができる。しかし,サーバにスニッファを仕掛けられていては意味がないし,最近ではスイッチングハブでも盗聴できる危険性があるため,導入したからといって安全とは言い切れない。またこれは,会社などであれば個人でどうこうできる問題でもなくなってしまう。
無線LANに関しては自分が管理しているのであれば,外部からのアクセスはWEPおよびMACアドレスフィルタリングで確実に遮断しておく必要がある。内部での盗聴に関しては,今回試したリピータハブと同様,パケットの盗聴が可能だ。
個人で行える簡単な対策は,やはり暗号化することだろう。PGPでメールを暗号化するで述べたように,メールであれば重要な内容のものをPGPで暗号化すればよい。またパスワードに関しても,POPではなくパスワードを暗号化できる「APOP」を使用するといったように,のぞかれてもそのままでは理解できない状況にしておけば,万が一盗聴されていたとしても,暗号化されたデータしか分からない。
盗聴や盗撮など,現社会でもいたるところで行われている覗き見行為は,人の「見たい,知りたい」という欲望の象徴にも思える。ネットワークでもまた「人のメールを覗きたい。」と思う人間がいるのも事実だ。ネットワークを利用するのであれば,個人でできる最低限の対策は立てておく必要があるだろう。