DoS攻撃(SYN Flood・smurf)【情報処理安全確保支援士講座】

今回は、情報処理安全確保支援士の試験で問われるDoS攻撃について解説します。


DoS攻撃

DoS(Denial of Service)攻撃は日本語だと「サービス不能攻撃」「サービス拒否攻撃」などと呼ばれます。DoS攻撃はターゲットとなるサイトやサービスに対し、不正なパケットや膨大なパケットを送り付け、利用できない状態に陥れる攻撃の総称です。具体的には下記のような特徴を持ちます。
- CPUやメモリのシステムリソースに付加をかけ、サービス停止に追い込む
- 大量のパケットを送り、ネットワーク帯域を圧迫させる
- ホストのセキュリティホールを突いて、特定のOSやアプリケーションを異常終了させる

DoS攻撃の仕組みと対策を確認しましょう。具体的なDoS攻撃の種類は下記の通りです。
SYN Flood攻撃

SYN Flood攻撃は、TCPの接続開始要求のSYNパケットを大量に送り付け、正常なサービスの提供を妨害するものです。
攻撃者はターゲットホストでサービスを提供しているTCPポートに対し、送信元アドレスが偽装されたSYNパケットを次々に送信します。SYNパケットを受け取ったホストはSYN/ACKパケットを返して一定時間待ちますが、接続を確立するACKパケットは返ってきません。
次々にSYNパケットが送られてくるため、ホストは各SYNパケットをテーブルにセットしタイムアウトまで待ち続けることになります。結果的にホストはシステムリソースを使い尽くし、正当な接続要求が受け付けられなくなります。

- SYN CookieやSYN Floodプロテクション機能を持つOSやファイアウォールを用いる
- コネクション確立時のウェイトタイムを短くする
- ルータやスイッチによってSYNパケットの帯域制限を設ける
SYN CookieがTCP通信の正当性を確認するため、SYN/ACKパケットのシーケンス番号に埋め込まれるデータです。
SYN Cookie方式は、クライアントからSYNパケットを取った段階ではTCPソケットをオープンにせず、SYN CookieがセットされたSYN/ACKパケットをクライアントに返します。
正当な通信が確認できたらソケットをオープンし、TCPコネクションを確立するので、正当なコネクションが行われない限りリソースを圧迫しません。
UDP Flood攻撃
UDP Flood攻撃は、ターゲットホストのUDPポートに対し、サイズの大きなパケットを大量に送り付ける攻撃です。
また、UDP Flood攻撃は亜種としてサイズの非常に小さなUDPパケットを大量に送り続ける手法もあり、この場合はファイアウォールなどネットワーク機器に負荷がかかります。
UDPはコネクションレスのため、送信元アドレスの偽装が容易で攻撃元もほぼ確実に偽装されているため、攻撃者の特定は困難です。

- 不要なUDPサービスを停止する
- 不要なUDPへのアクセスはファイアウォールで遮断する
- ルータやスイッチでUDPパケットの帯域制限を実施する
ICMP Flood攻撃
ICMP Flood攻撃(Ping Flood攻撃)は、ターゲットホストに対してサイズの大きなICMP echo request(ping)を、大量に送り続ける攻撃です。
ICMPもUDP同様にコネクションレスのため、送信元アドレスの偽装が容易で攻撃者の特定が困難です。
- ルータやファイアウォールでICMPパケットを遮断する
- ルータやファイアウォールでICMPパケットの帯域を制限する
smurf攻撃

smurf攻撃は、送信元アドレスを偽装したICMP echo requestによって、ターゲットホストが接続されたネットワーク帯域をあふれさせる攻撃です。具体的には下記手順で実施されます。
- 攻撃者が最終的なターゲットとなるホストのIPアドレスを送信元アドレスにセットする。
- 偽装したターゲットのIPアドレスから、ネットワークセグメントのブロードキャストアドレスあてに、ICMP echo requestを送り付ける
- ICMP echo requestを受け取った各ホストは、偽装された送信元アドレス(ターゲット)に対して一斉にICMP echo replyを返す
応答を返すホストが多いほど、大量のパケットが送られターゲットホストのネットワークは輻輳状態に陥ります。

- ルータやファイアウォールでICMPパケットを遮断する/li>
- ルータやファイアウォールでICMPパケットの帯域制限を行う
- ブロードキャストアドレスあてのパケットを遮断する
Connection Flood攻撃
Connection Flood攻撃は、ターゲットホストのTCPポートに対し、次々にコネクションを確立し大量のプロセスを起動し、ソケットを占領する攻撃です。
ターゲットホストのコネクションに制限がある場合、Connection Flood攻撃によってソケットを占領されるリスクがあります。
Connection Flood攻撃はコネクションを確立するため、送信元アドレスの偽装はほぼ困難です。ただし、攻撃の規模次第でターゲットホストに確実な影響を与えられる可能性が高まります。
- ホストのソケットオープン数やTCPキューの割り当て数を増やす
- ホストの設定で同じIPアドレスからの同時接続数を制限する
- ホストを冗長構成にし、ロードバランサで負荷分散をする
- ルータやファイアウォールで攻撃元アドレスからパケットを遮断する
EDoS攻撃
EDoS攻撃(Economic Denial of Service)は、ストレージ容量やトラフィック量に応じて課金されるクラウドの特性を悪用し、利用している企業への経済的損失を狙って行われる攻撃です。
EDoSへの有効な対策は現在のところないと言われています。
DoS攻撃・例題
実際に例題を解いて問題に慣れていきましょう。
問1
ア:IPアドレスAを攻撃先とするサービス妨害攻撃
イ:IPアドレスAを攻撃先とするパスワードリスト攻撃
ウ:IPアドレスAを攻撃元とするサービス妨害攻撃
エ:IPアドレスAを攻撃元とするパスワードリスト攻撃
(ログイン後回答すると、ここに前回の正誤情報が表示されます)
問2
ア:TCP接続要求であるSYNパケットを攻撃対象に大量に送り付ける。
イ:偽装したICMPの要求パケットを送って,大量の応答パケットが攻撃対象に送られるようにする。
ウ:サイズの大きいUDPパケットを攻撃対象に大量に送り付ける。
エ:サイズの大きい電子メールや大量の電子メールを攻撃対象に送り付ける。
(ログイン後回答すると、ここに前回の正誤情報が表示されます)
DoS攻撃・まとめ
DoS攻撃はオーソドックスな攻撃で、押さえておくべきポイントです。DoS攻撃にもいくつか種類があるので、それぞれの特徴と対策も説明できるようにしておきましょう。
次回はDDoS攻撃について学習します。








ディスカッション
コメント一覧
まだ、コメントがありません