情報セキュリティ対策|SYN Flood攻撃とは?

SYN Flood攻撃とは何か

セキュリティの話題で、確実に登場する攻撃手法に、DoS攻撃があります。

DDoS攻撃は、多数のコンピュータが攻撃を行いますが、
DoS攻撃は基本1台のコンピュータによる攻撃になります。

今回は、そのDoS攻撃の定番である、SYN Flood攻撃についてご紹介してみたいと思います。

3ウェイハンドシェイクのおさらい

SYN Flood攻撃をご説明する前に、まず3ウェイハンドシェイクのおさらいをしなければなりません。

3ウェイハンドシェイクとは、
TCP特有の「コネクション」確立の形式で、データ送信の前段階で必ず行われる通信確認の仕組みです。

具体的には、
①クライアントが「SYN」パケットをサーバーへ送信する
②サーバーは「SYN/ACK」パケットをクライアントへ返す
③クライアントは「ACK」パケットをサーバーへ送信する
この3つが全て完了した時点で、ようやく「セッション」が確立します。

SYN Flood攻撃の説明にあたり、重要になるのは、
②の後にサーバーは「ACK」パケットの待ち状態になる、ということです。

SYN Flood攻撃の仕組み

SYN Flood攻撃の典型例は、送信元のIPアドレスを偽装することです。

偽装されたIPアドレスから送られた「SYN」パケットを受けたサーバーは、
「SYN/ACK」パケットを本来のIPアドレスを持つクライアントへ返信します。

しかし、はじめて「SYN/ACK」パケットを送られたクライアントは、
「ACK」パケットをサーバーへ送ることはありません。

つまり、永遠に「ACK」パケットの待ち状態になるサーバーは、
メモリが枯渇しダウンしてしまうのです。

IPアドレスの偽装は、簡単に実現できます。
SYN Flood攻撃の対策には、ファイアーウォールの設定やタイムアウト時間の設定が必須です。