11/05/2019

DNS戦争

ジェフ・ヒューストンのブログより。NANOG77でのポール・ヴィクシーのプレゼンを受けてのエッセイ。

NANOGは現在、インターネット、特に北米のインターネットコミュニティの素晴らしい団体です。80年代後半から90年代前半のNSFNETフレームワークの一部であった地域技術ミーティングの分派でした。NANOGはそれ以来成功しており、インターネット全体のネットワークオペレータ向けの卓越したフォーラムとは言わないまでも、確かに今日のインターネットにおける主要なネットワーク運用フォーラムの1つです。

第77回NANOG会議は10月末にテキサス州オースティンで開催され、Farsightのポール・ヴィクシーを基調講演に招待しました。これらは、彼のプレゼンテーションに対する私の考えであり、ポールの講演の私の解釈であり、私のいくつかの意見以上におまけが付いています!

DNS

DNSは、インターネットのインフラストラクチャに欠かせないものです。IPアドレスとともに、名前空間は、インターネットを原則的に単一のまとまりのあるネットワークとして定義する共有グルーであると考えられていました。おかしな話ですが、IPv4のアドレス枯渇の問題により、アドレスフレームワークに分裂が生じ、インターネットの一貫した共通フレームワークとしての名前空間への依存度を高めるインターネットのクライアント/サーバーアーキテクチャが採用されました。

私たちはDNSを相互に交換できるように参照し、多くのまったく異なる概念を参照します。これは、構造化された名前空間、分散データベース、このデータベースのクエリに使用するプロトコル、およびすべてを機能させるために使用するサーバーとサービスです。インターネットのどこにいてもDNSを見つけるのはさほど不思議ではありません。

ポールは、1648年のヴェストファーレン条約の説明からプレゼンテーションを開始しました。これは、DNSの進化を詳しく説明するのにかなり奇妙な場所です。これは主権国家間の外交会議でした。主権の原則は確立されましたが、この取り決めと現代の国家の定義により、どの関係者がこの特定の席に座るかが決まりました。国家は、無傷の境界線が守られている地理的領域として定義されていました。これは、境界領域内の最強のルールの認識として特徴付けられる原則です。国家のこの物理的定義とそれに関連する国家主権の概念は、今日の世界秩序の国家構造に引き継がれています。主権の領域は陸と海を包含し、その後、空、宇宙(または少なくとも地球に近い部分)に拡大し、現在では情報技術によって定義された領域のいくつかの側面があります。

その概念を一時的に置いて、DNSの進化に戻りましょう。1980年代のネットワークの名前システムのオリジナルモデルは、コンピューターが同じネットワークに接続されている他のコンピューターに便利に名前を付ける方法でした。最初の方法は、ほとんどのシステムにまだ名前の単純なリストであるhosts.txtとして存在し、指定されたコンピュータの対応するプロトコルアドレスです。

名前の初期の配布は、hostsファイルの一般的なコピーのフラッディングによるものでした。かなり明らかですが、これはスケーリングされず、このネーミングモデルの不満がDNSの設計の多くを推進しました。DNSは階層的な名前構造であり、名前空間内のすべてのノードポイントが委任ポイントになることもあります。委任は完全に自律的です。名前空間内のノードポイントの制御を委任された組織は、他のノードポイントの他の委任されたオペレータを参照せずに追加できます。データベースとしての一致する名前空間の実装は同じ構造に従います。つまり、権限のあるサーバーがデータベース内のこのノードポイントに関連するすべてのクエリに応答する役割を果たします。これらの信頼できるサービスにクエリを送信するクライアントシステムも階層の形式を使用しますが、理由は多少異なります。通常、エンドシステムには、アプリケーションが照会できるスタブリゾルバサービスが装備されています。通常、すべてのクエリを再帰リゾルバーに渡します。再帰リゾルバーは、データベース構造を縦断し、委任ポイントを公開し、これらのゾーン委任ごとに権限のあるサーバーを発見することで名前を解決する役割を担います。これは、目的の回答を提供できる末端ゾーンが見つかったときに使用するのと同じDNSプロトコルクエリと応答メカニズムを使用して行われます。

これが実行可能なアプローチであると考えた理由はおそらく3つあります。

  • 1つ目は、すべてのリゾルバーが回答をキャッシュし、すべての回答に推奨キャッシュ時間が付属することです。リゾルバシステム内の広範なキャッシュにより、クエリが抑制されます。

  • 2番目は、ステートレスな匿名クエリを使用した非常に軽量なプロトコルを使用したことです。UDPは非常に効率的であり、誰が尋ねていたのか、またはその理由を詳細に意図的に切り捨てることで、回答がカスタマイズ可能でないことを保証することを目的としていました。これは、キャッシュされた回答を使用して、回答に関連付けられた暗黙的なコンテキストを壊すリスクなしに、将来のクエリに返信できることを意味しました。

  • 3番目の理由は、リゾルバをサービスインフラストラクチャに合わせたことです。ローカルISPがDNS再帰リゾルバーを運用しました。これは、リゾルバーのキャッシュが近くにあり、近くにいるとリモートよりも速くなる可能性がはるかに高いことを意味します。

それ以来、私たちはこれらの理由をテストし、これらの前提を破る方法を発見してきました!

エピソード1 – ルート戦争

最初のDNS戦争は、.com、.net、および.orgのDNS名の、顧客に無料で提供されるUSG契約サービスから有料サービスへの移行を巡って争われたようです。DNSの商業的独占への移行により、いくつかの問題が生じました。すべての潜在的な商業競争が締め出されたのに、なぜある企業が現在急成長しているDNSのかなりの金銭的利益を享受することを許可されたのでしょうか?

90年代半ばに、より多くのトップレベルドメインを含む代替ルートサーバーを立ち上げることにより、独占現業のネットワークソリューションであるネットワーク・ソリューションズと競争するための様々な取り組みがなされました。これらの最も顕著なものはAlterNICと呼ばれる取り組みでしたが、それは単独ではありませんでした。AlterNICの創設者の1人が1997年にInterNICウェブサイトを3日間ハイジャックすると、民事訴訟に至り、その後、連邦通信不正行為の訴追が行われました。

DNSの競争圧力はなくなりませんでしたが、代替ルートサーバーを経由する経路は徐々に消えていきました。代替パス、つまり名前登録サービスの競合とルートゾーンでの追加名の制御されたリリースが、最終的にたどられた道筋でした。DNSに混乱と無秩序化を追加することなく、これらの動きが名前空間での競争を強化するという目的を達成したかどうかについては、今日でも議論されています。そして、ICANNによるルートゾーンの拡張のややロボット的な継続は、年が進むにつれてますます無意味に見えます。

エピソード2 – サイトファインダーとゾーンのコンテンツ

DNS戦争の次のエピソードは、ネットワーク・ソリューションズのサイトファインダーの大失敗でした。ネットワーク・ソリューションズは、レジストリオペレーターとして.comゾーンを管理しました。レジストラから渡された注文に応じて、委任エントリをこのゾーンに追加しました。検索の人気が高まり(本質的な価値も)、ユーザーが検索用語とドメイン名を混同していることが多いことが注目されました。

ネットワーク・ソリューションズは、ドメインでワイルドカードを合成し、DNS標準に準拠してNXDOMAINで応答するのではなく、.comに存在しない名前のすべてのクエリを検索エンジンに効率的に送信することでこれを利用することにしました。いくつかのドラマと多くの法的姿勢の後、ワイルドカードは撤回されました。

当時の怒りが、まだ委任されていないドメイン名の占領(seizure)に関するものなのか、この暗黙的な検索の占領に関するものなのか、今ではわかりません。振り返ってみると、後者はより価値のある強奪でした。

しかし、NXDOMAINの置換の問題は解決しませんでした。

エピソード3 – オープンリゾルバー戦争

ブラウザベンダーは、検索語と検索の両方に一つだけからなる入力要素を使用することを決定していました。その結果、検索用語とDNSクエリが大幅にクロスリークしました。検索エンジンは、人気はあるがまだ委任されていないドメイン名について貴重な洞察を獲得しました。これまでDNSレジストリオペレーターとDNSオペレーターの独占的財産であったその資産は、NXDOMAINクエリの代わりに検索エンジンポインターを置き換えることで検索セッションを獲得できました。

Google検索の新たな独占は完全に競争がなかったわけではなく、Googleが使用頻度の高い一部のブラウザでデフォルトの位置を取得できたとき、ユーザーを別の検索エンジンにリダイレクトしようとする反応がありました。DNSはこの取り組みで採用されました。そして、OpenDNSはサイトファインダーの再現で、検索エンジンへのNXDOMAINリダイレクトを実行する再帰リゾルバーでこれを達成しようとしました。短期間、OpenDNSはドメイン名www.google.comを別の検索エンジンにリダイレクトしました。数週間以内に、Googleはquad 8 (8.8.8.8)でパブリックDNSを開始し、DNSの肯定および否定応答の完全な整合性に基づいてサービスを提供しました。決して嘘をつかない「信頼できる」DNSです。

奇妙なことに、結果は、GoogleのパブリックDNSサービスがオープンリゾルバーの分野で完全に支配的になったことです。これがインフラストラクチャベースのDNS、オープンリゾルバー、Googleのオープンリゾルバーの三つ巴の争いであった場合、Googleはそのラウンドで勝ったように見えます。

エピソード4 – クライアントサブネット戦争

DNSの争いの次のエピソードは、クライアントサブネット戦争です。クライアントサブネットレコードを添付することで、だれが尋ねていたのか、またはその理由を詳細に意図的に破壊しました(subvert)。

このプライバシーを破壊するイニシアチブは、主にAkamaiによるものです。Akamaiだけが一番よく知るためには、この特定のコンテンツ配信ネットワークは、エニーキャストを通じて複製サーバーセットの最も近いインスタンスにクライアントを誘導するためにルーティングシステムを使用することに熱心ではありませんでした。彼らにとって、エニーキャストは次善と見なされていました。代わりに、DNSを使用しました。すべてのクライアントがインフラストラクチャベースのDNSリゾルバを使用すると仮定すれば、クエリに使用したリゾルバの場所と自分の場所は、同じ場所として扱われるほど十分に近くなります。AkamaiのDNSサーバーにクエリが届くと、ソースIPアドレスを使用してクライアントの場所が計算され、ユーザーに最も近いと計算されたAkamaiサーバーセットを指す応答が生成されました。ハンドオフ、追加の往復時間、オーバーヘッドはありません。そして、再帰リゾルバーがAkamaiの応答をキャッシュした場合、この再帰リゾルバーのすべてのクライアントがどんな場合でもAkamaiのDNSサーバーから同じ応答を取得するので、はるかに優れています。

オープン再帰リゾルバーは、必ずしもクライアントの近くにあるとは限りません。その結果、Akamaiの位置情報に基づく応答は非常に不正確な場合があり、リモートサーバーが使用されていたため、Akamaiコンテンツサービスは非常に遅くなりました。

これを解決する方法はたくさんあるので、振り返ってみると奇妙に思えますが、標準化のためにIETFに取り入れられたメカニズムは、DNSの拡張メカニズムEDNS(0)を使用し、クライアントのサブネットをこのフィールドに記録する事でした。再帰リゾルバは、クエリ名とクライアントサブネットの組み合わせでローカルキャッシュルックアップを実行することを目的としており、キャッシュミスには、クエリにアタッチされたクライアントサブネット情報を使用して権威サーバーへのクエリが必要でした。

これが完全に非常識なアプローチである理由には、様々な理由があります。権威サーバーがエンドクライアントのIDを認識するようになったため、DNSプライバシーが破壊されます。「サブネット」とクライアントアドレスの概念は、一部の実装者にとって把握するのが難しい概念であることは明らかであり、クエリのECSフィールドに完全なクライアントIPアドレスが頻繁に見られます。CDNは、サーバーの場所のマップを再帰リゾルバーに提供しないため、再帰リゾルバーはローカルキャッシュを最適化します。これはもちろん、CDNのプライバシーの容認できないリークですが、もちろんCDNのねじ曲がった世界では、個々のユーザーのプライバシーを損なうことは、まったく問題ではないため、完全に受け入れられます。ローカル再帰リゾルバキャッシュは、クライアントサブネットを検索キーとしてローカルキャッシュに追加する必要があるため、プレッシャーにさらされています。そのため、ローカルキャッシュの効率は低下します。また、クライアントのサービスが不十分であるとサーバーが認識した場合、クライアントをより近いサーバーに完全にリダイレクトできるという考慮事項があります。操舵機能の遅延は、このより近いサーバーを使用する利点によって補償される以上の可能性があります。

クライアントサブネットを最適化と見なすことは難しく、このテクノロジーをDNSのプライバシーを破壊し、ユーザー監視のメカニズムを改善し、インターネットユーザーの収益化の効率を高める継続的な取り組みのもう1つのツールとしてDNSを展開する意図的な取り組みと解釈する方がはるかに簡単です。

エピソード5 – 今日のDoH/DoT戦争

そして今、私たちは戦争に関するDNSがあります。疑いなく、これは今や複雑な問題であり、アクターの動機は時々見分けがつきません。その中心にあるのは、ほとんどすべてのインターネットトランザクションがDNS検索から始まるという考えであり、もしすべてのDNSクエリが行われたときにそれを監視できたなら、おそらくあなたとあなたのアクティビティの包括的な最新のプロファイルを組み立てる立場にあるでしょう。監視データの観点では、DNSはデータマザーロードと見なすことができます。スノーデンの資料は、そのようなデータが商業的な関心だけでなく、国家の関係者にとっても非常に興味深いトピックであることを示しました。IETFはDNSプライバシー方針に乗り出しました。これだけで不十分な場合、DNSは現在、ほとんどではないにしても多くのサイバーセキュリティ機能のコントロールポイントです。

再帰リゾルバーをネットワークの奥深くにプッシュすると、クライアントスタブリゾルバーと再帰リゾルバーの間のDNSのやり取りがネットワークを介してはるかに長いパスを通過する可能性があり、その長いパスは暗号化されていないクエリと応答を、DNSトランザクションを監視、考えようによっては改変する可能性のある、より大きな一連のアクターに利用できるようにします。スノーデン文書は、これらの線に沿ったいくつかのNSAの活動を説明しています。

DNSプライバシーワーキンググループの最初の成果は、TLSを使用したスタブからレゾルバへの暗号化の定義でした。IETFはこの方法にTCPポート853を使用することを決定し、ポート53のポート番号をTCP上のDNS(暗号化されていない)のままにすることができました。TLSのセットアップは高い代償に見えるかもしれませんが、通常、スタブリゾルバーが単一のセッションを長時間再帰的に開いた状態に保ち、高速セッションの再確立を可能にするTCP Fast Openがあると考えると、これは、パフォーマンスの点でUDP over DNSとほとんど同じに見えます。また、暗号化により、スタブから再帰へのやり取りが監視および傍受から保護されます。

次に、DNS over HTTPSの仕様が登場しました。これは新しいアイデアではなく、IP自体を含むxxxの多くの値に対してxxx over HTTPS実装があります! しかし、コードをハッキングすることとアプローチを標準化することには違いがあります。HTTPSは一般に、ファイアウォールを比較的簡単に通過するため、インターネットの新しい基盤(substrate)と見なされます。コンテンツは、不透明なパディングおよびジッタージェネレーターで簡単にマスクできます。TLS1.3と暗号化SNI(ESNI)の組み合わせは、セッションの可視部分、およびミドルウェアの検査と変更への抵抗力があります。多くの重要な機能とサービスはポート443を使用するため、このポートを完全にブロックすることはできません。DoTよりDoHを好む理由は? DoHは、DoTが提供するすべてを実現しますが、他のすべてのトラフィックにそれ自体を埋め込み、検出をほとんど不可能にします。これは、単一のIPアドレスが数千の異なるコンテンツドメインで使用され、識別名が明確に共有されていないTLS 1.3のESNIと組み合わせたコンテンツホステルに関するもので、識別名が平文で共有されていない場合、DoHを最も一般的な(そして安価な)ミドルウェア検出と、場合によってはさらに高価な検出器を回避する方法で使用できることは明らかです。

たとえそうであっても、このレベルのセキュリティで十分なのでしょうか? 別の言い方をすれば、DNSが中国共産党にとって複雑すぎる場合、DNSのフィルタリングを停止するという理論があります。これは完全なナンセンスであるという理論もあります!

しかし、あなたが多数のパケットの中に隠れようとするのに十分な動機があるなら、なぜTLS 1.3とESNIでポート443を介してVPNセッション全体を実行しないのですか? ネットワークアクティビティ全体を隠したいなら、DNSクエリだけを非表示にするだけでは不十分であり、別個のツールセットから安全な環境を構築することは、現在のTLSの振る舞いを備えた最新のVPNが提供するより包括的なアプローチよりもはるかに安全性が低いことがよくあります。

では、なぜDoHなのでしょうか? DoTで適切に対処されていない技術やパフォーマンスの問題を解決しているようには見えません。しかし、DoHの背後には抗し難い誘引が存在し、それらは今日のインターネットの商業環境に登場しています。主な問題は、アプリケーションと他の全てとの間の緊張です! インターネットのサービスの価値の大部分がエンドユーザーの行動や好みの知識に基づいているので、アプリケーションはユーザー主導のアクティビティを他人と共有する動機付けはほとんどありません。プラットフォームのスタブリゾルバの使用はリークであり、サービスプロバイダーの再帰リゾルバの使用はリークであり、クリアでの送信の使用は明らかにリークです。アプリケーションが情報公開の範囲を自分自身とその母艦に限定したい場合、共通のインフラストラクチャを回避し、安全なチャネルを使用してネットワークを介して自身を駆動する必要があります。DoHはこれを簡単に行うことができます。

そして、これがすべて行われるのはモバイルデバイスの世界であり、市場セクターの価値と、このセクターで発生するサービスとトランザクションが他のすべてを支配しています。今日のネットワークは、データ収集の場であり、データ操作型広告配信のプラットフォームとしても機能します。その他はすべて付随的なものです。

エピソード6 – リゾルバーレスDNS戦争

DNSはこの方法で広く使用されているだけでなく、Webコミュニティも新しい手段としてこれらのメカニズムをバイパスする事が盛んです。HTMLのサーバープッシュのように、リゾルバーレスDNSは、アプリケーションが使用する必要がある前に解決結果をプリロードすることで、DNSを高速化できます。

現在、これは、コンテンツ自体がDNSの結果をプッシュできるIRTF研究グループの項目のトピックですが、実際の観測では、ブラウザの世界ではこのアプローチに対する障害はほとんどありません。プッシュは、コンテンツの読み込み時間を改善する手段として既に十分に確立されており、スタイルシート、コンテンツ、スクリプト、およびDNS解決の結果をプッシュする際にほとんど違いはありません。

興味深いことに、TLSなどの保護されたセッションはプッシュに十分であると見なされ、プッシュされたコンテンツのDNSSEC検証はリゾルバーレスDNSの支持者によって必要と見なされていません。これは無責任に認識が甘く、コンテンツがコンテンツをプッシュできる場合、受信者はプッシュされたデータの正確さを検証する必要があります。

しかし、もしこれを大きな分離と見なすなら、ウェブがインターネットから分離し、インターネットの他の部分との相互依存のすべての形式を切断するその立場はもっと理にかなっているでしょう。すべてを保持できるのに、なぜそのユーザーデータを共有するのでしょうか? 従って、インターネットインフラストラクチャ機能を独自のスペースに取り込むアプリケーションについて話す場合、一般的な意味でのアプリケーションのことではなく、Webプラットフォーム、ブラウザー、およびHTMLベースのアプリケーションのエコシステムに完全に焦点を当てています。

これがどのように機能するかを予測することは困難ですが、おそらく私たちが考慮する必要のある新たな要因がすでに1つあります。それはヴェストファーレン条約と、適切に防衛された国境によって定義される国の概念です。

IT企業国家

1つの企業体がすべての携帯コンピューターの約90%にオペレーティングシステムを提供している世界(GoogleとAndroid)で、同じ企業をブラウザーとして70%以上のユーザー(GoogleとChrome)が共有し、単一のオープンリゾルバーサービスが約10%のユーザー(Quad 8を搭載したGoogle)によって優先リゾルバーとして使用され、インターネットが陸と海によって定義された範囲を持つピアレベルの人間活動の明確な範囲と見なされた場合、その資産を守る能力に基づいて、情報技術空間の広大な範囲にわたって主権を主張するGoogleの能力は、認められなければなりません。その理由により、国民国家のヴェストファーレンモデルもここに適用され、規制は必然的に否定に置き換えられます。

Mozilla財団は、DoHを有効にし、DoHをCloudflareのオープン再帰リゾルバーサービスに向けたデフォルト設定でFirefoxブラウザの次のバージョンを出荷する意向を発表したとき、イギリスはMozillaとの「サミット会議」を呼びかけました。 これは、立法の制定、規制の採用、または国民国家が従来利用可能なその他の措置ではなく、異なる性質の会議でした。これは、名誉ある東インド会社などの準国民国家の復活でしょうか? この株式会社は、独自の軍隊(1803年にイギリス軍の最大規模の2倍)を運営し、戦争に立ち向かい、他の国民国家の行動と完全に一致した方法で国境を確立して、守っていました。

新しい世界秩序の一部は、アプリケーションのアクションによって定義されるスペースが、通信規制の従来の領域をはるかに超え、さらには規制貿易と商業の領域を超えていることです。アプリケーションは通信をサービスとして使用しますが、それを定義しません。これは新しい空間であり、国家の主権は、国境を守ることができず、一方的に意志を行使できない場合に、彼らが優位性を持っていると主張することは非常に難しいと感じています。情報技術国家の新しい定義は、物理的な陸と海の境界に関係なく、エンドユーザーに国民の意志を課す能力と同等でしょうか?

インターネットは電気通信の規制緩和の波に乗りました。規制緩和の意味するところは、企業が規制された価格で標準サービスを提供することに限定されなくなったことです。規制緩和は、企業がユーザーの支出とユーザーの嗜好に左右されることを意味し、それに応じてユーザーの嗜好が厳しい精査の対象となりました。しかし、スーパーマーケットの小売業界のように、顧客が好むものを知ることは一つのことですが、顧客の好みがどのように形作り、影響を与えるかを知ることは全く異なる領域です。なぜなら、そのような厳しい精査と知識の習得により、企業は好みを形作り、それらを満たすことができるからです。インターネットは、企業がコンピューターが通信できるようにするツールから、ユーザーを非常に効率的かつ効果的に収益化することを目的としたツールを展開できるようにするツールと、取り返しのつかないほどに変えられました。

DNSがこの体制に完全に採用されていることが明らかになったとき、私たちはやや悲しい瞬間に達しました。これが国家主権の新しい領域である場合、私たちの既存の国民国家の世界秩序は、選択された国境を守るための包括的な力を抑制することができる方法で、新しいIT企業国家と単に噛み合わないと考える方が悲しいです。1648年のヴェストファーレン条約は、私たちに多くのことを教えてくれますが、すべての教訓が気持ちいいわけではありません。

私は、この特定のレンズを通してDNSとインターネットの進化を検討したNANOGの講演についてポール・ヴィクシーに感謝しなければなりません。

Hacker News