DoS攻撃とは
DoS攻撃(Denial of Service attack / サービス妨害攻撃)とは、標的とするサーバーやWebサイトに対して、大量のデータや処理要求(リクエスト)を送りつけたり、システムの欠陥を悪用したりすることで、サーバーに過剰な負荷をかけ、Webサイトの表示速度を極端に遅くしたりシステムを停止させたりする攻撃です。正規の利用者がサービスを利用できない状態(サービス不能状態)に陥らせることを目的としています。なお、1台のPCから行うものを「DoS攻撃」、乗っ取った多数のPC(ボットネット)から一斉に行うものを「DDoS攻撃(分散DoS攻撃)」と呼びます。
具体例
特定のWebサイトの「リロード(更新)ボタン」を、自動プログラムを使って1秒間に数万回も連続で押し続け、サーバーの処理能力を限界まで使い果たすことで、他の一般のお客さんがそのサイトに全くアクセスできない状態にしてしまう営業妨害行為。
[攻撃用プログラム] ===(大量のリクエストを一斉送信)===> [標的サーバー] (負荷が100%になりダウン)\n ^\n |\n[一般の利用者] ----------------(アクセスできない)------------+
もう少し詳しく
DoS攻撃(サービス妨害攻撃)は、システムの可用性を破壊することを目的に行われます。一般的なサイバー攻撃のように情報を盗み出すのではなく、システムの活動そのものを麻痺させることに特化しています。DoS攻撃には、主に「フラッド型(大量パケット送信)」と「脆弱性突入型(バグ利用)」の2つのアプローチがあります。
・フラッド型: サーバーが一度に処理できる限界を超える大量のトラフィックを送りつける攻撃です。代表的なものに、TCP接続の開始手続きである3ウェイ・ハンドシェイクの隙を突く「SYNフラッド攻撃」があります。これは接続要求(SYN)だけを大量に送り、接続完了(ACK)を返さないことで、サーバー側の応答待ちリソースを枯渇させます。また、Webサーバーへひたすらリクエストを送る「HTTP GETフラッド(F5アタックなど)」もこれに含まれます。
・脆弱性突入型: システムやネットワーク機器のプログラムの欠陥(バグ)を利用し、不適切なデータ(例えばサイズが異常に巨大なパケットや、規格外のデータ構造)を送りつけることで、システムを強制終了(フリーズや強制再起動)に追い込む攻撃です。
近年では、攻撃元を1台に特定しづらくするために、世界中の無数のPC(マルウェアに感染したボット)を遠隔操作して同時に一斉攻撃を仕掛ける「DDoS攻撃(Distributed Denial of Service:分散サービス妨害攻撃)」が主流となっており、その規模は年々巨大化しています。また、DNSサーバーの仕様を悪用し、少ない送信量から標的に対して何十倍もの応答を反射させて送りつける「DNSアンプ攻撃(リフレクション攻撃)」といった手法も多用されています。
試験でのポイント
試験において「DoS攻撃・DDoS攻撃」は、その特徴や用語の定義、および攻撃への対策について問われます。特に以下の項目を押さえておきましょう。
・定義の確認: 「大量のデータ」「リクエストの過剰送信」「サービスの利用妨害(可用性の侵害)」というキーワードがあればDoS/DDoS攻撃に該当します。
・ボットネット(Botnet): DDoS攻撃を仕掛ける際、ハッカーが遠隔操作用のマルウェアである「ボット」に感染させた多数のPCを組織化したネットワークのことです。ハッカーはC&C(Command and Control)サーバーと呼ばれる指令用サーバーを介してボット群に一斉送信の命令を出します。
・対策技術:
1. IPアドレス制限(レートリミット): 同一の接続元IPアドレスから短時間で異常な数の要求があった場合、一時的に接続を遮断する設定をファイアウォールやルーターに行います。
2. WAF(Web Application Firewall)の導入: Webアプリケーション層(レイヤー7)での不正なアクセスパターンを検知して防御します。
3. CDN(コンテンツ配信ネットワーク)の活用: 大量アクセスを世界各地のキャッシュサーバーで分散して受け止めることで、本番サーバーのダウンを防ぎます。
試験問題では、「大量のデータを送信して過負荷をかけ、可用性を損なわせる」という目的を正確に把握しておくことが得点に繋がります。
関連する用語
情報セキュリティの3要素の一つで、DoS攻撃によって最も損害を受ける「可用性」、DDoS攻撃で遠隔操作されるゾンビ端末の役割を持つ「ボット」、通信を制御して不正アクセスを拒否する「ファイアウォール」などがあります。