Sniffing(ネットワーク盗聴)ってなに?
「上司の悪口を書いたメールを送ったら、なぜか呼び出された」、「彼氏と会う約束がある日に限って残業」、「フリーメールのパスワードが変わってた!」そんな経験ないですか?それはあなたのメールが誰かに盗み読みされているからなのかもしれません。
Sniffing(ネットワーク盗聴)は悪意を持った利用者によるものだけではなく、会社のネットワーク管理者が経営者の許可をもらって行っている場合もあります。これは企業の機密漏洩を防ぐ目的で、大企業ではよく行われていることです(これが犯罪になるのかわかりませんけど)。そして特定のキーワード(例えば[見積り][機密]など)を含んだ通信を発見したときに、管理者に警告を出したりします。
また私的なメールを職場から送受信するのは、危険かもしれません。
sniffingをしているひとが、管理者のひととは限りません・・・悪意を持ったひとが、あなたのメールを覗き見しているかもしれません。
どのような情報が危ないの?
平文のクリアテキスト(Clear text:SSLなどで暗号化されていない文章などのこと)は全て危険です。メールのパスワードや本文も、通常は平文で送受信されるのでよく狙われるみたいです・・・
あなたがどこのサイトに接続したのか、どこの掲示板になにを書いて投稿したのか、その書き込みの時間と内容も筒抜けになるかもしれません。
どこのサイトからどのような画像をダウンロードしたのか、このような接続情報もぜんぶわかってしまいます。
安全のためにSSLを利用しましょう♪
暗号文(Cryptogram)されたなら、Sniffingされても内容を解析されないかもしれません。暗号化はリスクが大きいやりとりでは、常識になっています。オンラインショッピングでは、httpsをまったく使わないサイトはないですね(もしあるなら、驚きです)。
わかりにくいですか?では簡単に解説してみます。
SSL(Secure Sockets Layer)を使ったhttpsで接続しているときには、Internet Explorerの画面の右下にカギのマーク
このカギのマークが表示されない状況では、暗号化による保護はされていませんから、httpでクレジットカードの番号を送ると、LAN上を流れる情報は平文(危険なもの)になってしまいます・・・
Internet Explorerのアドレス欄をみてください。httpsで保護されているときには、アドレス欄はhttp(LAN盗聴で内容がわかってしまうもの)ならアドレスは[http://]から、https(内容を盗聴されても、解析は難しいもの)なら[https://]になるでしょう。
httpでクレジットカードの番号を送ったりしないでくださいね。
SSLのサービスを使えば必ず安全?
そしてとっても大事なことです。SSLで暗号化すれば安全だと思いこまないでください。パスワードが暗号化されても、そのほかの情報が暗号化されているとは限りません。
メールならAPOP(パスワードを暗号化する仕組み)やPOP/SMTP over SSL (メールを送ったり受信するときに本文をSSLで暗号化する仕組み)を利用することにより、より安全になるでしょう。でもこのようなPOPメールのサービスに両方とも対応しているプロバイダーは、大手プロバイダーでは2003年末には2社だけでした。
Webメール(Internet Explorerなどのブラウザから使うもの)では、パスワードだけが暗号化されても本文が暗号化されないものもあります、注意してください。
パスワードや書き込んだ内容が暗号化されても、どのようなWebサーバーに接続したのかわかってしまうかもしれません(このようなテクニックはここでは解説しないことにしています・・・)。
イーサーネットの仕組み
ちょっとここで、ネットワークのお勉強を駆け足で。LAN内部を流れる情報は、[パケット]という形で流れます。
TCP/IPを利用するサービス、例えばFTPやメールの送受信などを皆さん利用しますね?データはゲートウェイ(インターネットとLANを繋ぐルーター等)から入り、皆さんの職場のLANの中で目的のノードへ運ばれます。パケットは送信元と受信先IPアドレスが書かれたIPヘッダという部分があり、これを元にどこかへ転送されます。インターネットとイントラネット(LAN)を中継するルーターは、IPプロトコルのような上位のプロトコルでパケットの送信を制御します。
このルーターの内側の範囲(LAN内部)を、とりあえずセグメントと呼びますね。またパケットはLAN上ではフレームとよぶのが一般的みたいです。
OSI参照モデルの一部と、それぞれの層で働くプロトコルをちょっと見てみましょう。
- トランスポート層
- データを正しく送受信するように制御(TCP、UDP)
- ネットワーク層
- IPアドレスで経路を選択(IP、ICMP、ARP、RARP)
- データリンク層
- 直接物理的に接続されている機器間のデータ送受信の識別と送信を行う(Ethrnet)
- 物理層
- 単に物理的に接続されているだけ(IEEE802.3)
IPアドレスとMACアドレス(アダプタアドレス)との対応は、NICにより自動的にARP・RARPを用いて調査されます(名前解決)。NICに割り当てられるMACアドレスは重複しないようにそれぞれメーカー出荷段階で、予め独自のMACアドレスを付加されます(変更も不可能ではないのですけど)。
でもプロミスキャス(無差別)モード(Promiscuous Mode)のNICは、自分宛ではないフレームまで取り込んでしまいます。これを利用したのがSniffing、つまりネットワーク盗聴です。
Sniffingはスイッチングハブで防げるの?
ネットワーク機器のハブには大きく分けて2種類、スイッチングハブとリピーターハブ(ダムハブ)があります。スイッチングハブはデータリンク層で機能し、MACアドレス(アダプタアドレス)を識別して、送信先のNICが接続されているポート(LANケーブルを接続する穴ですね)だけにこのパケットを中継し、他のポートにはこのデータを流しません。
ダムハブ(リピーターハブ)はスイッチングハブが働くデータリンク層よりも下位の、物理層で働く機器です。この機器はスイッチングハブとは違い、全てのポート宛にパケットを中継・送信してしまいます。つまり本来の宛先以外のNICにもデータを送信してしまうのです。
ですから単なる悪戯レベルで盗聴をするなら、ダムハブを利用している環境でなければ盗聴用の機器の設置は簡単ではないみたいです。スイッチングハブのみを利用しているLANでは、目的地以外の機器にはデータが中継されないので、仕掛ける場所が無いからです。
気をつけていただきたいのですけど。ルーターとスイッチングハブの間の経路は、管理者以外には触れさせてはならない位置です。[ルーター] - [ダムハブ(Sniffing用機器を接続したもの)] - [スイッチングハブ] - [LAN]、もしくはブリッジモードのノードを接続されますと、筒抜けになるのですから。
他の抜け道もあります。
MACアドレスは必ずしも変更できないというものではないのですから、自分のMACアドレスを、メールを盗み読みしたいと思う相手のMACアドレスに変更するARP Spoofing(なりすまし)をすれば、スイッチングハブを使っている環境下でも盗聴ができます。
誰にでもできるテクニックではないと思いますけど。元々変更可能な機器も販売されており、またMACアドレスを変えるためのハッキングツールも配布されているので、スイッチングハブを利用していれば必ず防げるというものではないようです。
ミラーポートの問題
スイッチングハブにはミラーポートというポートがあります(安価な家庭用の製品にはないようです)。このポートには管理をスムーズに行なう目的で、あらゆるフレームが流れてきてしまいます。
無線LANではどう?
Sniffing(ネットワーク盗聴)はできないでしょう、でも適切に設定してくださいね。とうぜんMACアドレスフィルタリングは設定するべきです。
WEP(Wired Equivalent Privacy、CR4で暗号化)は送信するパケットを暗号化する機能で、40bitと128ビットのタイプがあります。でも「絶対に大丈夫!」ではないようです。またこれにより外部からのsniffingを回避できたとしても、内部(身内のひと)では幾らでも・・・
どうしたらSniffingしている人を捜せるの?
管理者が使うネットワーク監視ツールは、MACアドレスの重複や変更を検出し、アラートを出します。勝手にIPアドレスを変えた直後に、管理者から内線電話が来た経験はないですか?
また無差別モードのNICを検出するソフトウェアもあります。
いたちごっごですけど。「Sniffingしているひとはいないかな?」とネットワーク管理者が監視しているのかどうかをチェックするツールもあります。
高額な管理ツールはちょっと・・・という人は、とりあえず試してみてはどうでしょう?
PromiScan
http://www.securityfriday.com/ToolDownload/PromiScan/promiscan_doc.html
AntiSniff(体験版は15日間有効)
有料ですけど日本語です。機能制限の体験版もあります。
Arpを使って検出します。
PromiScan ver3.0J 日本語版
http://www.securityfriday.com/jp/
使いかたはこちらを参考にしてください。
PromiScanでプロミスキャスモードのNICをさがしましょう♪ - ネットワーク盗聴(Sniffing)対策
DNSのInverse Queriesを使った方法です。
(Inverse Queriesは逆引き、つまりIPアドレスからホスト・ドメイン名を調べることです)
http://fdin.org/moe/promiscdetect_dnstest.html
関連
<社内LAN>メール盗み見ソフト出回る 対策装置効果なく