1.5 盗聴

盗聴は映画や現実の世界でワイヤレスマイクを主体として行われるものや、 電話の盗聴などを連想します。 ネットワーク上でも、これとよく似たものがあります。 スニッフィングやタッピングと呼ばれます。
この行為そのものは、直接何かの攻撃を行うというものではなく、 ポートスキャンに近いものです。 しかし、ネットワーク上を平文で流れるパスワードやメールの中身などは、 暗号化されていない限り全て盗聴可能なのです。

特に、現在使用されているIPv4と呼ばれる仕様ではパケットの暗号化は含まれていません。IPv6ではパケットの暗号化や認証の仕組みが組み込まれていますが、我々が現在使用しているものは、ほとんどがIPv4の仕様に基づくものです。

1.5.1 盗聴

盗聴を行うためのソフトウェアの入手は簡単です。OSに添付されている場合もあります。そもそも、ネットワーク管理を目的としたものですが、悪用することによってネットワーク上のデータを盗聴することができます。
たとえば、Windows 2000のネットワークモニタや、UNIXシステムで広く使用されているtcpdump等が代表的な例です。
これらを使用すると、管理のためにパケットを見ていても、 どこからどこに対してtelnetし、 ログインなどのやりとりまでも見えてしまいます。 もちろん、これが見えなければ障害などの原因究明ができないため、 実行には管理者の権限が必要になっているのです。


画面1.5.1-1 Windows 2000のネットワークモニタでログインデータをキャプチャリング

盗聴することによって得られる情報は、ネットワーク上を流れる全てのデータとなります。
その中で攻撃する側にとってメリットがあるものは限られているでしょう。

telnetでシステムにログインする際、ユーザ名やパスワードを入力します。 このときのデータは、ネットワーク上を平文で流れます。
もちろん、作業を行いsuコマンドを使用したときのパスワードも全て平文で流れます。 つまりtelnetを使用した場合、全ての操作は見られていると考えて良いでしょう。
また、メールシステムとしてSMTP/POPを使用している場合、POPのユーザ名やパスワードはもちろん、取り込んだメールやSMTPで送信しているメールも全て盗聴可能です。
たとえば、関係者以外には漏らせないような機密事項をSMTPで送信するということは、 SMTPを使用している時点で機密ではなくなるのです。

1.5.2 盗聴の手法

盗聴を行うには、あらゆるホストに何らかのモジュールを仕込む必要はありません。 特に、シェアードハブを使用しているネットワークであれば、 盗聴を行うためのパソコンが1台あれば十分です。
そのパソコンを近くにあるハブの空いているポートに刺すだけで盗聴が可能なのです。

しかし、スイッチング処理を行っているネットワークでは急に難しくなります。 そこで行われる手法は、サーバに盗聴のモジュールを仕込む手法です。 これによって、サーバに対してデータのやりとりが発生するものに関してを盗聴することができます。

ここまでの内容で重要なことに気づかれるでしょう。 盗聴を行うには、そのLANに対して実際に入り込む必要があります。
対象となるLANの者が盗聴するには、何らかの方法でリモートのホストにデータを送る必要があります。
クライアントやサーバに侵入し、盗聴のモジュールを仕込み、 そのデータをリモートで送信するという手法です。 この場合、最大の障壁は侵入しなければならないという点です。 このために、相手に対して盗聴用のモジュールを実行するように偽装したメールを送ることや、実際に侵入するという方法が使われます。
しかし、これだけでも障壁のとなる場合があります。もし相手のネットワークにFirewallが存在しており、たとえば外部とはDNS,SMTP,HTTPのみしかアクセスを許可していないネットワークの場合は少々やっかいです。 この場合には、自動的にデータをメールに添付し送信させるという方法がとられることもあります。

このように、盗聴は最も確実に、しかも最短で情報を入手する手法なのです。

1.5.3 盗聴を防ぐには

盗聴を防ぐには、いくつかの方法があります。
これまでに説明した内容から察することができるでしょう。
大きくわけて3つの方法から考えて行くことが必要です。

インフラ面においては、スイッチングハブを導入し、ポートの管理も行うということが必要です。
このことに関しては、通信機器のセキュリティで解説します。

次に、アプリケーション面においては、たとえば平文の使用を禁止し、暗号化が行われるようにするということです。
telnetからsshへ、POPからAPOPへ、 そして重要なメールはPGPで暗号化するといった方法が必要でしょう。

最後に、監視を行うということは、何かを防ぐことに繋がるわけではありません。 もし盗聴されるような事実があれば、少しでも早く対処する必要があります。 何かが起こったとき、大惨事になる前に対処できるよう日頃の監視が重要になります。
監視するものはログや通信先などだけではありません。 サーバで動作するプロセスや、ネットワークインターフェースに異常がないかを監視する必要があるのです。
たとえば、ifconfigコマンドでネットワークインターフェースを調べると次のように表示されます。

% ifconfig de0
de0: flags=8843<UP,BROADCAST,RUNNING,PROMISC,MULTICAST> mtu 1500
        inet 172.16.0.1 netmask 0xffffff00 broadcast 172.16.0.0
        inet6 fe80::242:3ff:fda2:d14%de0 prefixlen 64 scopeid 0x1
        ether 00:44:08:44:0d:14
        media: autoselect (10baseT/UTP) status: active
        supported media: autoselect 100baseTX <full-duplex> 100baseTX 10baseT/UTP <full-duplex> 10baseT/UTP
このときに注目すべき点は、"PROMISC"の部分です。 インストール直後など、多くの場合は"SIMPLEX"になっています。 この部分が、"PROMISC"になっていると、ネットワークインターフェースがプロミスキャスモードになっているので何故そうなったかということを調べる必要があります。

    Copyright(C)  2001 Information-technology Promotion Agency, Japan.  All rights reserved.