分かりやす〜い
コンピュータ技術情報

TOPに戻る
▼Network
盗聴
┣ 盗聴の方法と原理
┣ コンピュータニュ
┃ ースサイトの説明

┣ IPアドレスとMAC
┃ アドレス

┣ Address Resolution
┃ Protocol

┣ 盗聴者を特定する原理
┣ 盗聴者特定ツール
┗ 付録

Copyright(C) 2001-2002.ugpop. All rights reserved.




■デジタル用語辞典:

▲このページの上へ

■ 盗聴者を特定する原理 ■

前回はARP(Address Resolution Protocol)について説明を行な
いました。
ARPとは、IPアドレスからMACアドレスを求める為のプロトコル
である事を説明しました。また、PINGコマンドとARPコマンド
を使用して実際にARPが行なわれる様子を見てみました。

今回は、このARPを使用して盗聴を行なっている人を特定する
原理について説明します。

まず、ARPの問い合わせを行なっている図をもう1度見てみま
しょう。


データ送る人                   ルータ      
IP:11.22.33.44                IP:11.22.33.01    
MAC:00-00-00-00-00-01             MAC:00-00-00-00-00-02
┌───┐                   ┌───┐     
│   │    ARP              │   │     
└─┬─┘ IP:11.22.33.01の人は        └───┘     
  ↓   MACアドレス教えて            ↑       
  │   宛先MAC:FF-FF-FF-FF-FF-FF        │       
  └─→──→──→──→──→──→──→──→┘       

この時、問い合わせの宛先MACアドレスはFF-FF-FF-FF-FF-FFを
示しています。
これはブロードキャストアドレスと言って、「全てのコンピュ
ータの宛先」を表します。

つまり、このデータが届けられた全てのコンピュータはMACア
ドレスが何であろうとも、このデータを受け取ってくださいね。
という特別なアドレスなのです。

ここで、上の図の「ルータ」だけに着目します。
「ルータ」を拡大したものを以下に示します。


        ルータ       
      IP:11.22.33.01     
      MAC:00-00-00-00-00-02  
                ̄  
 ┌───────────────┐
 │               │
 │               │
 │     ↑         │
 │┌────┼────────┐│
 ││    │        ││
 ││    │   NIC    ││NICのつぶやき:
 │└────┼────────┘│宛先MACアドレスがブ
 └─────┼─────────┘ロードキャストだから
       │          このデータは取り込も
─→────→┘          う。
ARP
IP:11.22.33.01の人は
MACアドレス教えて
宛先MAC:FF-FF-FF-FF-FF-FF
     ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

宛先MACアドレスがブロードキャストアドレスなのでNIC(Netw-
ork Interface Card)はこのデータを取り込んでいます。

ARPの問い合わせを受けたルータは、この後自分のMACアドレス
を返してあげます。


        ルータ       
      IP:11.22.33.01     
      MAC:00-00-00-00-00-02  
                ̄  
 ┌───────────────┐
 │               │
 │               │
 │     ↓         │
 │┌────┼────────┐│
 ││    │        ││
 ││    │   NIC    ││
 │└────┼────────┘│
 └─────┼─────────┘
       │          
─←────←┘          
自分のMACアドレスは
00-00-00-00-00-02です。
         ̄


では、通常ありえない事なのですが、ARPで問い合わせを行な
う時に宛先MACアドレスをブロードキャストアドレス以外にし
てみたらどうなるでしょうか?

以下に、例として宛先MACアドレスを00-00-00-00-00-03にして
送ってみた図を示します。             ̄


        ルータ       
      IP:11.22.33.01     
      MAC:00-00-00-00-00-02  
                ̄  
 ┌───────────────┐
 │               │
 │               │
 │               │
 │┌─────────────┐│
 ││    ×────────┼┼→廃棄
 ││    ↑   NIC    ││NICのつぶやき:
 │└────┼────────┘│宛先MACアドレスが自
 └─────┼─────────┘分のMACアドレスと異
       │          なるから駄目だよ。
─→────→┘          
ARP
IP:11.22.33.01の人は
MACアドレス教えて
宛先MAC:00-00-00-00-00-03
             ̄

宛先MACアドレスがブロードキャストアドレスではないので、
自分のMACアドレスと同じかどうかチェックが行なわれてます。
チェックの結果、自分宛のデータでない事が判明し廃棄されま
す。

では、このルータがプロミスキャスモードで動作していた場合
どうなるでしょうか?

以下にルータがプロミスキャスモードで動作している場合の図
を示します。


        ルータ       
      IP:11.22.33.01     
      MAC:00-00-00-00-00-02  
                ̄  
 ┌───────────────┐
 │               │
 │               │
 │     ↑         │
 │┌────┼────────┐│
 ││    │        ││
 ││    │   NIC    ││NICのつぶやき:
 │└────┼────────┘│宛先MACアドレスが自
 └─────┼─────────┘分のMACアドレスと異
       │          なるけどプロミスキャ
─→────→┘          スモードだから取り込
ARP                 もう。
IP:11.22.33.01の人は
MACアドレス教えて
宛先MAC:00-00-00-00-00-03
             ̄


NICはこのARP問い合わせを受け入れています。

そうです。プロミスキャスモードの時はどんなデータでも受け
入れるので、NICはこのARP問い合わせも受け入れるのです。
では、ルータはこのARP問い合わせに応答するのではないでし
ょうか?

しかし、これでもこのルータは正常に応答を返す事はありませ
ん。

何故応答を返さないのかというと、NICの上位にOSがいて、そ
のOSにより宛先MACアドレスがチェックされていたからです。

以下にそのイメージを示します。


        ルータ       
      IP:11.22.33.01     
      MAC:00-00-00-00-00-02  
                ̄  
 ┌───────────────┐
 │               │
 │               │
 │┌─────────────┐│
 ││    ×────────┼┼→廃棄
 ││    │   OS    ││OSのつぶやき:
 │└────┼────────┘│宛先MACアドレスが自
 │     ↑         │分のMACアドレスと異
 │┌────┼────────┐│なるから駄目だよ。
 ││    │        ││
 ││    │   NIC    ││NICのつぶやき:
 │└────┼────────┘│宛先MACアドレスが自
 └─────┼─────────┘分のMACアドレスと異
       │          なるけどプロミスキャ
─→────→┘          スモードだから取り込
ARP                 もう。
IP:11.22.33.01の人は
MACアドレス教えて
宛先MAC:00-00-00-00-00-03
             ̄


OSが宛先MACアドレスをチェックして自分のMACアドレスと異な
る事を判断し、廃棄しています。

しかしこのOS、宛先MACアドレスをいろいろと変えてみるとデ
ータを通してしまう場合があるようです。

例えば宛先MACアドレスをFF-FF-FF-FF-FF-FEにするとOSはデー
                    ̄
タを通してしまいます。

以下にそのイメージを示します。


        ルータ       
      IP:11.22.33.01     
      MAC:00-00-00-00-00-02  
                ̄  
 ┌───────────────┐
 │               │
 │               │
 │┌─────────────┐│
 ││    ○        ││
 ││    ↑   OS    ││OSのつぶやき:
 │└────┼────────┘│なんだか良く分からな
 │     ↑         │いけど自分宛みたい。
 │┌────┼────────┐│
 ││    │        ││
 ││    │   NIC    ││NICのつぶやき:
 │└────┼────────┘│宛先MACアドレスが自
 └─────┼─────────┘分のMACアドレスと異
       │          なるけどプロミスキャ
─→────→┘          スモードだから取り込
ARP                 もう。
IP:11.22.33.01の人は
MACアドレス教えて
宛先MAC:FF-FF-FF-FF-FF-FE
             ̄


この様に、ある限られた宛先MACアドレスに対してARP問い合わ
せを行なうとOSが勘違いを起こしてしまい、自分宛だと思って
しまうのです。

これは、宛先MACアドレスを判定する時にOSが宛先MACアドレス
の一部分しかチェックしていないからです。

ARPの問い合わせを受けたルータは、この後自分のMACアドレス
を返してあげます。


        ルータ       
      IP:11.22.33.01     
      MAC:00-00-00-00-00-02  
                ̄  
 ┌───────────────┐
 │               │
 │               │
 │┌─────────────┐│
 ││    ↓        ││
 ││    │   OS    ││
 │└────┼────────┘│
 │     ↓         │
 │┌────┼────────┐│
 ││    │        ││
 ││    │   NIC    ││
 │└────┼────────┘│
 └─────┼─────────┘
       │          
─←────←┘          
自分のMACアドレスは
00-00-00-00-00-02です。
         ̄


以上は、NICがプロミスキャスモードで動作していた場合です。

では、このARPの問い合わせと全く同じデータを通常のモード
で動作しているルータが受けた場合の図を見てみましょう。


        ルータ       
      IP:11.22.33.01     
      MAC:00-00-00-00-00-02  
                ̄  
 ┌───────────────┐
 │               │
 │               │
 │┌─────────────┐│
 ││             ││
 ││        OS    ││
 │└─────────────┘│
 │               │
 │┌─────────────┐│
 ││    ×────────┼┼→廃棄
 ││    ↑   NIC    ││NICのつぶやき:
 │└────┼────────┘│宛先MACアドレスが自
 └─────┼─────────┘分のMACアドレスと異
       │          なるから駄目だよ。
─→────→┘          
ARP                 
IP:11.22.33.01の人は
MACアドレス教えて
宛先MAC:FF-FF-FF-FF-FF-FE
             ̄

プロミスキャスモードでないのでNICにより宛先MACアドレスの
チェックが行われて、廃棄されています。

さあ、プロミスキャスモードで動作しているのと通常モードで
動作しているのとで差分が現れました。

この処理の差を判定するとプロミスキャスモードで動作してい
るのか、そうでないのか、判定する事が出来ます。

次回はこの判定を行なう為のツールを紹介します。



←前へ戻る    ▲このページの上へ    続きを読む→