DoS攻撃の手法と対策[前編]

DoS攻撃の手口を知る

出雲 教郎
日本ラドウェア株式会社
2005/3/11



 フラッディングアタック

 いままで紹介した攻撃がスプーフィングやブロードキャストなどTCP/IPの特徴を悪用したものだったのに対して、フラッディングアタック(フラッディング攻撃)はかなり趣の異なる攻撃だ。

 フラッディング(Flooding:洪水、はんらん)という名前が示すとおり、この場合はパケットの数およびその通信の量が問題となる。一見正常なパケットおよび通信内容であるにもかかわらず、ターゲットとなったサーバに到底処理できないほどの大量の通信を発生させることにより、応答不能に追い込む攻撃だ。

 この攻撃の場合は、攻撃を仕掛ける側にも相当の処理能力が必要となるため、複数のホストから分散して攻撃するDDoS攻撃になるケースが多い。またコネクション型トランスポートサービスであるTCPよりも、コネクションレス型トランスポートサービスであるUDPが使われるケースが多いが、その理由はUDPの方が簡単に大量のトラフィックを発生させやすいことによる。TCPでは相手の応答を確認しながら通信するための機能やフローコントロールなどの高度な実装によるオーバーヘッドが大きいが、UDPではそれらの実装は省略されておりスループットという面だけではアタッカーにとって効率がいい。同様の理由でICMPも使われるケースが多い。

 これらは中継するネットワークインフラ側にとって正常な通信か攻撃によるものかを判別するのは非常に難しく、運用・管理する者にとって大変厄介な攻撃の一種である。

 SYNアタック

  SYNアタックはフラッディングアタックの一種ともいえるが、いくつかのバリエーションがあるため別立てで解説させていただく。SYNとは前述したとおりTCP通信におけるセッション確立のためのパケットだが、このSYNパケットを大量に送信し攻撃するのがSYNアタックだ(SYNフラッディングと呼ぶ場合もある)。

 図2にあるとおり、TCP通信においてはこのSYNパケットとACKパケットの交換により相手の状態を確認してからセッションを確立し、アプリケーションレベルのデータ交換が行われる。Webなどのクライアント/サーバ型のアプリケーションではまずクライアントからSYNパケットを送信し、それを受信したサーバはTCPソケットをオープン(=メモリ領域を確保)する。

図2 正常なTCP通信

 正常な通信ではその後ACKパケットを交換してアプリケーションのデータ通信に進むのだが、SYNアタックではこの仕組みを悪用してSYNパケットだけを大量にサーバに送信する。サーバはその都度TCPソケットをオープンするためCPU能力も使い、メモリも浪費する。しかし一向にその後の通信は来ないためサーバのメモリはそのまま確保され続け、また新たなSYNパケットが来ることにより最終的にサーバのリソースを使い切って応答不能にまで陥るのがSYNアタックだ。

 SYNアタックでは最初のSYNパケットだけを大量に送信するものと、SYN、SYN-ACK、ACKまでのハンドシェイクまでを行い、その後のアプリケーションレベルのデータを送受信しないものの2種類がある。

 ピングオブデス

 ピングオブデスは、前述したICMPプロトコルを使ったアプリケーションである「Ping」コマンドを使った攻撃であり、これも広義のフラッディングアタックの一種になる。

 UNIXなどでサポートされ始めた「Ping」コマンドはさまざまなパラメータをサポートしており、多種多様なICMPリクエストを送信することが可能だ。そのパラメータの一種にパケットサイズがあり、ユーザーの指定に応じて多様なサイズのICMPパケットを送受信できる。

 ピングオブデス攻撃はこの機能を悪用し、サーバに対してサイズの異常に大きいICMPパケットを大量に送信して攻撃する。

 現在のネットワークはOSIでいうところのデータリンク層(レイヤ2)においてイーサネットという技術をベースとしている。イーサネットでは基本的にデータサイズが約1500バイトに限られており、すべての通信は1500バイト未満のパケットに分割されて送受信されている。サーバではこのパケットサイズ分のデータを受信するたびにネットワークインターフェイスからCPUに対して割り込みが行われ、メモリにデータが転送される(図6)。

図6 イーサネットパケットのサーバ内部処理概要

 ピングオブデスでは65Kバイト以上のICMPリクエストを送信するため、受け取ったサーバ側では40回以上の割り込みとメモリへのデータ転送が発生する。これが大量に行われると、いくら高性能なサーバでもいつかは応答不能に陥るのは当然だ。

 F5アタック

 いままで紹介したDoSアタックがTCP/IPネットワークのネットワーク層やトランスポート層(OSIレイヤ3やレイヤ4)に特化した攻撃だったのに対して、F5アタックはアプリケーションレイヤ(OSIレイヤ7)でのフラッディング攻撃に当たる。

 IEをはじめとするポピュラーなWebブラウザでは「F5」キーがコンテンツの更新(リロード)に割り当てられている。この「F5」キーを何度も押下するとその回数分そのままWebサーバに対してコンテンツの配信要求(HTTPリクエスト)が送信される。この「F5」キーを連打する行為そのもの、もしくは同様な結果を招くプログラムによる攻撃をF5アタックと呼んでいる。

 このアタックで使われるHTTPリクエストは、Webページをキャッシュしないで要求できることを悪用するケースが多く、Webサーバ側としては大変な負担になる。また攻撃を仕掛ける方にも相当な処理能力が必要とされるため、ワームによって攻撃プログラムが広まるDDoS攻撃として実行されるケースが多い。1つ1つのHTTPリクエストは正規のものと見分けることが大変難しく、防御の難しい攻撃のうちの1つである。

 以上が代表的なDoSアタックの内容だ。次回はこれらのDoSアタックからサーバ、ネットワークを保護する最新の防御技術を紹介する。

3/3

DoS攻撃防御製品の仕組みと特徴


Index
DoS攻撃の手口を知る
  Page1
DoS/DDoSアタックとは
海外での被害状況
国内での被害状況
  Page2
DoSアタックの分類
ランドアタック
スマーフアタック
Page3
フラッディングアタック
SYNアタック
ピングオブデス
F5アタック

関連リンク
  DoS攻撃防御製品の仕組みと特徴

Profile
出雲 教郎(いずも のりお)

日本ラドウェア株式会社
技術部 部長

レイヤー4-7スイッチのリーディングカンパニーであるラドウェアにおいて、コンサルティングやトレーニングを主な業務とする技術部門を統括。

日本DEC時代に培ったとネットワークとサーバアプリケーションに関する深い知識を武器に、ラドウェアのロードバランサ、セキュリティスイッチの提案を主にキャリアと大手エンタープライズ向けに行っている。

Security&Trust記事一覧

TechTargetジャパン

Security&Trust フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH