このページの本文へ

アーバーネットワークスに学ぶDDoS攻撃の実態と対策第3回

パケット単位で見れば正常なIP通信と区別付かず!

偽ったIPアドレスを使うDDoS「Synフラッド攻撃」を理解しよう

2013年03月26日 06時00分更新

文● 佐々木 崇/アーバーネットワークス

  • この記事をはてなブックマークに追加
  • 本文印刷

 DDoS検知ソリューション「PeakflowSP」の開発販売を行なう米国のセキュリティベンダー「アーバーネットワークス(Arbor Networks)」によるDDoS攻撃を学ぶ連載。第1回はDDoS攻撃の実情、第2回はDDoS攻撃の手法を見てきた。続いては、DDoS攻撃を理解する上で大切な、DDoS攻撃の種類を見ていこう。

偽ったIPアドレスからのDDoS攻撃

 DDoS攻撃の種類を大きく2つに大別するとした場合、「偽ったIPアドレス(Spoofed IP)からの攻撃」と「実際に存在するIPアドレスからの攻撃」という区別ができる。今回は、前者の偽ったIPアドレスからの攻撃を紹介しよう。

DDoS攻撃の手法は大きく2つに分けられる

 残念なことに現在のIPの実装においては、パケットを中継するルーターにおいて特別な設定がされていない限り、自分自身のIPアドレス(送信元IPアドレス)を偽ってもパケットを相手に届けることが可能だ。これは手紙の配達に似ているともいわれる。手紙は、自分の住所を偽って書いたとしても、届け先が正しければ相手に届く。IPの世界も同様なのだ。送信元IPアドレスを偽装する理由は簡単で、攻撃元を特定されないためである。

 有名な攻撃である「Synフラッド攻撃(TCP Syn Flood)」はその仕組みを利用したものだ。これを理解するためにTCPの基礎、いわゆる3ウェイハンドシェイクをまず思い出してほしい。クライアントから送られた最初のSynパケットに対し、それを受けたサーバーはSyn/Ackを返答する。これに対しクライアントはさらにAckをサーバーに返答することによりセッションが確立される。この一連の動作の中でサーバーは、Syn/Ackの返答をした時点でクライアントからのAckを待つ状態になるのだ。

Synフラッド攻撃とは

 それでは、最初のSynパケットを送る段階で、そのクライアントが送信元IPアドレスとして、本来はクライアント自身のIPアドレスを送るところ、偽ったIPアドレスをサーバーに送ったらどうなるだろうか。サーバーは、当然Syn/Ackを偽ったIPアドレスに対して返答する。この偽ったIPアドレスは世界のどこかに存在するかもしれないし、存在しないかもしれない。仮に存在したとしても、そのIPアドレスを持つ機器は、見知らぬサーバーから送られたSyn/Ackに対して返答はしない。よってサーバーは偽ったIPアドレスからのAckを待ち続けることになるのだ。

 偽ったIPアドレスを使ってパケットを送ることは、簡単なツールを使うことによっていとも簡単に実現できてしまう。もし、このようなパケットが前回紹介したBotから発生したとするならば、その数はいとも簡単に数十万―数百万となり、サーバーのリソースは容易に枯渇してしまう。これがSynフラッドの恐ろしさだ。

 余談ではあるが、すべてのBotが偽ったIPアドレスを使ってSynを送った場合、このIPアドレスを持つ機器は、Syn/Ackを受けている被攻撃者のように見える。サーバーやクライアントは突然のSyn/Ackパケットに対して何も処理をしないため、直接の影響を受けることはないが、その量によってはネットワークが輻輳する原因にもなる。興味深いのは、Syn/Ackの送信元アドレスを見ることによって、今誰が攻撃にあっているかを識別できる点だ。これはDDoS観測の1つの手法ともなっている。

2012年末に来日した米アーバーネットワークス シニア・バイスプレジデントのマット・モイナハン氏。同社製品を採用する全世界の通信事業者の協力により、インターネットの全トラフィックの約30%を常時モニタリングしており、DDoS攻撃対策に役立てているという

 「UDPフラッド(UDP Flood)」は、同じく偽ったIPアドレスからの攻撃だが、さらに簡単な攻撃だ。UDPはコネクションレスの通信であるため、一方的にパケットを送り付けることができる。さらにUDPでは、最大1500バイトのパケットを正常の通信と偽って送れる。たとえば、わずか65000台のBotが一秒間に1500バイトのパケットを1パケット送っただけで、その通信量は約100Mbpsに達してしまう。

 もし10パケット送れれば1Gbpsになる。昨今のPCの能力は飛躍的に向上しており、Botとして操られた場合のパケット送信量は膨大だ。UDPフラッドは直接サーバーのリソースに影響を及ぼすことは少ないと考えられるが、その通信量からサーバーに接続されているネットワークの帯域が枯渇し、結果的にサーバーに対する通信ができなくなってしまう。

 偽ったIPアドレスからの攻撃には、「フラグメント攻撃(Fragment Attack)」というものもある。フラグメントとはIPフラグメントのことだ。データ長が長いパケットは分割されて宛先へ送信されるが、それを受け取ったサーバーは分割されたパケットを元のデータに戻す必要があり、メモリ上にパケットを溜め込んでいく。フラグメント攻撃は分割されたパケットを継続的にサーバーに送り込むことによって、サーバーのリソースを枯渇させることを目的としたものだ。

 今回紹介した3つの攻撃について、その1つ1つをパケット単位で見れば正常なIP通信と区別できない。この点こそが、DDoS防御の難しい理由の1つであり、つまりがIPの弱点といえるかもしれない。しかし、インターネットとはIPを使ったネットワークであり、この弱点を補う方法を今すぐに適用すべきであることは明白だ。

 次回は、さらに複雑なDDoS攻撃の種類について紹介しよう。

筆者紹介:佐々木 崇(ささき たかし)


アーバーネットワークス株式会社 日本オフィス SEマネージャー。2000年からシスコシステムズにてPre-sales SEとしておもにNTT東日本、東京電力を担当。2004年エラコヤネットワークスへ移籍し、DPIテクノロジーによるアプリケーション識別のソリューションを提案。2008年より現職


カテゴリートップへ

この連載の記事
ピックアップ