「.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
DoS(Denial of Service)攻撃
影響 †
システム・リソース、ネットワーク帯域の枯渇によるシステムダウン
攻撃手法 †
Stream Flood攻撃 †
- 過剰なパケットでネットワークやサーバへ負荷をかける。
- 偽の送信元IPアドレス、ポート、RSTフラグが設定されたパケットを大量送信する。
SYN Flood攻撃 †
- 3ウェイ・ハンドシェイクの開始のSYNを送って放置する(SYN ACKを無視)。
- すると、サーバは、タイムアウトまでリソースを保持しておく必要がある。
- このSYNを短時間に大量送信することでサーバのメモリを大量消費させる。
※なお、FINでも同じようなことが出来るらしい(FIN flood攻撃)。
ACK Flood攻撃 †
- ACKをいきなり送信するため、パケットは単に廃棄されて接続拒否(RST)を返す。
- しかしパケット廃棄を大量に行うため、同様にリソース枯渇を引き起こす。
Connection Flood、Connection Exhaustion攻撃 †
- システム・リソースが枯渇するまで、Connection確立を続ける。
- アドレス偽装はできないがターゲットに確実に影響を与える可能性が高い手法。
UDP Flood攻撃 †
- Connection FloodをUDPパケットで行う。
- ランダム・ポート・フラッド攻撃
- サーバのランダムなポートに対してUDPパケットを大量に送信する。
- サーバは以下を処理するため、リソースを消費する。
- そのポートで待機しているアプリケーションを繰り返し確認し、
- アプリケーションが見つからない場合、Destination Unreachable(ICMP)応答をする。
- 大きなサイズのUDPパケットを大量に送信することで、
送信先は大量の処理をするためにリソースを消費する。
- 逆に、小さなパケットのデータを大量に送信することで、
ネットワークデバイス(特にF/W)に負荷をかけることもできる。
ICMP(ping) Flood攻撃 †
Connection FloodをICMP(ping)パケットで行う。
対策 †
Stream Flood攻撃 †
F/W、機器での帯域制限。
SYN Flood攻撃 †
ACK Flood攻撃 †
Connection Flood、Connection Exhaustion攻撃 †
- ソケット数、TCPキューを増やす。負荷分散。
- 同一IPからの接続数制限、パケットをF/Wで遮断。
UDP Flood攻撃 †
ICMP(ping) Flood攻撃 †
- ICMPサービスの停止
- F/W、機器での帯域制限。
その他 †
DDoS(Distributed Denial of Service) †
影響 †
DoSと同じ。
攻撃手法 †
- 大量のマシンから1つのサービスに、一斉にDoS攻撃を仕掛ける。
- DoSを踏み台サイトのボット(ボットネット)から行う。
対策 †
- 各種リソースを増やす。
- 攻撃元IPからの(アドレス偽装されている)パケット、
ブロードキャスト・パケット、不要なICMP、UDPをF/Wで遮断。
DRDoS(Distributed Reflection Denial of Service) †
影響 †
DoSと同じ。
攻撃手法 †
- 送信元アドレスを攻撃対象のアドレスに偽装したパケットを
多数のコンピュータに送信し、その応答を攻撃対象に集中させるDDoS攻撃。
- 利用可能なパケットの例
- TCP:
- SYN → SYN/ACK
- SYN → RST
- ACK → RST
- DATA → RST
- NULL → RST
- UDP:
- UDP → プロトコル依存
- UDP → ICMP port unreachable
- ICMP:
- echo request → echo reply
- timestamp request → timestamp reply
- address mask request → address mask reply
- その他
- DNS query → DNS reply
- IP pkt → ICMP time exceeded
DNSリフレクション(DNS amp)攻撃 †
- 踏み台となったDNSサーバの負荷が高まりサービス不能状態となる場合もある。
- 攻撃手法
- 攻撃に加担させるDNSサーバ宛にクエリを送る。
- 発信元アドレスを最終的なターゲットのホストIPに詐称
- 応答メッセージが大きくなるようにする。
- クエリを受け取ったDNSサーバは、詐称された発信元アドレスに応答を返す。
Smurf攻撃(ICMP) †
上記をICMP echo requestのReflectionで行う DRDoS 攻撃
- 攻撃手法
攻撃者は発信元アドレスを最終的なターゲットのホストIPに詐称し
ICMP echo requestでブロードキャスト・アドレスを使用して行う。
NTPリフレクション攻撃 †
- Network Time Protocol(NTP)のmonlist 機能を使った DRDoS 攻撃
- monlist 機能はNTPサーバが過去にやり取りした600件のアドレスを返す機能。
- 攻撃手法
送信元IPアドレスを偽装して要求を大量送信することで、対象にDoS攻撃が可能。
- 対策
- monlist 機能を無効にする
- F/W(monlist)
Slow HTTP DoS攻撃 †
比較的少ないパケット数で長時間に渡りTCPセッションを占有する。
TCPの問題を突いた攻撃方法で、HTTP以外のプロトコルでも実行し得る。
Slow HTTP Headers Attack †
待機時間を挟みながら、長大なHTTPリクエストヘッダを送信し続ける
Slow HTTP POST Attack †
待機時間を挟みながら、長大なPOSTペイロードを送信し続ける
Slow Read DoS Attack †
小さなTCPウィンドウサイズを指定して、HTTPレスポンスを
少しずつ受信することでセッションの継続時間を引き延ばす攻撃手法。
その他、単純に負荷をかけるDoS †
メールボム †
メールの大量送信して、メールサーバ(POP/SMTPやIMAP)に負荷をかける。
HTTP GET/POST Flood攻撃 †
HTTP GET/POSTを大量送信して、Webサーバに負荷をかける。