サービス拒否攻撃
大量のトラフィックによってサービスが停止する仕組みを学びます。
「サービス拒否攻撃」はCoddyKit上の無料Network+ Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはNetwork+ Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Network+ Academyコースには全4レッスンが含まれています。
DoS攻撃とは
DoS(Denial-of-Service)攻撃は、サービスに過剰な負荷をかけ、正規のユーザーが利用できない状態にしようとします。データを盗む攻撃とは異なり、DoSはCIAトライアドの3本目の柱である可用性を狙います。
処理できる量を超える通信やリクエストをサーバーやネットワークに送り続けることで、攻撃者はリソースを枯渇させ、正規のユーザーが接続できない状態にします。
DoSとDDoSの違い
通常のDoSは単一の送信元から発生します。DDoS(Distributed Denial-of-Service)は、多くの場合数千台にも及ぶ複数の送信元から同時に発生するため、阻止がはるかに困難です。
攻撃元のIPアドレスを1つ遮断するのは簡単ですが、数万もの分散したアドレス(その多くは乗っ取られた無関係のマシン)からの通信を遮断することが、DDoSを危険にする本当の課題です。
ボットネット
DDoS攻撃は通常、攻撃者が遠隔操作する、マルウェアに感染したコンピューターやIoTデバイスのネットワークであるボットネットによって実行されます。感染した各マシンはボットまたはゾンビと呼ばれ、命令に応じて攻撃通信を送信します。
所有者は、自分のデバイスが攻撃に加担していることに気付いていない場合がほとんどです。カメラなどの安全性が低いIoT機器によって、非常に大規模な攻撃が可能なボットネットが作られています。
ボリューム型攻撃
ボリューム型攻撃は、膨大な通信を標的に送り、インターネット帯域幅を飽和させます。回線が無駄な通信で埋まると、正規の通信は通過できません。
例として、UDPフラッドやICMP(ping)フラッドがあります。対策は、十分な容量を確保するか、上流でスクラビングを行い、フラッドが回線を埋める前に吸収またはフィルタリングすることです。
プロトコル攻撃
プロトコル攻撃は、プロトコルの仕組みを悪用してサーバーやデバイスのリソースを枯渇させます。典型例がSYNフラッドです。攻撃者は多数のTCP接続を開始(SYNパケットを送信)しますが、接続を完了させず、サーバーの接続テーブルを埋め尽くします。
サーバーは完了しないハンドシェイクを待ち続け、やがて新しい接続を受け付けられなくなり、正規のユーザーへのサービスを拒否します。
アプリケーション層攻撃
アプリケーション層攻撃は、複雑な検索やページの繰り返し読み込みなど、処理コストの高い、一見正当なリクエストを使ってソフトウェア自体を狙います。必要な帯域幅がはるかに少ないため、より気付かれにくい攻撃です。
各リクエストが正常に見えるため、攻撃通信と正規ユーザーの通信を区別するのは困難です。そのため、正規の訪問者に影響を与えずに検知・フィルタリングすることが特に難しくなります。
増幅攻撃
増幅攻撃は、攻撃者の攻撃力を何倍にもします。攻撃者は、偽装した送信元アドレス(被害者のアドレス)を付けた小さなリクエストを、設定不備のあるDNSサーバーやNTPサーバーなどに送り、はるかに大きな応答を返させます。
小さなリクエストが被害者宛ての巨大な応答を引き起こすため、攻撃者はスプーフィングによって身元を隠しながら、通信量を何倍にも増幅できます。
DoSを検知する
DoSの兆候には、突然の通信量の急増、サービスの遅延やタイムアウト、異常に高いリソース使用率、多数のアドレスからの大量の接続などがあります。監視とベースラインにより、異常な急増をすばやく発見できます。
迅速な検知が重要です。通常の通信量の増加と攻撃を早く見分けるほど、早く緩和策を開始でき、停止時間を抑えられます。
DoSへの対策
対策は多層化します。
- レート制限は、送信元ごとのリクエスト数に上限を設けます。
- ファイアウォールとIPSは、既知の攻撃パターンをフィルタリングします。
- クラウドDDoSスクラビングサービスは、上流で大規模なフラッドを吸収します。
- CDN(Content Delivery Networks)は、負荷を多数のサーバーに分散します。
インターネット上でスプーフィング対策のフィルタリングを行うことも、増幅攻撃を発生源で減らすのに役立ちます。
DoSを阻止しにくい理由
DoSが特に困難なのは、攻撃通信が正規の通信に見えることがあり、無数の送信元から到来する可能性があるためです。すべてを単純に遮断すると、自分でサービスを拒否することになってしまいます。
最も回復力のある防御は、十分な容量、上流でのスクラビング、適切なフィルタリング、インシデント対応計画を組み合わせることです。完全な防止は不可能であり、現実的な目標はレジリエンスの確保だと理解する必要があります。
全体のまとめ
DoSは標的に過剰な負荷をかけて可用性を攻撃し、DDoSはボットネットを介して多数の送信元から同じことを行います。種類には、ボリューム型、プロトコル(SYNフラッドなど)、アプリケーション層、増幅攻撃があります。対策には、レート制限、ファイアウォール、CDN、クラウドスクラビングに加え、増幅を抑えるスプーフィング対策を組み合わせます。
理解度チェック
DoSに関する知識を確認しましょう。
振り返り
DoSはサービスに過剰な負荷をかけて可用性を奪い、DDoSはボットネットから多数の送信元を使って攻撃します。攻撃の種類には、ボリューム型フラッド、SYNフラッドなどのプロトコル攻撃、隠密性の高いアプリケーション層攻撃、スプーフィングを利用した増幅攻撃があります。対策では、レート制限、ファイアウォール、CDN、クラウドDDoSスクラビングを多層化します。
よくある質問
「サービス拒否攻撃」レッスンは無料ですか?
はい。「サービス拒否攻撃」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Network+ Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Network+ Academyコースには全4レッスンが含まれています。
「サービス拒否攻撃」で何を学びますか?
大量のトラフィックによってサービスが停止する仕組みを学びます。 ブラウザで直接実行するハンズオンコードでNetwork+ Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Network+ Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのNetwork+ Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「サービス拒否攻撃」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このNetwork+ Academyレッスンでコードを書いて実行できますか?
はい。すべてのNetwork+ Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。