保護DNSによるセキュリティ対策
みなさんこんにちは。シーイーシーセキュリティオペレーションセンター(CEC SOC)セキュリティアナリストの吉田です。
みなさんがインターネットを利用するにあたり欠かせないシステムとして、「DNS」があります。DNSは、インターネット上のIPアドレスとドメイン名の紐づけを管理し、ドメイン名からIPアドレスを特定します。また、特定したIPアドレスを用いて、Webサイトが設置されたサーバーへアクセスすることで、Webサイトが表示されます。
上述のとおり重要な役割を持つDNSですが、元々セキュリティを考慮し作られたプロトコルではなく、さらにDNSのトラフィックは多くの場合、検査なしにセキュリティシステムを通過しており、十分に監視できていない環境は多いように感じます。
そこで、DNSのセキュリティを強化するため、近年新たに「保護DNS」という仕組みが普及しつつあります。
保護DNSとは?
保護DNSとは、DNSがドメイン名からIPアドレスを特定する通信(以下、DNSクエリ)を監視し、不正な通信をブロックします。
保護DNSは主に下記3つの機能を備えています。
・不審なDNSクエリ(DNSトンネリングなど)をブロック
・不審なドメイン(フィッシングやマルウェア配布サイトなど)へのアクセスをブロック
・ドメイン生成アルゴリズム(DGA)によって生成されたドメインへのアクセスをブロック
HTTP/HTTPS の通信を監視するURLフィルタリングと近い機能にも見えますが、保護DNSは、HTTP/HTTPSのリクエストが発生する前に不正な通信をブロックすることができるため、URLフィルタリングやその他セキュリティ対策製品と併せた多層防御の観点でも有効と言えます。
保護DNSについて、米国では、国家安全保障とサイバーセキュリティに関連する重要な組織である、国家安全保障局(NSA)とCybersecurity and Infrastructure Security Agency(CISA)にて推奨されています。また、日本でも政府がサイバー防御強化の取り組みとして保護DNSの導入を図るなど、セキュリティ対策の一つとして注目を集めています。
DNSクエリについて
前項にて、保護DNSはDNSクエリを監視し、不正な通信をブロックすると記載しました。
では、実際にDNSクエリではどのような情報が含まれているのでしょうか。
DNSクエリログの例を基に説明します。
① 通信が発生した日時
② リクエスト先のドメイン
③ リクエストにて指定されたDNSレコードタイプ
④ レスポンスコード
※今回の例であれば、リクエストに対してエラーなしでレスポンスを返している
⑤ 通信に使用されたレイヤ4プロトコル
※UDPもしくはTCPを使用
⑥ 名前解決を行ったDNSサーバーのアドレス
⑦ 名前解決を行ったDNSサーバーへリクエストを発信したクライアントのIPアドレス
DNSクエリで取得できる内容はDNSサーバーで使用するソフトウェアによって異なりますが、上記の図に記載している情報はほとんどのDNSサーバーソフトウェアで取得できます。
保護DNSによって防げる脅威
保護DNSは「サイバーキルチェーン」※に基づいて設計されており、「サイバーキルチェーン」の7段階の全フェーズを網羅しています。
さらにURLフィルタリングやウイルス対策、EDRなどのその他セキュリティ対策製品と組み合わせることで、より強固なセキュリティを実現できると考えます。
※サイバーキルチェーンとは
攻撃者が標的を決定し、目的を達成するまでのサイバー攻撃の内容を7段階に分類して体系化したものです。
まとめ
保護DNSは、海外だけではなく、国内でも導入しようとする動きが高まっています。また、保護DNSは比較的導入が簡単であることもメリットの一つであるため、今後サービスプロバイダーなどが保護DNSサービスを提供し、需要が増えてくることが予測できます。
しかし、保護DNSのみですべての脅威からユーザを守ることは困難であるため、ユーザーの一人一人がセキュリティ意識を常に持っていただくことが非常に重要となります。不審なWebサイトやメールは開かないなど、基本的なセキュリティ対策を今後も維持していきましょう。