ネットワークセキュリティ入門

攻撃方法から学ぶ、自己防衛の方針

last update 2000/9/3

簡易的な攻撃方法の分類

攻撃前段階の手段

 ここでは、攻撃対象を攻撃する前に、事前に行われる(事が多い)項目について述べる。

 この項目は、いくつか挙げられるが、特に注意することとしてポートスキャンを、意外に忘れられているものとしてWWW等での情報漏れを挙げる。

 まず、ポートスキャンから。

 ポートスキャンとは、簡単に言うと「攻撃対象のコンピュータや、そのコンピュータで動いているサービスの調査」である。

 例えば、ある企業の所有するコンピュータの内、メールを送受信しているものを探すとする。それらしいコンピュータとして"mail.target.co.jp"というコンピュータが見つかった場合、こうすれば確認できる。

 telnet mail.target.co.jp 25

 これは、mail.target.co.jpのポート番号25番に接続要求を出す、と言うことである。telnet接続(遠隔接続)をポート25番で行う、と言う意味ではない。もし、メールサーバであれば、このような画面を見ることになる。

 Connected to 192.168.100.15...
 Escape charactor is `^]`
 220 mail.target.co.jp ESMTP Sendmail 8.9.1/8.9.1; Mon, 21 July 2000 20:15:39 +0900

 こうなっていれば(ほぼ)間違いなく、このコンピュータはメールサーバだ、と考えることができる。しかも、そのメールサーバはメールの送受信にSendmailを使用しており、そのバージョンは8.9.1である、と言うことまで確認することができる。

 もし、接続できないと、このような画面となるだろう。

 Connection refused.

 こうなった場合、このコンピュータはメールサーバとしては機能していない、と言うことだ。

 もちろん、中には必要もない(メールサーバではない)のにメール用のプログラムを使用していることもあるかもしれない。先に「ほぼ」と書いたのはこのためだ。こういったコンピュータは、まさに攻撃に打ってつけのコンピュータだ。なぜか。

 それは、必要のないサービス(この場合はメールサーバ用プログラム)を動かしっぱなしということは、間違いなく設定もいい加減で、セキュリティ上の問題を(たぶんすべて)放置しているからだ。と言うことは、攻撃方法が無尽にある、と言ってよいのだ。

 上記の方法をポート一つ一つに対して行ってみればよい。そうすると、どんなポートが開いている(どんなサービスが稼働している)かが確認できる。

 が、難点は、ポートは65535(の2倍)ある、と言うことだ。やってられない、と思うだろう。しかも、この攻撃には非常に大きな問題がある。

 それは、3way-handshakeを行っているため、相手にポートを調べているのがもろにばれてしまうのだ。調査は水面下で行う必要がある。

 これらの理由により、一つ一つ調査するのはばかげている。そこでポートスキャン用のプログラム(Windows用、Unix用など各種存在する=誰でもできる)を使用するのが現実的である。

 このプログラムは、元々不用意にポートを開けていないかどうか、管理者がチェックをするためのツールであった(と思う)。が、開いているポートを瞬く間に調査することができるため、攻撃者たちも重宝して使っているのである。なにせ仕掛けて風呂にでも入ってくればポートをしらみつぶしに調べてくれるのだから。

 しかも、ばれにくくするための各種手法も取り入れている。その一つがSYNスキャンと呼ばれる手法である。これは、3way-handshakeの1つめ、SYNパケットを送って、SYN/ACKが帰ってくれば開いている、RST/ACKが帰ってくれば閉じている、とし、すぐにRSTを送ってしまう。RSTは通信の強制終了だから、当然通信は確立しない。確立しないため、通信ログにも残らない、と言うわけだ。

 さらにポートスキャン用ソフトの中には、コンピュータが何であるか、見つけてしまうものもある。これは、通常なら送られてくるはずのないパケットが届いたときの、コンピュータの対応の違いを見て、推定する、と言う機能である。

 有名なポートスキャンソフト、nmapは、400種類に及ぶコンピュータ(OS)を見分ける事が可能となっている。

 コンピュータがわかるとどうなるか?攻撃方法はコンピュータによって(WindowsにはWindows用の、IRIXにはそれ用の、と言うように)使い分ける必要がある。コンピュータが何かわかる事で、攻撃方法がおのずと決まってくる、と言うことだ。下手な鉄砲を打ちまくる必要がない、と言うことになる。

 さて、これらの手法は、どの様に遮断すればよいのか。まず挙げられるのが、「余計なサービスは使わない」である。WWWサーバが既にあるのに、メールサーバがWWWサーバである必要はない。ならば、WWW用のプログラムをメールサーバで動かす必要はない。また、赤の他人がtelnet接続(ポート番号は23)をしないように、23番のポートをファイアウォールなどで閉じてしまう、等も必要だろう。

 さらにこういったスキャンを見つけるIDS(侵入検知ソフト)も存在する。(例えば軽量なフリーのIDSであるSnort。私も使っている)そういったソフトなどを使用してログを取り、ひたすら解析するしかないのである。まさにシステム(セキュリティ)担当者の根性一つにかかっている、と言ってもよいだろう。


 次によくありがちな情報漏れである。企業のWWWページを見ていると、(コンピュータ関連企業で)使用しているコンピュータの一覧などがかかれているものに出くわす。攻撃者にとって見れば「ビンゴ!」である。労せずして、攻撃対象のシステム環境が確認できるのだから。

 どうすればよいか。書かない、話さない。これに尽きる。企業によっては、それが自慢の種かもしれないが、攻撃者にとっても後で自慢できる種になるだけである。

   

前に戻る目次に戻る次に進む