新品互換用パソコン バッテリー、ACアダプタ、ご安心購入!
ノートpcバッテリーの専門店



人気の検索: ADP-18TB | TPC-BA50| FR463

容量 電圧 製品一覧

スペシャル

Google Chromeは「DNSルートサーバー」に大きな負荷をかけている、その理由とは?

Google ChromeやMicrosoft Edgeのベースであるオープンソースのウェブブラウザ「Chromium」には、アドレスバーと検索バーを一体化させた「Omnibox」という機能が搭載されていますが、そのOmniboxによってDNSのルートサーバーに大きな負荷がかかっていると、ベリサインのCSOであるMatthew Thomas氏が報告しています。

DNSはIPアドレスと「gigazine.net」といったドメイン名を対応付けるシステムのこと。DNSのネームサーバーは階層構造をなしており、下位のネームサーバーがドメイン名に対応するIPアドレスを知らなければ、さらに上位のネームサーバーに問い合わせる、という形でIPアドレスを検索していきます。そのネームサーバーの頂点に位置するのが「ルートサーバー」ですが、ほとんどの問い合わせは下位ネームサーバーにキャッシュされており、ルートサーバーまで到達する問い合わせはごく一部。下位ネームサーバーのキャッシュにより、ルートサーバーの負荷が軽減される仕組みになっています。

Chromiumのアドレスバーと検索バーを統合した機能「Omnibox」では、入力値をDNSで問い合わせることで、ウェブサイトの存在を事前に確認しているとのこと。例えば社内のイントラネット上に「https://marketing」というページが存在する場合は、アドレスバーに「marketing」と入力すると「marketing」という単語の検索を促すと同時に「https://marketing」へのアクセスも促すインフォバーが表示されます。

しかし、特定のネットワークはドメイン名の誤入力を検知してリダイレクトを行い、タイポスクワッティングなどを防ぐよう設計されており、こうしたネットワーク下においてはすべてのドメイン名が存在することになるため、入力の度にインフォバーが表示されてしまいます。

Chromiunはインフォバー表示の対策として、起動時やIPアドレスが変わったタイミングで「http://rociwefoie/」のような7文字から15文字の3つのドメイン名をランダムに生成し、それぞれDNSで問い合わせてIPアドレスを検索。3つのIPアドレスのうち2つが一致した場合、ネットワークによるDNSのリダイレクトが行われていると判断するとのこと。

この問い合わせをDNSのリダイレクトを行わないネットワークで実行すると、ルートサーバーにまで到達してしまう傾向があるとのこと。以下の図はルートサーバーのひとつである「a.root-servers.net」が2020年5月13日に問い合わせを受けたドメイン名を分類したもの。問い合わせを受けたドメイン名のうち、48.50%がChromiumの生成するドメイン名のパターンと一致していたとのこと。右端に示された7文字から15文字のドメイン名の割合はほぼ同じですが、10文字のドメイン名が他の文字数のドメイン名よりも少し多いことがわかります。この理由について、Thomas氏は2014年までChromiunの生成するドメイン名が10文字固定であったためと推測。

ルートサーバーが受けるDNSの全問い合わせのうち、Chromiunが生成するパターンに一致したドメイン名の問い合わせが占める割合を色付きの実線で、Chromeの市場シェアを破線で表示し比較したグラフがこれ。問い合わせの割合については、紫色で示されるベライゾンの調査データ、緑色で示されるDNS-OARCの実データ、水色で示されるDNS-OARCのサンプルデータが使用されています。グラフを見ると、破線で表されるChromeのシェアと、Chromiumのパターンに一致する問い合わせの割合が似たような推移を示しており、2020年に至っては、Chromiumパターンのドメイン名の問い合わせが半分を占めています。

技術系メディアのArs Technicaで記者を務めるJim Salter氏によると、類似した事例はDNSと同じく階層構造をなすNTPでも発生したことがあるとのこと。2005年当時、NTPの最上位サーバーである「Stratum 1」サーバーをデンマークで唯一運営していたポール=ヘニング・カンプ氏は、予期せぬ膨大なネットワーク帯域の使用料を請求されたとのこと。この請求は情報通信機器メーカーのD-Linkが同社の機器に対して、下位のNTPサーバーではなくカンプ氏のNTPサーバーを指定していたのが原因で、Stratum 1ではなくStratum 2もしくはStratum 3のNTPサーバーを指定すべきだったとSalter氏は指摘。

Thomas氏はChromiumが行う問い合わせについて「ほとんどの場合、DDoS攻撃と区別がつかない」と語っており、1つか2つの問い合わせだけで目標を達成できないか、他の方法はないかといった疑問を投げかけています。