DNSインフラを狙う攻撃(DNSキャッシュポイズニング/DNS水飲み場)
背景と概要
「DNS(Domain Name System)」は、人間が理解できるドメイン名(`example.com`)を、コンピュータが理解できるIPアドレスに変換する、インターネットの根幹を支える電話帳のような役割を果たしています。
すべての通信の起点となるプロトコルであるため、DNSインフラが攻撃者によって改ざん・悪用された場合、個々の端末やサーバーのセキュリティ対策を迂回して、ユーザー全体を不正な環境へ誘導することが可能となります。
DNSを脅かす主な攻撃手口
DNSの応答データや名前解決の仕組みそのものを汚染・悪用する手口が存在します。
1. DNSキャッシュポイズニング
DNSキャッシュサーバーに対して偽の名前解決応答を送り込み、キャッシュ情報を一時的に汚染(ポイズニング)する攻撃です。これにより、正しくURLを入力したユーザーであっても、自動的に攻撃者が用意した偽サイトへ誘導されます。
2. DNS水飲み場(DNS hijacking / Subdomain Takeover)
企業が過去に使っていたサブドメイン(例: `campaign.example.com`)の外部サービス参照設定(CNAME)が残ったまま外部サービスを解約した際、攻撃者がその外部サービスのドメインを先回りして取得し、企業のサブドメインの所有権を乗っ取る(Takeover)手口です。
3. DNSトンネリングによるデータ漏えい
前述の通り、DNSクエリのテキスト領域を利用してファイアウォールを通過させ、機密データを外部へ細切れに送信する手法です。
DNS侵入によるビジネス被害と信頼性の喪失
企業の公式サイトやログイン画面へアクセスしたユーザーが精巧な偽サイトへ強制転送されるため、大規模なアカウント情報強奪やクレジットカード被害が発生します。ドメイン全体の信頼性が失われ、ブラウザによって「危険なサイト」として警告表示されるリスクも生じます。
DNSインフラ保護に向けた多層防御策
通信の改ざん防止とゾーン管理の厳格化が必要です。
1. DNSSEC(DNS Security Extensions)の導入
DNS応答データに公開鍵暗号によるデジタル署名を付与する「DNSSEC」を適用し、受信した名前解決データが改ざんされていないか検証できる仕組みを構築します。
2. 外部公開サブドメイン・CNAMEの定期棚卸し
使われなくなった特設サイトやキャンペーン用サブドメインのDNSレコードを速やかに削除し、サブドメインテイクオーバーのリスクを未然に防ぎます。
3. DNSセキュリティ(DNSロギング・プロキシ)の活用
`Cisco Umbrella` などのサービスを導入し、不審なドメインへの名前解決リクエストやDNSトンネリングの通信挙動を監視・自動遮断します。