イベントレポート

Internet Week 2014

“未熟なDNS”をDDoSで拷問、「DNS水責め攻撃」が原因らしき実害が日本でも

 インターネット関係者が一堂に会する「Internet Week 2014」で20日、恒例となっている「ランチセミナー」と「DNS DAY」が開催された。今年は、DNSの特性を悪用したDDoS攻撃や、DNSの基本部分の弱点を狙った攻撃手法が関係者の注目を集めていたことからいずれも満席で、会場からも多くのコメントや質問が寄せられた。

“未熟なDNS”と今後どう付き合うべきか

 株式会社日本レジストリサービス(JPRS)が提供するランチセミナーの今回のテーマは、「未熟なDNSと今後どう付き合うべきか 委任/移転通知インジェクション攻撃とDNS Water Torture(Slow Drip)攻撃について考える」である。特に、「DNS水責め攻撃」と呼ばれる「DNS Water Torture(Slow Drip)攻撃」については、すでにそれが原因と考えられる実害が日本国内でも報告されており、食事もそこそこにスクリーンを見つめる人々が目についた。

JPRSの森下泰宏氏と久保田秀氏

 委任/移転通知インジェクション攻撃とはいずれも、狙いをつけたキャッシュDNSサーバーに偽のNSレコードを注入し、そのキャッシュDNSサーバーの利用者のアクセスを偽のウェブサイトなどに誘導しようとするものだ。「委任インジェクション攻撃」と「移転通知インジェクション攻撃」は注入する応答の種類が異なるが、いずれもDNSの仕様上の弱点を突いた攻撃手法であることは共通している。

「委任インジェクション攻撃」の原理
「移転通知インジェクション攻撃」の原理
共通点と相違点

 DNSは、「委任」という仕組みで特定のドメイン名以下の管理を他者に任せることにより、柔軟な分散管理を実現している。そして、問い合わせを受けた権威DNSサーバーがキャッシュDNSサーバーに対し「(NSレコードで示した)これらの権威DNSサーバーに委任しています」という「委任応答」を返すことにより、名前解決がそれらの権威DNSサーバーに誘導されることになる。

 委任インジェクション攻撃では、権威DNSサーバーが返す本物の応答よりも先に偽の委任応答(NSレコード)を送り込み、誘導先の偽の権威DNSサーバーから最終目的の偽情報(偽のIPアドレスなど)を受け取らせるという、言わば2段階のステップを踏む形でキャッシュポイズニング攻撃を実現している。

 当日の発表資料(本記事末に記載のURLを参照)に記述されているように、委任/移転通知インジェクション攻撃もカミンスキー型攻撃手法、つまり攻撃対象にランダムなサブドメインを付け加えた名前を問い合わせに用いることで、連続攻撃が可能になる。例えば、「www.example.jp」を攻撃する場合、「random82538041.www.example.jp」といった名前を問い合わせに指定することで、そのドメイン名に対する攻撃を連続で実行できる。

 今回のランチセミナーで取り上げられた委任/移転通知インジェクション攻撃は、いずれもキャッシュポイズニング攻撃の一種であり、基本対策はソースポートランダマイゼーションや攻撃の検知といった、従来からある対策の確実な実施である。今回は基本対策に加え、UnboundやGoogle Public DNSなどが実装している追加の対策が書かれた文書群が紹介された。これらの文書は公開されているので、興味を持たれた方は読んでみるといいだろう。

 もう1つの「DNS Water Torture(Slow Drip)攻撃」、いわゆる「DNS水責め攻撃」については久保田氏が担当した。これは、今年の初頭(2014年1~2月ごろ)から世界的に観測され始めた、DNSサーバーに対するDDoS攻撃の手法である。

 この攻撃に使われる問い合わせのパターンはカミンスキー型攻撃手法のものと同様であり、かつ、第三者のオープンリゾルバーやホームルーターを攻撃の対象としている。しかし、カミンスキー型攻撃手法で検出されるはずの対応する偽の応答が検出されないことから、当初は攻撃の目的が判然としなかった。

攻撃の特徴(1/2)
攻撃の目的(と考えられていること)
なぜ「水責め」と呼ばれるのか?

 その後、日本国内においても5月から7月にかけて複数のISPにおいてこの攻撃の影響とみられるDNS障害が相次いで発生したことで関係者の関心が一気に高まったようだ。この攻撃の目的は、キャッシュに存在しない名前を問い合わせパターンとして用いることでキャッシュを無効化し、最終的にアクセスが集中することになる攻撃対象ドメイン名の権威DNSサーバーをサービス不能の状態に陥らせることにあったと言われている。

攻撃のシナリオ(4/4)
攻撃成立の理由

 国内のISPで起こったDNS障害は権威DNSサーバーに対する攻撃の巻き添えであると考えられている。存在しない、またはキャッシュされていない名前の処理は負荷が大きくコスト高であることは知られていたが、はからずもDNSにおいてキャッシュが効かないとどういうことになるかということをあらためて確認させられる事件でもあった。また、攻撃により引き起こされる権威DNSサーバーの応答遅延や無応答もキャッシュDNSサーバーにとってつらいことであり、さらに、ボットから権威DNSサーバーを直接攻撃する場合に比べフィルターしにくいということもこの問題への対応の難しさに拍車をかけている。

 このように、水責め攻撃はDNSの仕組みそのものを攻撃に悪用しているため、単純かつ応用範囲が広いという面も持つ。また、不用意な対応により攻撃者の目的である「DoS状態」が成立してしまう場合があるため、その対応には慎重さも求められる。ランチセミナーの説明では、現状において取りうる対策も示されたが、現時点でキャッシュDNSサーバーにおいて取りうる対策は、ターゲットとなった権威DNSサーバーへの攻撃に荷担しないこと、そして自らが巻き添えにならないように攻撃の影響を緩和するためのものが中心であるようだ。

取りうる攻撃対策(1/3)キャッシュDNSサーバーにおける対策例

 DNSはとても便利な仕組みではあるが、その一方でさまざまな脅威も抱えている。森下氏は、「DNSは未熟であることを知っていただき、その未熟な存在と今後どのように付き合っていくのがよいかを皆さんと考えていきたい」として最後を締めくくった。

未熟なDNSと今後どう付き合うべきか
「共存し、コントロールする」ために必要なこと

セキュリティの話題に終始した「DNS DAY」

 今年のDNS DAYは、昨年と比べより多くのDNSセキュリティイシューに注目が集まったこと、一般紙の一面トップでホームルーターのDNSの問題が報道されるなど関心が高まったことを受け、恒例の「DNS Update」に続き、「IP53B」「セキュリティイシューへの事前準備と対応」DNSセキュリティイシューへの対応」というプログラムに見られるように、ほぼセキュリティに関する話題で占められた。以下、今回のDNS DAYで報告・議論された話題の中から特に注目すべきものについて、その内容とポイントをかいつまんで紹介する。

 株式会社日本レジストリサービス(JPRS)の水野貴史氏による「JP DNS Update」では、例年通りJP DNSにおけるさまざまな統計情報やトピックスが取り上げられたが、その中でJPゾーンとDNS.JPゾーンのNS親子同居の分離を行ったこと、JPゾーン内に存在するempty non-terminalsにTXTリソースレコードを追加したことが報告された。

JPゾーンとDNS.JPゾーンのNS親子同居の分離
empty non-terminalへのTXT RR追加

 JPゾーンとDNS.JPゾーンのNS親子同居の分離は、キャッシュポイズニング攻撃成功時の被害を軽減するためにjpとdns.jpを別々のサーバーに収容替えしたことの報告であり、empty non-terminalsへのTXTリソースレコードの追加は、DNSSEC検証においてリソースレコードが1つも設定されていないが、そのドメイン名のサブドメインは存在するといった状況のドメイン名(このような状態を「empty non-terminal」と呼ぶ)を確実に保護対象とするためにTXTリソースレコードを追加したことの報告である。特に、後者についてはDNSSECの仕組み上、署名された子孫のゾーンを1つも持たないempty non-termilansは必ずしも保護されないという仕様に対応したものであり、これにより当該のドメイン名が確実にDNSSECで保護されるようになった。

 また、一般社団法人日本ネットワークインフォメーションセンター(JPNIC)の小山祐司氏からは、「逆引き/NIR update」の中でLACNIC(南米地域)でIPv4アドレス在庫が2014年6月10日に枯渇したこと、およびIPv6の逆引きについてIETF dnsop WGで議論中であることなどが報告された。

 続く「IP53B」では、株式会社インターネットイニシアティブ(IIJ)の山口崇徳氏による「IP53Bの概要」に引き続き、株式会社帯広シティーケーブルの鵜野直樹氏による「ISPでのIP53B運用経験」、総務省総合通信基盤局電気通信事業部消費者行政課の戸取謙治氏による「IP53Bと通信の秘密との関係について」が発表された。

IIJの山口崇徳氏、帯広シティーケーブルの鵜野直樹氏、総務省の戸取謙治氏

 IP53Bとは「Inbound Port 53 Blocking」の略で、ISP網の入り入口または出口において、そこを通過するすべての通信の宛先IPアドレスおよびポート番号を常時確認し、動的IPアドレス宛てであってUDP53番ポートに対する通信を検知しブロックすることである。

DNS Amp攻撃の防止について

 つまり、新たなDDoS攻撃である「DNS Amp攻撃」の防止を目的として、宛先IPアドレスおよびポート番号を確認した結果をDNS Amp攻撃の防止以外の用途で利用しない場合は、正当業務行為として違法性が阻却されると解釈するものだ。鵜野氏の発表は、自身が経験したトラブルを元にIP53Bの適用に至るまでの話やその後について言及していたため、会場の参加者、特にISPの担当者の大きな関心を呼び、質問が数多く出された。ここでは、モデレーターを務めたJPRSの松浦孝康氏によるまとめを紹介する。

JPRSの松浦孝康氏によるまとめ

 「セキュリティイシューへの事前準備と対応」では、ダイバーシティの確保という観点からのDNSサービスの紹介、そして、攻撃に備えるための項目や体制作りの実例として、権威DNSサーバーやキャッシュDNSサーバーに対する監視についての発表が行われた。

 「DNSセキュリティイシューへの対応」では、DNSセキュリティイシュー対応として、ドメイン名レジストリ、セキュリティコーディネーター、情報セキュリティ普及啓発機関、セキュリティ事業者それぞれの観点からどのように対応するかという話題を中心に議論が進められた。

 今回のDNS DAYではそのテーマ上、センシティブな話も含まれており、記事掲載はお控えいただきたいとする内容も数多くあった。Internet Weekは技術を中心としたイベントであることからそうした本音の議論やその場ならではの内容も多く、やはり会場に足を運び自ら積極的に参加することが大事だと感じた一日となった。

(遠山 孝)