DNS(Domain Name System)はインターネットを利用する上での最も基本となる仕組みの一つだが、このDNSの仕組みを悪用することで不正なWebサイトに誘導するなどする攻撃が相次いでいる。eSecurity Planetは7月25日、「How to Secure DNS|eSecurityPlanet」において、DNSを悪用した主な攻撃手法、それらの攻撃から身を守るための方法について伝えている。
通常、ユーザーはドメイン名を使用してWebサイトなどにアクセスしているが、実際にはドメイン名はプログラム内部でDNSによってIPアドレスに変換されている。攻撃者は、DNSにおけるドメイン名とIPアドレスの変換テーブルを改ざんすることによって、ユーザーを正規のサーバとは異なる偽のサーバに誘導しようとする。
ユーザーはあくまでも正規のドメイン名を使用しているので、改ざんに気付かず、機密データの送信などを行ってしまう可能性が高い。DNS攻撃は、データの盗難や改ざん、ランサムウェア攻撃といったサイバー攻撃の最初のステップとして利用されるケースが多い。
DNSに対する主な攻撃手法としては、次のようなものが挙げられている。
- DNSスプーフィングまたはDNSポイズニング - DNSキャッシュを誤った情報で埋めることことでユーザーを偽のIPにリダイレクトする
- DNSトンネリング - DNSリクエストに不正な信号を混ぜ込むことで通信経路の保護手段を回避する
- DNSハイジャック - DNSレコードを不正に変更することでユーザーを偽のIPにリダイレクトする
- DNSリフレクション - DNSサーバのトラフィックを増幅してサービス不能の状態にする。DNSに対するサービス拒否(DoS)攻撃の一種
- DNSフラッディング - DNSサーバに膨大な量のリクエストを送信することでサービス不能の状態にする。DNSに対するDoS攻撃の一種
これらのDNS攻撃による被害を防止する手法・技術としては、次のものが挙げられている。
- DoH(DNS over HTTPS)およびDoT(DNS over TLS)
- DNSCrypt
- DNSSEC(DNS Security Extension)
DNS攻撃に対抗するための効果的な手段は、DNSへの問い合わせを暗号化することである。DNSによる名前解決は通常のデータ通信が確立するよりも前の段階で行われるため、SSHやHTTPSなどの暗号化通信技術を使用していたとしても、DNSのリクエストやレスポンスに対する改ざんや盗み見といった攻撃を防ぐことができない。そこで、DNSのクエリおよびレスポンスをHTTPS通信を利用して行うことで、盗み見や改ざんを防止するのがDoHである。そして、暗号化通信にHTTPSではなくTLSを使用するのがDoTになる。
DNSCryptも、DNSのトラフィックを暗号化する技術の一つである。DoHやDoTが既存の暗号化通信技術の上にDNSトラフィックを乗せるのに対して、DNSCryptは独自の暗号化プロトコルを使用するため、他のHTTPSやTLSのトラフィックと区別することができる。
DNSSECは公開鍵に基づくデジタル署名を使用してリクエストやレスポンスの改ざんを防止する技術である。特にDNSポイズニングを軽減するのに効果的な手法とされている。
eSecurity Planetは、これらのDNS攻撃手法やその防御方法について詳しく解説している。また、DNS攻撃に対する適切な保護手段が実施されているかを確認するために、定期的にDNSペネトレーションテスト(侵入テスト)を実行することも推奨している。