











IDコラム
IDコラム
【エバンジェリスト・ボイス】インターネットを支えるインフラのセキュリティ-MozillaとCloudflare 2019/10/31 (木)

サイバー・セキュリティ・ソリューション(CSS)部
エバンジェリスト フェロー 関原 弘樹 
2019年10月最後のコラムです。一月前には30℃を超えていた最高気温も10度近く下がり、本格的な秋の訪れを感じます。
一方、今月も列島を襲った豪雨の被害に関するニュースに目を向けると、平常時には気にも留めない予防のためのインフラ整備の重要性と人がもつ正常性バイアスの怖さが再認識できました。
さてこの秋、セキュリティに関するニュースの一つにMozilla Corporationが開発しているウェブブラウザFirefoxが昨年より実験的にサポートしていたDNS over HTTPS(DoH/ドー)を正式にサポートするというものがありました。
今回のコラムではそのDoHについてみていきます。
■DNS - インターネットでの名前解決
まず、前提条件となるインターネット上の名前解決について簡単におさらいです。
「www.idnet.co.jp」というホストにアクセスしたい場合はまず「www.idnet.co.jp」というホスト名をインターネット上の住所であるIPアドレスに変換する必要があります。これを名前解決といいます。
名前解決はエンドポイント(PC・スマホ)上で設定されたDNSサーバに対してクエリー(名前解決の問い合わせ)を送信することで行われます。
※外部サイト:出典_総務省 国民のための情報セキュリティサイト DNSの仕組み
例とし、トラフィックのキャプチャを見てみます。下の画像内の中央左の赤枠部分を確認するとエンドポイント「10.0.0.11」がDNSサーバ(に中継する代理サーバです、実際は)「10.0.0.2」にクエリーを送信し「www.idnet.co.jp」というホスト名を「52.193.253.207」というインターネット上でルーティング可能なIPアドレスに解決しています。
また、画像右上の赤枠部分のように1データグラムのStandard queryに対し1データグラムのresponseというように非常にシンプルに名前解決を実現しています。
#Protocolの部分がDNSとなっており使っているポートは53/UDPです。
■DNSによる名前解決と問題
インターネットを安全に利用するために欠かせないDNSですが実はセキュリティ的にはかなり脆弱で、例えばDNSの通信中に限ってもこのような弱点があります。
・インフラとしてコネクションレスで信頼性の無いUDP/IPを使っており、クエリーが本当に意図したDNSサーバに届いているか?また、レスポンスが指定したDNSサーバからのものか?について保障されない。
・レスポンスの内容、例えば「www.idnet.co.jp」に対する「52.193.253.207」が経路上で改ざんされていないかを検証する手段がない。
名前解決の結果が改ざんされていても現在のWebサイト運営では必須といわれるHTTPsを利用していれば下の画像のような表示ですぐ気づくことができます。
意外と重要なサイトでもいまだにHTTPsに対応していないこともあります。
HTTPsでサーバの身元を示すデジタル証明書が不正に発行され、悪意のあるものに成りすまされることもあります。
インシデントがあるとブラウザのエラー画面で気づくことができないので、フィッシングの成功率は格段に高まります。
■DoHの登場
そこでそれらのDNSの弱点を克服すべく登場したのがDoHです。
その名の通り、既存のDNSのプロトコルをそのままにその転送インフラだけをUDP/IPから現在Webサイトのセキュリティ対策として一般的に利用されているプロトコルスタック - TLS(Transport Layer Security※)/TCP/IPに移行しています。
※外部サイト:TLS
IETF※のインターネットアーキテクチャ上に図示するとこのようなイメージになります。
なお、インターネット上で相互接続性を担保するために重要な標準化はRFC※でTLSを標準化(TLS1.2 RFC5246,TLS1.3 RFC8446)しているIETFが「DNS Queries over HTTPS RFC8484」として行っています。
※IETF ⇒Internet Engineering Task Force インターネットに関する技術の標準化を推進する団体
※RFC ⇒Request for Comments その多くは「コメント求む」という体の実質的な勧告
■DoHがゲットしたTLSの3つのセキュリティ機能
DoHではこのようなプロトコルスタックを実現したことによりTLSが持つ3つのセキュリティインフラを手に入れました。
①DNS通信中のデータの暗号化
⇒クエリー内容の機密性確保
②DNS通信中の改ざん防止
⇒クエリー結果の完全性確保
③DNSサーバの認証
⇒①、②の前提となる正しいサーバの認証
個人的に①についてはDNSの名前解決後、平文でIPアドレスやCN(Common Name=接続先のサーバ名)が含まれた証明書データが流れることから、そこまでの重要性は感じませんが②と③については悪意のある者のフィッシングを回避するために非常に重要ですので方法がDoHかどうかはともかくDNSに対してなんらかの実装は必須であると考えています。
また、通常HTTPsのためにプロキシサーバでの中継とFWでの通過を許可している443/TCPを利用するため既存のネットワークインフラへの変更がほぼ不要なのは大きな利点といえるかもしれません。
■FirefoxとCloudflareによるDoHの実装
ではここで、DoHに対応したウェブブラウザFirefoxとCDN(コンテンツデリバリーネットワーク)とセキュリティサービスを提供するCloudflareのDNS※を使ってDoHに関する実装を見てみましょう。
※外部サイト:Cloudflareセキュリティ
執筆時点で最新のFirefox Ver70.0でオプション⇒ネットワーク設定⇒接続設定を開きます。
「DNS over HTTPSを有効にする」にチェック。すると「プロバイダーを使用」にはデフォルトでCloudflareが設定されます。(他のサーバのURLも設定可能)
なお、Firefox+Cloudflareの組み合わせによるDoHのクエリー先はブラウザのConfigでURL「https://mozilla.cloudflare-dns.com/dns-query」として与えられています。
ということは最初にmozilla.cloudflare-dns.comの名前解決をする必要があり、それは通常のDNSで実行するものと想定されます。
ちなみにmozilla.cloudflare-dns.comのIPv4アドレスは引いてみると執筆時点では「104.16.248.249」と「104.16.249.249」です。
パケットキャプチャで確認すると上記設定後すぐにDoHのクエリー先「104.16.248.249」にTLS1.2でパケットが飛んでいます。Record LayerのApplication Data Protocolとして「http-over-tls」が明記されています。もちろんApplication Dataは暗号化されており見ることはできません。
#ここでServerとClientのTLSのHelloがキャプチャされていないことと53/UDPのフィルタに「mozilla.cloudflare-dns.com」の名前解決がキャプチャされていないという疑問が出てきましたが今回は時間の関係で確認はここまでです。
■DoHの問題点
DNS通信にセキュリティをもたらすこのDoHですが、DNSのクエリーがエンドポイント~DNSサーバの中間では暗号化されているのでDNSクエリをベースとした危険サイトや違法サイトのフィルタリングができないということを問題視する向きもあります。
※外部サイト:インターネットをより安全にする技術「DoH」に対して大手ISPが抱える懸念とは?
これについてはだれが責任をとるのか?誰にとってのセキュリティなのか?という問題ですので、技術的なアプローチでの解決は難しそうです。回答はそれぞれのケースによるでしょう。
また、現在DoHを実装しているDNSサーバがCloudflareやGoogleといった極一部なのでDNSトラフィックの独占という面での懸念も上がっているようです。これは今後の広まり方がポイントですね。
ちょっと気になることとして、すべての通信が通常のHTTPsと同様に443/TCPに見えるのでトラブルシューティングやインシデント時の切り分けにちょっと時間がかかるかもしれません。
■まとめ
今回はDNSの完全性がいかに重要となっているか及びそれに対する一つの解についてご紹介しました。
昨年以来、一部の大手検索サイトが利用者とサービス提供者を結び付けるURLついて、新たな方向を模索している※というニュースもありました。WebとURL、そしてDNSに関してはこれからの数年間どのような動きがあるか興味が尽きません。
※外部サイト:グーグルは「URLがない世界」をつくろうとしている
ではまた、次回のエントリーでお会いしましょう。
Hiroki Sekihara, CRISC, CISSP, CCSP, CEH, PMP, CCIE #14607 Emeritus,
AWS Certified Solutions Architect – Professional,
-
有益な情報が
メルマガ登録
ほしい