DRDoS攻撃
送信元IPアドレスを標的のIPアドレスに偽装した要求を多数のサーバに送り、その応答パケットを標的に集中させてサービスの利用を妨げる攻撃。応答が要求より大きい場合は、標的に届く通信量も増幅される。
イマシルちゃんの解説
DRDoS攻撃は、無関係なサーバからの返事を標的に集中させて、サービスの利用を妨げる攻撃だよ。
攻撃者は送信元を標的のIPアドレスに偽装した要求を、多数のサーバへ送るんだ。
サーバは要求に書かれた送信元へ返事をするから、標的には頼んでいない通信が押し寄せちゃう。
その量が回線や処理能力の限界を超えると、正規の利用者の通信まで届きにくくなるの。
小さな要求に大きな返事をするサーバが悪用された場合は、攻撃者が送った量以上の通信を標的に浴びせられてしまうんだ。
この解説はわかりやすかったですか?
より深い解説
定義
DRDoS(Distributed Reflection Denial of Service)攻撃は、DoS攻撃の一種で、第三者のサーバを「反射板(リフレクタ)」として使う攻撃である。攻撃者は、送信元IPアドレスを標的のIPアドレスに偽装した要求を多数のサーバに送り、サーバからの応答パケットを標的に集中させる。
仕組み
- 攻撃者が、送信元を標的のIPアドレスに偽った問合せを作る
- その問合せを、インターネット上の多数のサーバ(DNSサーバ、NTPサーバなど)に送る
- 各サーバは、問合せの送信元、つまり標的に応答を返す
- 標的には、頼んでもいない大量の応答が届き、回線や処理能力が使い果たされる
攻撃者から見ると、自分のアドレスを隠せるうえ、多数のサーバの力を借りて攻撃できる。
増幅(アンプ)
小さな要求で大きな応答が返るプロトコルを悪用すると、攻撃の量が何倍にも増える。これを増幅攻撃(アンプ攻撃)という。悪用されやすいのは、送信元を偽装しやすいUDPのプロトコルである。
| 悪用されるもの | 内容 |
|---|---|
| DNS | オープンリゾルバ(誰からの再帰的な問合せにも答えるDNSサーバ)に、大きな応答が返る問合せを送る |
| NTP | 古い実装の monlist 機能(最近の通信相手の一覧を返す) |
| memcached | 外部に公開されたキャッシュサーバ。非常に大きな増幅率になる |
| SSDP、CLDAPなど | 家庭用機器やディレクトリサービスのプロトコル |
対策
| 立場 | 対策 |
|---|---|
| ネットワークの管理者・ISP | 送信元IPアドレスを偽ったパケットを外に出さない(イングレスフィルタリング、送信元アドレス検証) |
| DNSサーバの管理者 | 再帰的な問合せを受け付ける範囲を、自組織の利用者に限定する(オープンリゾルバにしない) |
| NTPなどの管理者 | 不要な機能を無効にし、外部からの問合せを制限する |
| 標的になる側 | 回線の上流で攻撃を吸収するDDoS対策サービスやCDNを使う |
DNSリフレクタ攻撃の踏み台にされないための構成
DNSのキャッシュサーバ(フルサービスリゾルバ)と権威DNSサーバを1台で兼ねていると、インターネットからの問合せに答えるために、再帰的な問合せまで受け付けてしまいやすい。そこで、次のように役割を分ける。
| サーバ | 受け付ける問合せ |
|---|---|
| 権威DNSサーバ | インターネットからの、自組織のゾーンについての問合せだけに答える。再帰的な問合せは受け付けない |
| キャッシュDNSサーバ | 自組織の利用者からの問合せだけに答える。インターネット側からは問い合わせられないようにする |
DNSSECは応答の正しさを確かめる仕組みで、DNSラウンドロビンは負荷分散の仕組みである。どちらも、踏み台にされることを防ぐ対策ではない。
DDoS攻撃との関係
DRDoS攻撃は、多数のサーバから一斉に攻撃が届くため、DDoS攻撃の一種でもある。ボットネットの機器から直接攻撃するDDoSとは、第三者のサーバを反射に使う点が異なる。