DoS攻撃(Denial of Service)とは?初心者でもわかるセキュリティ解説
生徒
「先生、DoS攻撃ってよく聞くんですが、具体的にどんな攻撃なんですか?」
先生
「DoS攻撃(Denial of Service)の読み方はドス攻撃(ドスコウゲキ)といい、サービスを利用できなくする攻撃のことです。簡単に言うと、サーバやネットワークに負荷をかけて、正常な利用者が使えなくなる状態を作り出すんですよ。」
生徒
「なるほど、つまりインターネットサービスを止めてしまうってことなんですね?」
先生
「そうです。例えば、ショッピングサイトやオンラインゲームにDoS攻撃が仕掛けられると、利用者がログインできなくなったり、商品購入ができなくなったりします。」
1. DoS攻撃とは?
DoS攻撃(ディーオーエスコウゲキ/読み方はドス攻撃)は、コンピュータやネットワークに過剰なリクエストを送り続けることで、サービスを利用できない状態にするサイバー攻撃の一種です。正式名称の「Denial of Service」は日本語で「サービス拒否」や「サービス不能」と訳され、文字通りシステムを正常に動作させないことを目的としています。インターネット上のWebサイトやサーバーに対して、処理能力を超える膨大なデータを送りつけ、サービス停止や著しい遅延を引き起こす代表的な脅威です。
未経験者向け:身近な例えで理解する
DoS攻撃を日常生活で例えると「お店の入り口に、買う気のない人が何千人も一気に押し寄せて、本当に買い物が必要な一般のお客さんが店に入れなくなってしまう状態」に似ています。店員さん(サーバー)がいたずら電話への対応に追われて、大切な注文電話に出られない状況も、典型的なサービス拒否の状態といえます。
近年のSEO(検索エンジン最適化)やWebサイト運営において、セキュリティ対策は欠かせない要素です。攻撃を受けてサイトがダウンすると、検索順位の低下やユーザーの離脱を招くリスクがあります。そのため、単なるIT用語としてだけでなく、ビジネスを守るための基礎知識として「何のために攻撃が行われ、どのような被害が出るのか」を正しく把握しておくことが重要です。
2. DoS攻撃の仕組み
DoS攻撃(ドス攻撃)がサービスを停止させる仕組みは、一言でいうと「ターゲットの処理能力の限界を意図的に超えさせること」にあります。コンピュータやサーバーには、一度に処理できるデータの量や、同時に接続できる人数に上限(リソースの限界)が決まっています。攻撃者はこの弱点を突き、短時間に膨大なリクエストやデータを送りつけることで、システムの心臓部であるCPUやメモリ、通信路であるネットワーク帯域をパンクさせます。
未経験者向けのわかりやすいイメージ
例えば、1秒間に10人分の注文しかさばけない人気ラーメン店があるとします。そこに、食べる気のないサクラが1秒間に1,000人も押し寄せ、店員さんに「メニューを見せて」「お水ちょうだい」とひっきりなしに声をかけ続けたらどうなるでしょうか。店員さんはサクラの対応だけで手一杯になり、本当にお腹を空かせてやってきた一般のお客さん(正規の利用者)は、店に入ることすらできなくなります。これがDoS攻撃によるサービス停止のメカニズムです。
この攻撃には大きく分けて2つのパターンがあります。一つは単一のコンピュータから攻撃を行う「DoS攻撃」です。そしてもう一つは、ウイルスなどで乗っ取った世界中の大量のデバイスから一斉に牙を向く「DDoS攻撃(分散型サービス拒否攻撃)」です。特に後者のDDoS攻撃は、攻撃元が分散しているため特定が難しく、1台のサーバーでは太刀打ちできないほど大規模なトラフィック(通信量)を発生させるため、現代のインターネットにおいて非常に強力な脅威となっています。
3. DoS攻撃の種類
DoS攻撃にはさまざまな種類があります。大量の接続要求を送りつける単純な方法のほか、特定のプロトコルやサービスの弱点を突いて少ないパケットで障害を発生させる手法もあります。代表例として、ICMPやSYNを利用するフラッド攻撃、アプリケーションレイヤーを狙うHTTPフラッド、リソースを消耗させるリソース枯渇攻撃などが挙げられます。
4. 被害例と影響
DoS攻撃の被害はサービスの停止だけに留まりません。業務の停止による売上減少、顧客の信頼低下、サポートコスト増大、場合によっては法的な問題に発展することもあります。金融機関やECサイト、オンラインゲームなど常時接続が重要なサービスは重大な影響を受けやすく、事業継続計画における重大リスクとなります。
5. DoS攻撃の検知と初動対応
攻撃を早期に検知するためには、平常時のトラフィックパターンを把握しておくことが重要です。通常と異なるIPアドレスの急増や特定URLへの短時間の大量リクエスト、高い帯域使用率などを監視し、異常を検知したら直ちにアクセスを遮断するなどの初動対応が必要です。ログを蓄積しておくことで、攻撃の解析や再発防止に役立ちます。
6. DoS攻撃に対する防御策
DoS攻撃への基本的な対策は次の通りです。外部のDDoS対策サービスを利用してトラフィックを吸収する、ファイアウォールやWAFで不正なリクエストを遮断する、レート制限を設けて短期間の大量要求を弾く、不要なサービスを停止して攻撃面を減らす、ソフトウェアや機器を最新に保ち既知の脆弱性を塞ぐ、などが挙げられます。複数の対策を組み合わせることが効果的です。
7. 実務での備えと事業継続
被害を最小化するためには事前準備が不可欠です。トラフィックの分散やCDNの導入、バックアップ回線やフェイルオーバーの設計、外部対策業者との契約、対応手順書や連絡体制の整備などを行います。攻撃が発生した場合の復旧手順や影響範囲の特定方法をあらかじめ定めておくことで、復旧までの時間を短縮できます。
8. ボットネットとDDoS攻撃
大規模なDDoS攻撃の多くはボットネットを使って行われます。ボットネットとはマルウェアに感染して遠隔操作される多数の端末の集合で、攻撃者はこれらを同時に動かして膨大なトラフィックを生成します。個人の機器がボットネットに組み込まれないよう、OSや機器の更新、セキュリティ設定の徹底が重要です。
9. 検知や防御に役立つ技術用語
重要なキーワードを押さえておきましょう。DoS攻撃(ドス攻撃)、DDoS攻撃(分散サービス拒否)、レート制限、ファイアウォール、WAF(ウェブアプリケーションファイアウォール)、CDN(コンテンツ配信ネットワーク)、フェイルオーバー、トラフィック分散などです。これらの用語を理解することで、設計や運用での対策が考えやすくなります。
10. 日常でできる注意点
利用者側でできる対策は限られますが、公式の運営情報やお知らせを確認する習慣を持つ、疑わしいアクセス障害時には安易に個人情報を入力しない、端末やルータのソフトウェアを最新に保つことなどが有効です。組織側は定期的な演習や監視強化で対応力を高めておきましょう。
11. 覚えておきたいポイント
最後に要点をまとめると、DoS攻撃はサービスを停止させる危険な攻撃であり、DDoSは多数の端末を使った大規模な攻撃を指します。対策としては外部対策サービス、ファイアウォール、レート制限、CDN、監視体制などを組み合わせ、被害を想定した事業継続計画を用意することが重要です。
基本情報技術者試験の理解を確実に定着させたい人や、 科目A・Bをまとめて過去問演習したい人に向けた定番の問題集です。
基本情報技術者 パーフェクトラーニング 過去問題集を見る※ Amazonアソシエイト広告リンク
まとめ
DoS攻撃はインターネットサービスに対する代表的な脅威であり、単なる一時的な障害ではなく、企業活動や利用者体験に大きな影響を与える重大な問題です。本記事では、DoS攻撃の基本的な意味から仕組み、種類、被害、検知方法、防御策、さらに実務における備えまでを体系的に整理しました。特に重要なのは、DoS攻撃は単独の技術で完全に防ぐことが難しく、複数の対策を組み合わせて総合的に対応する必要がある点です。
DoS攻撃の本質は「リソースの枯渇」にあります。サーバのCPUやメモリ、ネットワーク帯域といった有限の資源を攻撃者が大量に消費させることで、正規ユーザのアクセスを妨害します。このため、単にサーバの性能を上げるだけでは根本的な解決にはならず、アクセス制御やトラフィック分散といった設計段階からの対策が重要になります。また、DDoS攻撃のように多数の端末を利用した攻撃では、従来の単純な遮断では対応しきれないケースも増えており、CDNやクラウド型の防御サービスの活用が現実的な選択肢となっています。
実務においては、平常時の状態を正確に把握しておくことが極めて重要です。通常のトラフィック量やアクセス傾向を理解していれば、異常な挙動を素早く検知することができます。ログの蓄積や監視ツールの導入は、単なる運用作業ではなく、セキュリティ対策の基盤といえるでしょう。異常を検知した際には、迅速にアクセス制限やフィルタリングを実施し、被害の拡大を防ぐ初動対応が求められます。
また、DoS攻撃は技術的な問題だけでなく、ビジネスリスクとしても捉える必要があります。サービス停止による売上減少や顧客離れはもちろん、信頼の低下は長期的な影響を及ぼします。そのため、事業継続計画の一環としてDoS対策を位置付け、復旧手順や連絡体制を事前に整備しておくことが重要です。障害発生時に慌てて対応するのではなく、あらかじめシナリオを想定しておくことで、対応の質とスピードが大きく向上します。
日常的な対策としては、不要なサービスの停止、ソフトウェアの更新、セキュリティ設定の見直しなど、基本的な取り組みの積み重ねが効果を発揮します。特にボットネットの踏み台にならないための対策は、攻撃者側に加担しないという意味でも重要です。組織としては、技術面だけでなく運用面や教育面も含めた総合的なセキュリティ対策を行うことが求められます。
サンプルプログラムによる簡易的なアクセス制御の例
以下は、一定時間内のアクセス回数を制限するシンプルなレート制限の考え方を示したサンプルです。実際の運用では専用のミドルウェアやWAFを利用しますが、基本的な仕組みを理解するための参考として確認してみてください。
import java.util.HashMap;
import java.util.Map;
public class RateLimiterExample {
private static final int LIMIT = 5;
private static final long TIME_WINDOW = 10000;
private static Map<String, Integer> requestCount = new HashMap<>();
private static Map<String, Long> requestTime = new HashMap<>();
public static boolean allowRequest(String ip) {
long currentTime = System.currentTimeMillis();
requestTime.putIfAbsent(ip, currentTime);
requestCount.putIfAbsent(ip, 0);
if (currentTime - requestTime.get(ip) > TIME_WINDOW) {
requestTime.put(ip, currentTime);
requestCount.put(ip, 0);
}
int count = requestCount.get(ip);
if (count >= LIMIT) {
return false;
}
requestCount.put(ip, count + 1);
return true;
}
public static void main(String[] args) {
String ip = "192.168.0.1";
for (int i = 0; i < 10; i++) {
if (allowRequest(ip)) {
System.out.println("アクセス許可");
} else {
System.out.println("アクセス拒否");
}
}
}
}
このように、一定時間内のアクセス数を制御することで、過剰なリクエストによる負荷を軽減することができます。実際のシステムではさらに高度な判定や分散処理が加わり、より強固な防御が実現されます。
生徒
「今回の内容で、DoS攻撃は単なるアクセス集中ではなく、意図的にサービスを止める攻撃だと理解できました。」
先生
「その通りです。特に重要なのは、リソースを消費させることで正規利用者を排除するという点ですね。」
生徒
「DDoS攻撃になると複数の端末から攻撃されるので、さらに防ぐのが難しくなるんですね。」
先生
「はい。そのため、単一の対策ではなく、レート制限やファイアウォール、CDNなどを組み合わせることが重要になります。」
生徒
「事前に監視やログを準備しておくことも大事だと分かりました。」
先生
「良いポイントですね。平常時の状態を知っているからこそ異常に気付けるのです。」
生徒
「技術だけでなく、事業継続の視点でも対策が必要なのが印象的でした。」
先生
「まさにその通りです。セキュリティはビジネスと密接に関わる分野です。今回学んだ内容を実務でも意識していきましょう。」