SlideShare une entreprise Scribd logo
1  sur  18
Télécharger pour lire hors ligne
10分でわかる幽霊問題

dnstudy#03 / qpstudy#09 懇親会 LT
         2012年2⽉25⽇
            森下 泰宏
        @OrangeMorishita


     Copyright © 2012 Yasuhiro Orange Morishita, all rights reserved.   1
「わかった気になる」が正しい!
      by @tss_ontap


 10分でわかる幽霊問題

dnstudy#03 / qpstudy#09 懇親会 LT
         2012年2⽉25⽇
            森下 泰宏
        @OrangeMorishita


     Copyright © 2012 Yasuhiro Orange Morishita, all rights reserved.   2
自⼰紹介
  (twitterのプロフィール)
• 46歳男性。JPドメイン名の中の⼈。DNS
  との付き合いも早20年超。「いかにわか
  りやすく技術情報を伝えるか」が最近の
  課題。既婚。修⾏僧(⻘組)。太⽥裕美
  さんファン。どんどん深⼊りする因果な
  性格。某少⼥マンガの若い⼆⼈の⾏く末
  に超やきもき。ツイートは私の個⼈的⾒
  解であり勤務先や関係団体の公式⾒解と
  は異なることがあります。

     Copyright © 2012 Yasuhiro Orange Morishita, all rights reserved.   3
幽霊問題(脆弱性)とは?
• 2012年2⽉8⽇に中国・清華大学のHaixin Duan
  (段海新)⽒らのグループによって発表された
  論⽂「Ghost Domain Names: Revoked Yet
  Still Resolvable」で報告
  – その前⽇にISCが「BIND 9全部だめぽ」と緊急発表
• 親(上位)ゾーンにおける委任情報(NSレコー
  ド)の削除後も⻑期にわたって、名前解決可能
  な状態に仕向けることができる脆弱性
• 消える(なくなる)はずのものが残り続ける
  – Ghost Domain Name(幽霊ドメイン名)

         Copyright © 2012 Yasuhiro Orange Morishita, all rights reserved.   4
どんな時に困るか?
• フィッシングやボットネットの制御、マルウェ
  アの伝播など、不正な目的で使われているドメ
  イン名を強制的に使用不能にするのを妨害され
  る可能性がある
• 不正に使われていたドメイン名を強制的に移転
  する際、移転を妨害される可能性がある
• ドメイン名を新規登録したら昔誰かが使ってい
  たので幽霊つきだった(広域で再現させづらい
  が、可能性としては技術的にあり得る)


     Copyright © 2012 Yasuhiro Orange Morishita, all rights reserved.   5
影響を受ける(幽霊が出る)
•   論⽂発表時点におけるすべてのBIND 9
•   djbdns(dnscache)
•   Unbound 1.4.7以前
•   PowerDNS recursor
•   Windows Server 2008に付属のMS DNS
•   数多くの公開DNSキャッシュサービス
•   論⽂著者グループが調べた2万弱のオープ
    ンリゾルバーのうち、約70%以上
    – 1週間幽霊をキープできたものの割合
          Copyright © 2012 Yasuhiro Orange Morishita, all rights reserved.   6
影響を受けない(幽霊が出ない)

• Unbound 1.4.8以降
• MaraDNS
• Windows Server 2008 R2に付属のMS
  DNS
• Google Public DNS




       Copyright © 2012 Yasuhiro Orange Morishita, all rights reserved.   7
幽霊が出る場所
• キャッシュDNSサーバーのキャッシュ中
• 消えるはずのものが残り続ける
 – 「亡霊」の⽅が近いかもしれない
• 影響を受けるキャッシュDNSサーバーは
  「haunted resolver」と名付けられた
 – haunted house: 幽霊(お化け)屋敷
 – haunted resolverは何と訳せばよい?
• 権威DNSサーバーには幽霊は出ない
 – 再帰検索要求の受付をオフにしておくこと!

       Copyright © 2012 Yasuhiro Orange Morishita, all rights reserved.   8
幽霊が出る理由
• DNSプロトコルの不備(明確に規定/定
  義されていないため、実装依存となって
  いる部分)を突いたもの
 – 幽霊が出る実装と出ない実装が存在する
• 背景にある重要な⼆つの事項
 – NSレコードの信頼度
 – キャッシュの更新ポリシー



     Copyright © 2012 Yasuhiro Orange Morishita, all rights reserved.   9
NSレコードの信頼度
• NSレコードは親・⼦の双⽅に存在する
 – どちらのNSレコードを優先すべきか?
• DNSのプロトコル仕様の明確化について
  定めたRFC 2181では、⼦のNSレコード
  をより⾼い信頼度(trustworthiness)で
  取り扱うように規定されている
• そのため、現在のキャッシュDNSサー
  バーの実装では、⼦のNSレコードを優先
  的に使用する形が主流となっている
       Copyright © 2012 Yasuhiro Orange Morishita, all rights reserved.   10
キャッシュの更新ポリシー
• キャッシュDNSサーバーに既にキャッ
  シュされているデータを置き換える(上
  書きする)際の条件・ポリシー
• こちらもRFC 2181の「信頼度」が関係
• 既にキャッシュされているデータと同じ
  信頼度を持っているデータを受け取った
  場合、データを置き換える(上書きす
  る)かどうかは現在のDNSプロトコルで
  は定められておらず、実装依存となって
  いる
     Copyright © 2012 Yasuhiro Orange Morishita, all rights reserved.   11
幽霊が出る条件(の⼀例)
• 前提1:親の委任情報が消される前に、その
  ドメイン名が既にキャッシュされている
 – キャッシュされていない場合、幽霊は出ない
• 前提2:攻撃者が委任先ゾーンの制御を握っ
  ている
  という前提で…




     Copyright © 2012 Yasuhiro Orange Morishita, all rights reserved.   12
幽霊が出る条件(の⼀例)
• そのドメイン名がキャッシュから消える前に
  「そのゾーン内の違う名前(Aレコード)」を
  検索させるように仕向ける
 – 新しいNSレコード(下記)の名前にすると確実
• ただし、その前にそのゾーンの権威DNSサー
  バー上のNSレコードを「NSの名前は違うが、
  その名前のAレコードのIPアドレスは今のもの
  と同じ」状態に設定変更しておく
• …というのを、NSの名前を変えながら繰り返す
• 詳しいことは元の論⽂&最後に紹介する資料を
  ご欄くださいませ

      Copyright © 2012 Yasuhiro Orange Morishita, all rights reserved.   13
除霊の⽅法
• 幽霊を⾒つけ次第キャッシュをクリアする
 – ISCが推奨
 – でもどうやって⾒つけるの?
• 定期的にキャッシュをクリアする
 – 今のところ⼀番よさげ
 – でもISPとかだと結構大変だよね…
• 幽霊が出ない実装/サービスに取り換える
 – 次ページ参照

      Copyright © 2012 Yasuhiro Orange Morishita, all rights reserved.   14
幽霊が出ない実装/サービス
• Unbound 1.4.8以降
  – 最新版を使いましょう
• MaraDNS
  – 「親のNS」を優先するのでお奨めできない
  – 権威DNSサーバーの引っ越しに悪影響が出る可能性あり
• Windows Server 2008 R2に付属のMS DNS
  – 「DNS cache locking」という技術を使っているらしい
  – MSのWebにホワイトペーパーがあります
• Google Public DNS
  – Googleに頼るリスク、毒⼊れのリスク、Akamaiがうま
    くロードバランスしないなど、以前からの未解決の問題

            Copyright © 2012 Yasuhiro Orange Morishita, all rights reserved.   15
Unbound 1.4.8以降では
      なぜ幽霊が出ないのか
• UnboundもBINDと同様、同じ信頼度を持ってい
  るデータを受け取った場合データを置き換える
  (上書きする)
• ただし、置き換えたレコードのTTL値はそれまで
  持っていたものをそのまま使う(置き換えない)
 – この変更はそもそも「浸透問題」に対するより良い対
   策のために、Unbound 1.4.8で導⼊されたもの
 – TTLは「キャッシュしてよい時間」なので、この動作は
   RFCに違反していない
• ただし、現在のUnboundではunbound.confで
  prefetch:yesとしていると幽霊が出るので注意
 – 発⾒者: @hdais さん(開発元に報告、修正済)
 – 次回のリリースで修正される予定

        Copyright © 2012 Yasuhiro Orange Morishita, all rights reserved.   16
この問題をもっと知りたい
• この問題(幽霊問題)はいわゆる「浸透問題」と同根です
• でも、浸透問題が起こる実装と幽霊が出る実装は⼀対⼀対
  応ではありません
• その理由やしくみを勉強することで、DNSの委任のしくみ
  や関係する諸問題に関する深い理解が得られます
• ぜひ論⽂を読みましょう(平易な英語で読みやすいです)
 段海新さんの公式Web:
 http://netsec.ccert.edu.cn/duanhx/
• その前にこれ読むといいかもです(頑張って書きました!)
 「ghost domain names(幽霊ドメイン名)」脆弱性について
 http://jprs.jp/tech/notice/2012-02-17-ghost-domain-names.html
• ⾊々適当にツイートしてますので、お気軽にフォローくださいませ
 – でも、趣味(修⾏)のことや某少⼥漫画のことも遠慮なくつぶやきますw


               Copyright © 2012 Yasuhiro Orange Morishita, all rights reserved.   17
ありがとうございました!

  @OrangeMorishita




  Copyright © 2012 Yasuhiro Orange Morishita, all rights reserved.   18

Contenu connexe

Tendances

DNS 入門
DNS 入門DNS 入門
DNS 入門Sho A
 
全文検索In着うた配信サービス
全文検索In着うた配信サービス全文検索In着うた配信サービス
全文検索In着うた配信サービスtechtalkdwango
 
UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編hdais
 
#dnstudy 01 Unboundの紹介
#dnstudy 01 Unboundの紹介#dnstudy 01 Unboundの紹介
#dnstudy 01 Unboundの紹介Takashi Takizawa
 
Gree大規模分散ストレージ戦略
Gree大規模分散ストレージ戦略Gree大規模分散ストレージ戦略
Gree大規模分散ストレージ戦略gree_tech
 
DNSキャッシュサーバ チューニングの勘所
DNSキャッシュサーバ チューニングの勘所DNSキャッシュサーバ チューニングの勘所
DNSキャッシュサーバ チューニングの勘所hdais
 
HDFS HA セミナー #hadoop
HDFS HA セミナー #hadoopHDFS HA セミナー #hadoop
HDFS HA セミナー #hadoopCloudera Japan
 
Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)
Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)
Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)NTT DATA OSS Professional Services
 
本当にあったHadoopの恐い話 Blockはどこへきえた? (Hadoop / Spark Conference Japan 2016 ライトニングトー...
本当にあったHadoopの恐い話Blockはどこへきえた? (Hadoop / Spark Conference Japan 2016 ライトニングトー...本当にあったHadoopの恐い話Blockはどこへきえた? (Hadoop / Spark Conference Japan 2016 ライトニングトー...
本当にあったHadoopの恐い話 Blockはどこへきえた? (Hadoop / Spark Conference Japan 2016 ライトニングトー...NTT DATA OSS Professional Services
 
キャッシュ・権威 兼用型浸透問題への対処
キャッシュ・権威 兼用型浸透問題への対処キャッシュ・権威 兼用型浸透問題への対処
キャッシュ・権威 兼用型浸透問題への対処hdais
 
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)NTT DATA OSS Professional Services
 
CDH4.1オーバービュー
CDH4.1オーバービューCDH4.1オーバービュー
CDH4.1オーバービューCloudera Japan
 
HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)
HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)
HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)NTT DATA OSS Professional Services
 
HDFSのスケーラビリティとマルチマスタへの取り組み
HDFSのスケーラビリティとマルチマスタへの取り組みHDFSのスケーラビリティとマルチマスタへの取り組み
HDFSのスケーラビリティとマルチマスタへの取り組みshunsuke Mikami
 
DNS RFCの歩き方(短縮版)
DNS RFCの歩き方(短縮版)DNS RFCの歩き方(短縮版)
DNS RFCの歩き方(短縮版)Takashi Takizawa
 
DNSの運用を考える
DNSの運用を考えるDNSの運用を考える
DNSの運用を考えるaeoe
 

Tendances (20)

DNS 入門
DNS 入門DNS 入門
DNS 入門
 
全文検索In着うた配信サービス
全文検索In着うた配信サービス全文検索In着うた配信サービス
全文検索In着うた配信サービス
 
UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編
 
#dnstudy 01 Unboundの紹介
#dnstudy 01 Unboundの紹介#dnstudy 01 Unboundの紹介
#dnstudy 01 Unboundの紹介
 
Gree大規模分散ストレージ戦略
Gree大規模分散ストレージ戦略Gree大規模分散ストレージ戦略
Gree大規模分散ストレージ戦略
 
DNSキャッシュサーバ チューニングの勘所
DNSキャッシュサーバ チューニングの勘所DNSキャッシュサーバ チューニングの勘所
DNSキャッシュサーバ チューニングの勘所
 
HDFS HA セミナー #hadoop
HDFS HA セミナー #hadoopHDFS HA セミナー #hadoop
HDFS HA セミナー #hadoop
 
Apache Sparkのご紹介 (後半:技術トピック)
Apache Sparkのご紹介 (後半:技術トピック)Apache Sparkのご紹介 (後半:技術トピック)
Apache Sparkのご紹介 (後半:技術トピック)
 
Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)
Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)
Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)
 
Apache Spark 1000 nodes NTT DATA
Apache Spark 1000 nodes NTT DATAApache Spark 1000 nodes NTT DATA
Apache Spark 1000 nodes NTT DATA
 
本当にあったHadoopの恐い話 Blockはどこへきえた? (Hadoop / Spark Conference Japan 2016 ライトニングトー...
本当にあったHadoopの恐い話Blockはどこへきえた? (Hadoop / Spark Conference Japan 2016 ライトニングトー...本当にあったHadoopの恐い話Blockはどこへきえた? (Hadoop / Spark Conference Japan 2016 ライトニングトー...
本当にあったHadoopの恐い話 Blockはどこへきえた? (Hadoop / Spark Conference Japan 2016 ライトニングトー...
 
キャッシュ・権威 兼用型浸透問題への対処
キャッシュ・権威 兼用型浸透問題への対処キャッシュ・権威 兼用型浸透問題への対処
キャッシュ・権威 兼用型浸透問題への対処
 
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
 
CDH4.1オーバービュー
CDH4.1オーバービューCDH4.1オーバービュー
CDH4.1オーバービュー
 
DNSのRFCの歩き方
DNSのRFCの歩き方DNSのRFCの歩き方
DNSのRFCの歩き方
 
HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)
HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)
HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)
 
HDFSのスケーラビリティとマルチマスタへの取り組み
HDFSのスケーラビリティとマルチマスタへの取り組みHDFSのスケーラビリティとマルチマスタへの取り組み
HDFSのスケーラビリティとマルチマスタへの取り組み
 
DNS RFCの歩き方(短縮版)
DNS RFCの歩き方(短縮版)DNS RFCの歩き方(短縮版)
DNS RFCの歩き方(短縮版)
 
HDFS Router-based federation
HDFS Router-based federationHDFS Router-based federation
HDFS Router-based federation
 
DNSの運用を考える
DNSの運用を考えるDNSの運用を考える
DNSの運用を考える
 

Similaire à 10分でわかる幽霊問題-事後資料

既出のDNS キャッシュポイズニング
既出のDNS キャッシュポイズニング既出のDNS キャッシュポイズニング
既出のDNS キャッシュポイズニングnemumu
 
ダイナミックDNSとは
ダイナミックDNSとはダイナミックDNSとは
ダイナミックDNSとはTakeshi Kabu
 
ちゃんとWeb会議
ちゃんとWeb会議ちゃんとWeb会議
ちゃんとWeb会議Masayuki Abe
 
DDoS-taisaku-etc
DDoS-taisaku-etcDDoS-taisaku-etc
DDoS-taisaku-etcmatsu17673
 
ドメインとDNS これだけ知ろう5つの技 / 第5回Creators Meetup session04
ドメインとDNS これだけ知ろう5つの技  / 第5回Creators Meetup session04ドメインとDNS これだけ知ろう5つの技  / 第5回Creators Meetup session04
ドメインとDNS これだけ知ろう5つの技 / 第5回Creators Meetup session04Akira Matsuda
 
Mutualized Oblivious DNS (μODNS): Hiding a tree in the wild forest
Mutualized Oblivious DNS (μODNS): Hiding a tree in the wild forestMutualized Oblivious DNS (μODNS): Hiding a tree in the wild forest
Mutualized Oblivious DNS (μODNS): Hiding a tree in the wild forestJun Kurihara
 
Okuyama説明資料 20120119 ss
Okuyama説明資料 20120119 ssOkuyama説明資料 20120119 ss
Okuyama説明資料 20120119 ssTakahiro Iwase
 
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例terurou
 
AWSerにも知ってほしいDBの話
AWSerにも知ってほしいDBの話AWSerにも知ってほしいDBの話
AWSerにも知ってほしいDBの話Kenichiro Mori
 
KOBE IT FESTIVAL 2012
KOBE IT FESTIVAL 2012KOBE IT FESTIVAL 2012
KOBE IT FESTIVAL 2012Hiroshi Bunya
 
dnsops.jp BoF 2009 - DNS Prefetch の影響
dnsops.jp BoF 2009 - DNS Prefetch の影響dnsops.jp BoF 2009 - DNS Prefetch の影響
dnsops.jp BoF 2009 - DNS Prefetch の影響Chika Yoshimura
 
Softlayerを申込んでみた参考資料 140730
Softlayerを申込んでみた参考資料 140730Softlayerを申込んでみた参考資料 140730
Softlayerを申込んでみた参考資料 140730YoshiyukiKonno
 
Ncstudy#03 ニフティクラウドapiを利用して、何かつくってみよう slide
Ncstudy#03 ニフティクラウドapiを利用して、何かつくってみよう slideNcstudy#03 ニフティクラウドapiを利用して、何かつくってみよう slide
Ncstudy#03 ニフティクラウドapiを利用して、何かつくってみよう slideYoshifumi Hoda
 
Wb埼玉09 ハンズオン CPIサーバー使ってみよう
Wb埼玉09 ハンズオン CPIサーバー使ってみようWb埼玉09 ハンズオン CPIサーバー使ってみよう
Wb埼玉09 ハンズオン CPIサーバー使ってみよう忠之 日下部
 
【JAWS DAYS 2014】ランサーズを支えるRDS
【JAWS DAYS 2014】ランサーズを支えるRDS【JAWS DAYS 2014】ランサーズを支えるRDS
【JAWS DAYS 2014】ランサーズを支えるRDSYuki Kanazawa
 
ドメイン名入門
ドメイン名入門ドメイン名入門
ドメイン名入門Sho A
 
トランザクションの設計と進化
トランザクションの設計と進化トランザクションの設計と進化
トランザクションの設計と進化Kumazaki Hiroki
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれKumazaki Hiroki
 

Similaire à 10分でわかる幽霊問題-事後資料 (20)

既出のDNS キャッシュポイズニング
既出のDNS キャッシュポイズニング既出のDNS キャッシュポイズニング
既出のDNS キャッシュポイズニング
 
ダイナミックDNSとは
ダイナミックDNSとはダイナミックDNSとは
ダイナミックDNSとは
 
ちゃんとWeb会議
ちゃんとWeb会議ちゃんとWeb会議
ちゃんとWeb会議
 
DDoS-taisaku-etc
DDoS-taisaku-etcDDoS-taisaku-etc
DDoS-taisaku-etc
 
ドメインとDNS これだけ知ろう5つの技 / 第5回Creators Meetup session04
ドメインとDNS これだけ知ろう5つの技  / 第5回Creators Meetup session04ドメインとDNS これだけ知ろう5つの技  / 第5回Creators Meetup session04
ドメインとDNS これだけ知ろう5つの技 / 第5回Creators Meetup session04
 
Mutualized Oblivious DNS (μODNS): Hiding a tree in the wild forest
Mutualized Oblivious DNS (μODNS): Hiding a tree in the wild forestMutualized Oblivious DNS (μODNS): Hiding a tree in the wild forest
Mutualized Oblivious DNS (μODNS): Hiding a tree in the wild forest
 
Okuyama説明資料 20120119 ss
Okuyama説明資料 20120119 ssOkuyama説明資料 20120119 ss
Okuyama説明資料 20120119 ss
 
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
 
AWSerにも知ってほしいDBの話
AWSerにも知ってほしいDBの話AWSerにも知ってほしいDBの話
AWSerにも知ってほしいDBの話
 
KOBE IT FESTIVAL 2012
KOBE IT FESTIVAL 2012KOBE IT FESTIVAL 2012
KOBE IT FESTIVAL 2012
 
dnsops.jp BoF 2009 - DNS Prefetch の影響
dnsops.jp BoF 2009 - DNS Prefetch の影響dnsops.jp BoF 2009 - DNS Prefetch の影響
dnsops.jp BoF 2009 - DNS Prefetch の影響
 
Softlayerを申込んでみた参考資料 140730
Softlayerを申込んでみた参考資料 140730Softlayerを申込んでみた参考資料 140730
Softlayerを申込んでみた参考資料 140730
 
Ncstudy#03 ニフティクラウドapiを利用して、何かつくってみよう slide
Ncstudy#03 ニフティクラウドapiを利用して、何かつくってみよう slideNcstudy#03 ニフティクラウドapiを利用して、何かつくってみよう slide
Ncstudy#03 ニフティクラウドapiを利用して、何かつくってみよう slide
 
DNS について
DNS についてDNS について
DNS について
 
Wb埼玉09 ハンズオン CPIサーバー使ってみよう
Wb埼玉09 ハンズオン CPIサーバー使ってみようWb埼玉09 ハンズオン CPIサーバー使ってみよう
Wb埼玉09 ハンズオン CPIサーバー使ってみよう
 
【JAWS DAYS 2014】ランサーズを支えるRDS
【JAWS DAYS 2014】ランサーズを支えるRDS【JAWS DAYS 2014】ランサーズを支えるRDS
【JAWS DAYS 2014】ランサーズを支えるRDS
 
ドメイン名入門
ドメイン名入門ドメイン名入門
ドメイン名入門
 
トランザクションの設計と進化
トランザクションの設計と進化トランザクションの設計と進化
トランザクションの設計と進化
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれ
 
B2-4 DNS でいま起きていること
B2-4 DNS でいま起きていることB2-4 DNS でいま起きていること
B2-4 DNS でいま起きていること
 

10分でわかる幽霊問題-事後資料

  • 1. 10分でわかる幽霊問題 dnstudy#03 / qpstudy#09 懇親会 LT 2012年2⽉25⽇ 森下 泰宏 @OrangeMorishita Copyright © 2012 Yasuhiro Orange Morishita, all rights reserved. 1
  • 2. 「わかった気になる」が正しい! by @tss_ontap 10分でわかる幽霊問題 dnstudy#03 / qpstudy#09 懇親会 LT 2012年2⽉25⽇ 森下 泰宏 @OrangeMorishita Copyright © 2012 Yasuhiro Orange Morishita, all rights reserved. 2
  • 3. 自⼰紹介 (twitterのプロフィール) • 46歳男性。JPドメイン名の中の⼈。DNS との付き合いも早20年超。「いかにわか りやすく技術情報を伝えるか」が最近の 課題。既婚。修⾏僧(⻘組)。太⽥裕美 さんファン。どんどん深⼊りする因果な 性格。某少⼥マンガの若い⼆⼈の⾏く末 に超やきもき。ツイートは私の個⼈的⾒ 解であり勤務先や関係団体の公式⾒解と は異なることがあります。 Copyright © 2012 Yasuhiro Orange Morishita, all rights reserved. 3
  • 4. 幽霊問題(脆弱性)とは? • 2012年2⽉8⽇に中国・清華大学のHaixin Duan (段海新)⽒らのグループによって発表された 論⽂「Ghost Domain Names: Revoked Yet Still Resolvable」で報告 – その前⽇にISCが「BIND 9全部だめぽ」と緊急発表 • 親(上位)ゾーンにおける委任情報(NSレコー ド)の削除後も⻑期にわたって、名前解決可能 な状態に仕向けることができる脆弱性 • 消える(なくなる)はずのものが残り続ける – Ghost Domain Name(幽霊ドメイン名) Copyright © 2012 Yasuhiro Orange Morishita, all rights reserved. 4
  • 5. どんな時に困るか? • フィッシングやボットネットの制御、マルウェ アの伝播など、不正な目的で使われているドメ イン名を強制的に使用不能にするのを妨害され る可能性がある • 不正に使われていたドメイン名を強制的に移転 する際、移転を妨害される可能性がある • ドメイン名を新規登録したら昔誰かが使ってい たので幽霊つきだった(広域で再現させづらい が、可能性としては技術的にあり得る) Copyright © 2012 Yasuhiro Orange Morishita, all rights reserved. 5
  • 6. 影響を受ける(幽霊が出る) • 論⽂発表時点におけるすべてのBIND 9 • djbdns(dnscache) • Unbound 1.4.7以前 • PowerDNS recursor • Windows Server 2008に付属のMS DNS • 数多くの公開DNSキャッシュサービス • 論⽂著者グループが調べた2万弱のオープ ンリゾルバーのうち、約70%以上 – 1週間幽霊をキープできたものの割合 Copyright © 2012 Yasuhiro Orange Morishita, all rights reserved. 6
  • 7. 影響を受けない(幽霊が出ない) • Unbound 1.4.8以降 • MaraDNS • Windows Server 2008 R2に付属のMS DNS • Google Public DNS Copyright © 2012 Yasuhiro Orange Morishita, all rights reserved. 7
  • 8. 幽霊が出る場所 • キャッシュDNSサーバーのキャッシュ中 • 消えるはずのものが残り続ける – 「亡霊」の⽅が近いかもしれない • 影響を受けるキャッシュDNSサーバーは 「haunted resolver」と名付けられた – haunted house: 幽霊(お化け)屋敷 – haunted resolverは何と訳せばよい? • 権威DNSサーバーには幽霊は出ない – 再帰検索要求の受付をオフにしておくこと! Copyright © 2012 Yasuhiro Orange Morishita, all rights reserved. 8
  • 9. 幽霊が出る理由 • DNSプロトコルの不備(明確に規定/定 義されていないため、実装依存となって いる部分)を突いたもの – 幽霊が出る実装と出ない実装が存在する • 背景にある重要な⼆つの事項 – NSレコードの信頼度 – キャッシュの更新ポリシー Copyright © 2012 Yasuhiro Orange Morishita, all rights reserved. 9
  • 10. NSレコードの信頼度 • NSレコードは親・⼦の双⽅に存在する – どちらのNSレコードを優先すべきか? • DNSのプロトコル仕様の明確化について 定めたRFC 2181では、⼦のNSレコード をより⾼い信頼度(trustworthiness)で 取り扱うように規定されている • そのため、現在のキャッシュDNSサー バーの実装では、⼦のNSレコードを優先 的に使用する形が主流となっている Copyright © 2012 Yasuhiro Orange Morishita, all rights reserved. 10
  • 11. キャッシュの更新ポリシー • キャッシュDNSサーバーに既にキャッ シュされているデータを置き換える(上 書きする)際の条件・ポリシー • こちらもRFC 2181の「信頼度」が関係 • 既にキャッシュされているデータと同じ 信頼度を持っているデータを受け取った 場合、データを置き換える(上書きす る)かどうかは現在のDNSプロトコルで は定められておらず、実装依存となって いる Copyright © 2012 Yasuhiro Orange Morishita, all rights reserved. 11
  • 12. 幽霊が出る条件(の⼀例) • 前提1:親の委任情報が消される前に、その ドメイン名が既にキャッシュされている – キャッシュされていない場合、幽霊は出ない • 前提2:攻撃者が委任先ゾーンの制御を握っ ている という前提で… Copyright © 2012 Yasuhiro Orange Morishita, all rights reserved. 12
  • 13. 幽霊が出る条件(の⼀例) • そのドメイン名がキャッシュから消える前に 「そのゾーン内の違う名前(Aレコード)」を 検索させるように仕向ける – 新しいNSレコード(下記)の名前にすると確実 • ただし、その前にそのゾーンの権威DNSサー バー上のNSレコードを「NSの名前は違うが、 その名前のAレコードのIPアドレスは今のもの と同じ」状態に設定変更しておく • …というのを、NSの名前を変えながら繰り返す • 詳しいことは元の論⽂&最後に紹介する資料を ご欄くださいませ Copyright © 2012 Yasuhiro Orange Morishita, all rights reserved. 13
  • 14. 除霊の⽅法 • 幽霊を⾒つけ次第キャッシュをクリアする – ISCが推奨 – でもどうやって⾒つけるの? • 定期的にキャッシュをクリアする – 今のところ⼀番よさげ – でもISPとかだと結構大変だよね… • 幽霊が出ない実装/サービスに取り換える – 次ページ参照 Copyright © 2012 Yasuhiro Orange Morishita, all rights reserved. 14
  • 15. 幽霊が出ない実装/サービス • Unbound 1.4.8以降 – 最新版を使いましょう • MaraDNS – 「親のNS」を優先するのでお奨めできない – 権威DNSサーバーの引っ越しに悪影響が出る可能性あり • Windows Server 2008 R2に付属のMS DNS – 「DNS cache locking」という技術を使っているらしい – MSのWebにホワイトペーパーがあります • Google Public DNS – Googleに頼るリスク、毒⼊れのリスク、Akamaiがうま くロードバランスしないなど、以前からの未解決の問題 Copyright © 2012 Yasuhiro Orange Morishita, all rights reserved. 15
  • 16. Unbound 1.4.8以降では なぜ幽霊が出ないのか • UnboundもBINDと同様、同じ信頼度を持ってい るデータを受け取った場合データを置き換える (上書きする) • ただし、置き換えたレコードのTTL値はそれまで 持っていたものをそのまま使う(置き換えない) – この変更はそもそも「浸透問題」に対するより良い対 策のために、Unbound 1.4.8で導⼊されたもの – TTLは「キャッシュしてよい時間」なので、この動作は RFCに違反していない • ただし、現在のUnboundではunbound.confで prefetch:yesとしていると幽霊が出るので注意 – 発⾒者: @hdais さん(開発元に報告、修正済) – 次回のリリースで修正される予定 Copyright © 2012 Yasuhiro Orange Morishita, all rights reserved. 16
  • 17. この問題をもっと知りたい • この問題(幽霊問題)はいわゆる「浸透問題」と同根です • でも、浸透問題が起こる実装と幽霊が出る実装は⼀対⼀対 応ではありません • その理由やしくみを勉強することで、DNSの委任のしくみ や関係する諸問題に関する深い理解が得られます • ぜひ論⽂を読みましょう(平易な英語で読みやすいです) 段海新さんの公式Web: http://netsec.ccert.edu.cn/duanhx/ • その前にこれ読むといいかもです(頑張って書きました!) 「ghost domain names(幽霊ドメイン名)」脆弱性について http://jprs.jp/tech/notice/2012-02-17-ghost-domain-names.html • ⾊々適当にツイートしてますので、お気軽にフォローくださいませ – でも、趣味(修⾏)のことや某少⼥漫画のことも遠慮なくつぶやきますw Copyright © 2012 Yasuhiro Orange Morishita, all rights reserved. 17
  • 18. ありがとうございました! @OrangeMorishita Copyright © 2012 Yasuhiro Orange Morishita, all rights reserved. 18