DNS(Domain Name System)はドメイン名(例: qiita.com )とIPアドレス(例: 18.65.207.34 )の紐づけを行い名前解決を行うサービスです。
DNSでの名前解決は、ブラウザを使わなくてもコマンド(nslookup, dig, hostなど)でできます。あとはIPひろばのようなドメイン名、IPから検索できるサイトもあります。
日常のWebブラウジングを快適にするハックとしてPC、スマホで使用するDNSをCloudflare(1.1.1.1)にするというものもあり、DNSは非常に身近な技術になっています。
DNS増幅攻撃(DNS reflection/amplification attack)
攻撃者は自分のIPを標的のIPに変更して様々なDNSにDNSクエリを送信します。各DNSは標的のホストに対してDNSレスポンスを返却します。これにより標的のホストのリソースを圧迫し、サービス不能を引き起こします。
検知
- 異常なUDP/53トラフィックの増加
- DNSリクエスト・レスポンス(UDP/ポート53)
- 応答サイズの異常
- DNSはリクエストによってレスポンスを大きくすることができる
対策
- オープンリゾルバを止める
- DNSサーバーで再帰(recursion)を無効化し、信頼できるクライアントのみ許可する
- 応答レートを制限
- DNSサーバーにResponse Rate Limiting(RRL)を導入し、同一クエリへの応答頻度を制限する。
- ルーター・ファイアウォールで送信元IPの正当性を検証