トルコのISPが偽Google Public DNSを運用

   このエントリをはてなブックマークに登録    2014/3/31-1

今月中旬に、トルコ政府によるTwitter利用禁止措置をかいくぐるためにGoogle Public DNSが利用されているという記事がありました(参考)。 政府に対抗するために、Google Public DNSのIPv4アドレスである「8.8.8.8」が町中に落書きされていたようです。

しかし、そのGoogle Public DNSの成り済ましサーバがトルコ国内のほとんどのISPで運用されているとGoogleが発表しました。

そこでは、次のように書かれています。

But imagine if someone had changed out your phone book with another one, which looks pretty much the same as before, except that the listings for a few people showed the wrong phone number. That’s essentially what’s happened: Turkish ISPs have set up servers that masquerade as Google’s DNS service.

この文章を見る限りは、トルコ国内のユーザ視点で見たとき、トルコ政府の規制を回避するために設定された8.8.8.8は、Googleが運用するDNSサーバではなく、トルコ国内ISPが運用する偽物に置き換わったということのようです。 正規の8.8.8.8もエニーキャストで運用されていますが、トルコ国内のユーザが8.8.8.8というIPv4アドレスを指定したときの「最寄りサーバ」として到達するのが偽物になるという感じです。 トルコ政府に抗議するためにキャッシュDNSサーバの設定を変更したにも関わらず、全く気がつかずにトルコ国内ISPが用意している偽キャッシュDNSサーバと通信を続けているユーザも多そうです。

つい最近、Google Public DNSに対するBGPハイジャックが話題でしたが、ベネズエラなどの南米地域においても現地ISPが同様のことをしているのだろうと思います(参考:8.8.8.8に対するBGPハイジャックの話)。

DNSとセキュリティという視点を考えると、DNSSECを思い浮かべる人も居ると思います。 しかし、DNSSECは、キャッシュDNSサーバそのものが偽造を行っていたり、キャッシュDNSサーバとユーザの間に悪意の第三者が入っている場合を防ぐ仕組みではないので、こういった事例を防げるわけではありません(ユーザ側でDNSSEC検証を試みることはできますが、そのための設定を有効にする必要があります。ただし、それによって改変されているかどうかを知る事ができるだけであり、名前解決が成功するかどうかは別問題なのでご注意ください。)。

ユーザとキャッシュDNSサーバの間で行われる通信って通常は無防備なので、こういった成り済ましキャッシュDNSサーバをどうやって防ぐべきなのかという話題が今後はIETFなどで盛り上がるかも知ません。 昔からわかっていた話であっても、こういった「わかりやすい事件」が発生すると議論が活発化することが多そうだと思う今日この頃です。

Google Public DNS関連過去記事

   このエントリをはてなブックマークに登録