SlideShare a Scribd company logo
1 of 33
Download to read offline
DNS Cache Poisoning
Why?
●
DNSキャッシュポイズニング攻撃に関する注意喚起
∙ http://www.jpcert.or.jp/at/2014/at140016.html
●
Heartbleedが派手だったのであまり知られてない?
●
ちなみに今日、このスライドとほぼ同じことを解説したブログが公開されてた
∙ Geekなページ 「DNSキャッシュポイズニングの基本と重要な対策」
∙ http://www.geekpage.jp/blog/?id=2014/4/25/1
∙ 確実にボクより詳しい方なので、続編もしっかりチェックしましょう
DNS
●
Domain Name System
●
ホスト名(正確に言うとFQDNかな)とIPアドレスのマッピング
∙ ipc.nagaokaut.ac.jp = 133.44.2.60
●
いわゆる名前解決ってやつですね
名前解決
ipc.nagaokaut.ac.jpってどこよ
キャッシュDNS
※ 身近な例で大学ドメインにしてるけど、学内からは多分こうなりません
  あとスペース足らなくってルートサーバ省略しちゃった
名前解決
ipc.nagaokaut.ac.jpってどこよ
jp権威サーバ
キャッシュDNS
名前解決
nagaokaut.ac.jpに聞いてくれ
jp権威サーバ
キャッシュDNS
名前解決
ipc.nagaokaut.ac.jpってどこよ
nagaokaut.ac.jp
権威サーバ
キャッシュDNS
名前解決
133.44.2.60だわ
nagaokaut.ac.jp
権威サーバ
キャッシュDNS
名前解決
133.44.2.60だわ
DNSサーバ
みんなでワーッてやっても大丈夫
権威サーバ
aaa.nagaokaut.ac.jpって
ddd.nagaokaut.ac.jpって
bbb.nagaokaut.ac.jpって
ccc.nagaokaut.ac.jpって
どこよ(0x39ab)
どこよ(0xf2bb)
どこよ(0x6c1e)
どこよ(0x7703)
問い合わせと同じ問い合わせと同じIDIDを付けてを付けて
応答するからモンダイないのさ応答するからモンダイないのさ
キャッシュDNS
ちょっとまとめ
●
IPアドレスがわからんホストのことは権威サーバに聞く
∙ 他の権威サーバに委任することがある
∙ オーバヘッド回避のためUDPを使う
∙ 権威サーバへの問い合わせには16bitのIDが付いてる
●
名前解決したホスト名は覚えておく
∙ これがDNSキャッシュ
∙ キャッシュしておく期間(TTL)は権威サーバが指示できる
で、ポイゾニングとは
ぽいぞぬーん
ipc.nagaokaut.ac.jpってどこよ
xxx.xxx.xxx.xxxだぜ
●
キャッシュしてある対応表が誤った状態
∙ 外部からこの状態をつくり出すことを「DNSキャッシュポイゾニング攻撃」と呼ぶ
おっ!そこは知っとるでぇ
xxx.xxx.xxx.xxxや! (キリッ
キャッシュDNS
How To 汚染
ipc.nagaokaut.ac.jpってどこよ
キャッシュDNS
How To 汚染
ipc.nagaokaut.ac.jpってどこよ
(ID = 0x1234)
jp権威サーバ
キャッシュDNS
How To 汚染
ipc.nagaokaut.ac.jpってどこよ
(ID = 0x1234)
jp権威サーバ
xxx.xxx.xxx.xxx (0x1871)
xxx.xxx.xxx.xxx (0x1234)
xxx.xxx.xxx.xxx (0xc8c2)
xxx.xxx.xxx.xxx (0x773d)
xxx.xxx.xxx.xxx (0x38f1)
オラ
オラ
オラ
オラ
オラ
オラ
オラ
オラ
キャッシュDNS
You did it!
ipc.nagaokaut.ac.jpってどこよ
(ID = 0x1234)
jp権威サーバ
オラ
オラ
オラ
オラ
オラ
オラ
オラ
オラ
xxx.xxx.xxx.xxx (0x1871)
xxx.xxx.xxx.xxx (0x1234)
xxx.xxx.xxx.xxx (0xc8c2)
xxx.xxx.xxx.xxx (0x773d)
xxx.xxx.xxx.xxx (0x38f1)
キャッシュDNS
なにが起きるのか
●
有害なサイトに誘導される
∙ フィッシング
∙ アドレスバーには自分が入力したものが表示されているので気付きにくい
(ちゃんとhttpsしてれば警告が出る)
●
名前解決できない
∙ DoS攻撃にもなる
●
などなど
どうする
●
TTLを長くしておけばイケるんじゃね?
∙ 外部問い合わせしてる最中に毒入れされる
∙ 外部問い合わせしなければ毒入れされない
∙ ずっとキャッシュしとく
∙ 割とこれで通用してた(現実的に困難とされた)時代もあったそうな
●
オラオラできるほどの通信速度や処理速度がなかった
∙ ちなみに
●
ipc.nagaokaut.ac.jpは86400秒(24時間)キャッシュされるっぽい
_人人人人人人人人人人人_
> 突然のカミンスキー <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄
カミンスキーアタック!
●
Dan Kaminskyさんが発見した効率的なポイズニング法
●
2008年に発表される
●
存在しないホスト名を名前解決させ強制的に外部問い合わせをさせる
応用
●
Bernhard Müllerさん
●
RFC1034の問題点を突いた
∙ 委譲応答が、キャッシュにあるものよりも解決したいホスト名に近い場合
その委譲を信頼して受け入れる
∙ abc.ipc.nagaokaut.ac.jpを問い合わせたとき、どっちを受け入れるか
●
nagaokaut.ac.jpに聞けよ。IPはxxx.xxx.xxx.xxxな。
●
ipc.nagaokaut.ac.jpに聞けよ。IPはxxx.xxx.xxx.xxxな。 ← こっち
Müllerの手法
abc.ipc.nagaokaut.ac.jpってどこよ
キャッシュDNS
Müllerの手法
abc.ipc.nagaokaut.ac.jpってどこよ
(ID = 0x1234)
jp権威サーバ
キャッシュDNS
Müllerの手法
jp権威サーバ
ipc.nagaokaut.ac.jpに
聞いてくれ
(0x38f1)
(0x1234)
(0xc8c2)
(0x773d)
オラ
オラ
オラ
オラ
オラ
オラ
オラ
オラ
キャッシュDNS
abc.ipc.nagaokaut.ac.jpってどこよ
(ID = 0x1234)
Kaminsky型の攻撃
●
毒を盛ることに失敗したら
∙ 存在しない名前を解決しようとしているので正しい応答はNot Found
∙ NXDOMAIN (3)
∙ ネガティブキャッシュされる
●
でも関係ない
∙ 別の架空のホスト名を問い合わせさせればいい
●
$random.ipc.nagaokaut.ac.jp
●
TTL切れを待つことなく連続攻撃が可能
どうする
●
Source Port Randomization
∙ 権威サーバへの問い合わせをする際のポートをランダムに変える
∙ デフォルトの53番固定をやめる
∙ IDだけでなくポートも一致しないと毒が入らない
∙ ポートの範囲は 0〜65535
∙ 成功率はぐっと下がる
∙ 攻撃を検知しやすくなるのかな
どうする
●
組織外からの問い合わせ要求は無視
∙ 身内から毒を盛られることはないと信じる
∙ 組織の内とか外とか関係なしに名前解決しちゃうやつをオープンレゾルバと呼ぶ
∙ ただし内部にマルウェア感染者がいると...
●
UDPやめてTCP使う
∙ 応答が偽装されやすいのはUDPを使ってるから
∙ 委譲応答が来たらTCPで再度問い合わせるのも有効だとか
∙ 当然ハンドシェイク等の手間は発生する
どうする
●
DNSSEC
∙ 公開鍵暗号方式で応答の正当性を確認する
∙ 対策として効果がない場合があるらしい
●
ここよくわからん
●
DNSCurve
∙ 全てのDNSパケットを楕円曲線暗号方式で暗号化する
∙ クライアントと権威サーバが直接やり取りする
●
DNSSECはキャッシュサーバを介して通信していた
∙ 現行の運用を考えたとき、導入コストが少ない
ちゃんと設定出来てるか心配だよね
●
DNSサーバを構築・管理するなら
∙ ポートのランダム化は必須。絶対。マスト
∙ 具体的な設定例はググってください
∙ テストできるツールもある
●
Web-based DNS Randomness Test
https://www.dns-oarc.net/oarc/services/dnsentropy
そろそろ飽きた?
●
またの機会に
∙ 親子同居問題
∙ 第1フラグメント便乗攻撃
∙ もっと深いところ(ボクが理解できたら)
●
質問あったらどうぞ
参考にさせて頂きました
●
JPRS 「JPRS トピックス&コラム No.009」
∙ http://jprs.jp/related-info/guide/009.pdf
●
JPNIC 「インターネット10分講座:DNSキャッシュポイズニング」
∙ https://www.nic.ad.jp/ja/newsletter/No40/0800.html
●
Internet Watch
「DNSのUDPメッセージサイズが512バイト以下に制限された背景とは」
∙ http://internet.watch.impress.co.jp/docs/event/20131202_625963.html
参考にさせて頂きました
●
Moinqmail.jp 「DNS」
∙ https://moin.qmail.jp/DNS
●
Geekなページ 「強烈なDNSキャッシュポイズニング手法が公開される」
∙ http://www.geekpage.jp/blog/?id=2014/4/16/1
●
Improved DNS Spoofing Using Node Re-delegation
∙ Bernhard Müller, 2008
∙ http://www.sec-consult.com/fxdata/seccons/prod/downloads/whi
tepaper-dns-node-redelegation.pdf

More Related Content

More from Joe_noh

パフォーマンス改善のためにやったこと・やらなかったこと
パフォーマンス改善のためにやったこと・やらなかったことパフォーマンス改善のためにやったこと・やらなかったこと
パフォーマンス改善のためにやったこと・やらなかったことJoe_noh
 
Vue.jsのユニットテスト
Vue.jsのユニットテストVue.jsのユニットテスト
Vue.jsのユニットテストJoe_noh
 
Vuexと入力フォーム
Vuexと入力フォームVuexと入力フォーム
Vuexと入力フォームJoe_noh
 
カラーミーAPIドキュメントの今後
カラーミーAPIドキュメントの今後カラーミーAPIドキュメントの今後
カラーミーAPIドキュメントの今後Joe_noh
 
サイクルOJTイントロダクション
サイクルOJTイントロダクションサイクルOJTイントロダクション
サイクルOJTイントロダクションJoe_noh
 
お産ウィークイントロダクション
お産ウィークイントロダクションお産ウィークイントロダクション
お産ウィークイントロダクションJoe_noh
 
モバイルアプリ研修イントロダクション
モバイルアプリ研修イントロダクションモバイルアプリ研修イントロダクション
モバイルアプリ研修イントロダクションJoe_noh
 
Webオペレーション研修イントロダクション
Webオペレーション研修イントロダクションWebオペレーション研修イントロダクション
Webオペレーション研修イントロダクションJoe_noh
 
Web開発研修イントロダクション
Web開発研修イントロダクションWeb開発研修イントロダクション
Web開発研修イントロダクションJoe_noh
 
リーンキャンバス
リーンキャンバスリーンキャンバス
リーンキャンバスJoe_noh
 
もっとgit
もっとgitもっとgit
もっとgitJoe_noh
 
できないことはPortで外注
できないことはPortで外注できないことはPortで外注
できないことはPortで外注Joe_noh
 
DBにseedするライブラリつくった
DBにseedするライブラリつくったDBにseedするライブラリつくった
DBにseedするライブラリつくったJoe_noh
 
やってみた -URL外形監視-
やってみた -URL外形監視-やってみた -URL外形監視-
やってみた -URL外形監視-Joe_noh
 
Elixirだ 第6回
Elixirだ 第6回Elixirだ 第6回
Elixirだ 第6回Joe_noh
 
Elixirだ 第5回
Elixirだ 第5回Elixirだ 第5回
Elixirだ 第5回Joe_noh
 
Elixirだ 第4回
Elixirだ 第4回Elixirだ 第4回
Elixirだ 第4回Joe_noh
 
Elixirだ 第3回
Elixirだ 第3回Elixirだ 第3回
Elixirだ 第3回Joe_noh
 
Elixirだ 第2回
Elixirだ 第2回Elixirだ 第2回
Elixirだ 第2回Joe_noh
 
Elixirだ 第1回強化版 後半
Elixirだ 第1回強化版 後半Elixirだ 第1回強化版 後半
Elixirだ 第1回強化版 後半Joe_noh
 

More from Joe_noh (20)

パフォーマンス改善のためにやったこと・やらなかったこと
パフォーマンス改善のためにやったこと・やらなかったことパフォーマンス改善のためにやったこと・やらなかったこと
パフォーマンス改善のためにやったこと・やらなかったこと
 
Vue.jsのユニットテスト
Vue.jsのユニットテストVue.jsのユニットテスト
Vue.jsのユニットテスト
 
Vuexと入力フォーム
Vuexと入力フォームVuexと入力フォーム
Vuexと入力フォーム
 
カラーミーAPIドキュメントの今後
カラーミーAPIドキュメントの今後カラーミーAPIドキュメントの今後
カラーミーAPIドキュメントの今後
 
サイクルOJTイントロダクション
サイクルOJTイントロダクションサイクルOJTイントロダクション
サイクルOJTイントロダクション
 
お産ウィークイントロダクション
お産ウィークイントロダクションお産ウィークイントロダクション
お産ウィークイントロダクション
 
モバイルアプリ研修イントロダクション
モバイルアプリ研修イントロダクションモバイルアプリ研修イントロダクション
モバイルアプリ研修イントロダクション
 
Webオペレーション研修イントロダクション
Webオペレーション研修イントロダクションWebオペレーション研修イントロダクション
Webオペレーション研修イントロダクション
 
Web開発研修イントロダクション
Web開発研修イントロダクションWeb開発研修イントロダクション
Web開発研修イントロダクション
 
リーンキャンバス
リーンキャンバスリーンキャンバス
リーンキャンバス
 
もっとgit
もっとgitもっとgit
もっとgit
 
できないことはPortで外注
できないことはPortで外注できないことはPortで外注
できないことはPortで外注
 
DBにseedするライブラリつくった
DBにseedするライブラリつくったDBにseedするライブラリつくった
DBにseedするライブラリつくった
 
やってみた -URL外形監視-
やってみた -URL外形監視-やってみた -URL外形監視-
やってみた -URL外形監視-
 
Elixirだ 第6回
Elixirだ 第6回Elixirだ 第6回
Elixirだ 第6回
 
Elixirだ 第5回
Elixirだ 第5回Elixirだ 第5回
Elixirだ 第5回
 
Elixirだ 第4回
Elixirだ 第4回Elixirだ 第4回
Elixirだ 第4回
 
Elixirだ 第3回
Elixirだ 第3回Elixirだ 第3回
Elixirだ 第3回
 
Elixirだ 第2回
Elixirだ 第2回Elixirだ 第2回
Elixirだ 第2回
 
Elixirだ 第1回強化版 後半
Elixirだ 第1回強化版 後半Elixirだ 第1回強化版 後半
Elixirだ 第1回強化版 後半
 

Recently uploaded

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 

Recently uploaded (7)

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 

DNSキャッシュポイゾニングについての話