由緒あるドメインネームシステム(DNS)は脆弱性が指摘されつつあり、お気に入りのサイトのIPアドレスを追跡するのは面倒だ。そこで、ある研究者グループは、プロバイダーがダウンした際にユーザーに緊急バックアップを提供するために、ホストの保守を自動化することを目指している。
このアイデアは、何か問題が発生した場合の健全性チェックの一種として、DNS インフラストラクチャの外部に保持されている IP アドレスとドメイン名のバイナリ タプルのセットに対して DNS レコードを二重チェックできるというものです。
arXiv での中国の提案は、ピーク時の「リコール」率が 90 パーセント強であるため、DNS の代替としては期待外れとなるだろう。しかし、システムの一部で重大な障害が発生した場合、システムが再び安定するまでユーザーが Web サイトを見つけられる可能性が 90 パーセント以上になることを意味する。
El Reg は、2017 年だけでも毎月 1 回以上の大規模な DNS 障害といくつかの悪意のある攻撃を報告しているため、何らかのバックアップがおそらく役立つでしょう (この提案がそれであるかどうかは関係ありません)。
それで、中国科学院の黄才雲氏と協力者(科学院および中国のCERT)はどのようなことを示唆したのだろうか?
彼らは、「DNS 用自己フィードバック修正システム (SFCSD)」を強化したホスト ファイルとして提供しています。手動で管理する単純なテーブルの代わりに、CDN CNAME と「ホームページ以外の URL 機能文字列」によるフィルタリング、および Web ページ フィンガープリンティングを使用して、SSL、DNS、HTTP トラフィックを追跡するソフトウェアを作成しました。
最終結果は、IP アドレスとドメイン名のタプルとして、引き続きホスト ファイルに記録されます。
同グループは、SFCSD が「94.3% の精度と 93.07% の再現率」を達成し、最大 8 Gbps で処理でき、スタンドアロンで実行して 1 日あたり最大 1,000 タプルを再現し、200 のドメインに訂正を提供できると見積もっている。
論文に掲載されているシステム概略図は次のとおりです。
中国のホストファイル自動化システムの仕組み
フィンガープリントを作成するために、SFCSD は Google の SimHash を使用します。SimHash は、2 つのテキスト ブロック (この場合はホームページ) 間の類似性を計算するように設計されたページ テキストの 64 ビット ハッシュを作成します。
システムは、ホスト ファイルに格納された内容をテストし、IP/ドメインのペアを検証できない場合にのみユーザーの介入を求めます。
ご想像のとおり、システムのフィンガープリンティングは HTTPS を使用するサイトでは機能しなくなりますが、正規表現のマッチングと CDN CNAME フィルタリングは影響を受けません。®