代表的なDoS攻撃

●Smurf攻撃

 ネットワーク管理コマンドに「Ping」というものがある。これは目的のコンピュータが,TCP/IPのネットワークに接続されているかを確認する際に使用されるコマンドだ。調べたい相手に対し「ICMP Echo Request」というパケットを送り,それを受け取った相手は「ICMP Echo Relay」パケットで返事をする。Windowsであれば,MS-DOSプロンプトかコマンドプロンプトで,「ping <IPアドレス>」と入力すればよい(写真1)。

画面
写真1■調べたいIPアドレスを入力すれば実行できる

 1台のコンピュータに対しPingを実行すれば,その相手からのみ返答を受け取ることになるが,これが複数であれば,そのすべてから返答を受け取ることになる。

 Smurf攻撃は,送信元を偽造したICMP Echo Requestパケットを利用し,ICMP Echo Relayパケットを大量にターゲットに送り付ける攻撃だ(図1)。たとえば,ネットワークに与えられているアドレスが「192.168.1.0〜192.168.1.255」の範囲だとすると,「192.168.1.255」というIPアドレスに対し送信を行えば「192.168.1.1」や「192.168.1.5」など,そのネットワークに所属するホストすべてと通信を行うことができる。このアドレスは「ブロードキャストアドレス」と呼ばれ,ネットワーク上のすべてのコンピュータを表している。つまり,Pingコマンドをブロードキャストアドレスへ向けて実行すれば,そのネットワークに接続されているすべてのコンピュータからの返答を受けることになる。

 クラッカーはICMP Echo Requestパケットの送信元のIPアドレスを偽造し,応答パケットをターゲットのサイトのアドレスとするわけだ。ICMP Echo Requestを,あるサイトのブロードキャストアドレスに大量に送りつければ,それに対する応答は増幅された莫大な量のICMP Echo Relayパケットとなって,ターゲットのサイトを攻撃する。もちろん被害者はICMP Echo Requestを送られたサイト,そしてICMP Echo Relayパケットを受け取るサイトの2つになる。

図1■Smurf攻撃の概念図
図
クラッカーはICMP Echo Requestパケットの送信元のIPアドレスを偽造し,応答パケットをターゲットのサイトのアドレスとする。ICMP Echo Requestを,あるサイトのブロードキャストアドレスに大量に送りつければ,それに対する応答は増幅された莫大な量のICMP Echo Relayパケットとなって,ターゲットのサイトを攻撃する

 Smurfへの対策として考えられるのは,ブロードキャストアドレスに向けて送信されたICMP Echo Requestパケットをフィルタリングすることだ。これで自らが攻撃者(つまりICMP Echo Relayを送信してしまうサイト)になることは免れることができる。しかし,ICMP Echo Relayパケットを受ける側での対策を立てることは難しい。

●SYN FLOOD攻撃

 SYN FLOODはTCPサービスに対し,接続要求(SYNパケット)を大量に送りつけ,そのサービスの処理能力を消費させる攻撃だ(図2)。

 TCPはコネクション型のプロトコルであり,コネクションを確立するのに3ウェイハンドシェイク(3Way Handshake)というものが用いられる。サーバ側はListen(待ち受け状態)にあり,そこにクライアントは利用したいサービスのポートへSYNパケットを送信する。サーバ側はそれを受けACKパケットを送信,それと同時にSYNパケットも送信する。クライアントはそれを受けACKパケットを送信してコネクションが確立される。

 SYN FLOODはターゲットに対し大量のSYNパケットを高速に送信し,サーバ側を待ち受け状態に陥れる。その間,サーバ側は送られてきたSYNパケットに対してSYN/ACKパケットを返し,ACKパケットを待ち受けるが,送信されたSYNパケットはアドレスが偽造されたパケットであり,サーバ側がSYN/ACKパケットを返す宛先は架空のアドレスとなる。

 つまりいくら待ってもACKパケットは返ってこないわけだ(SYN_RCVDで止まってしまう)。その間システムはACKパケットを待ち受けるために,バッファメモリ上にその情報を確保する。そのためメモリを消費し,正常なアクセスを受けられなくなったり,システムクラッシュやサービスのダウンなど,さまざまな症状が現れる。

図2■SYN FLOOD攻撃の概念図
図
SYN FLOODはターゲットに対し大量のSYNパケットを高速に送信し,サーバ側を待ち受け状態に陥れる

 なお,今回紹介したSmurfやSYN FLOOD以外にも,Fraggle,Land,などさまざまなDoSアタックがある。こうした攻撃に対処するためには,OSにパッチを当てることや,最新版のOSを利用することが大切だ。またDoS攻撃に対応しているブロードバンドルータや,ソフトウェアファイヤーウォールを導入するのもよいだろう。

PREV 2/3 NEXT