SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
DNSポイズニングと
Kaminsky Attack
平木康傑
はじめまして
• 平木です
• ハッキング実演の担当者です
• 今年は解説に重点を置いています
• あっちで没になった攻撃を解説します
ブロッキング
• 今話題ですね
• 漫画村
• どうやってするの
DNSブロッキング
• ブロッキングに使われる手法の一つ
• DNS…?
ブラウザ
• ウェブサイトにアクセスしてページを表示する
• 通信のおおまかな仕組み
1. ブラウザがサーバにリクエストを送る
2. サーバが諸々の処理をする
3. サーバがブラウザにレスポンス(返答)を送る
サーバ?
• https://www.npca.jp/about/
• https://www.npca.jp/activity/
• https://www.npca.jp/works/
サーバ?
• https://www.npca.jp/about/
• https://www.npca.jp/activity/
• https://www.npca.jp/works/
• “ドメイン” (電話帳でいう「平木くん」といった名前)
• www.npca.jp がドメインとなるサーバに
/about, /activity, /works などを頼んでいる
IPアドレス?
• 実際にサーバを探すにはドメインとは別のものを使う
• IPアドレス
IPアドレス
• インターネットでの識別番号 (電話番号のようなもの)
• IPv4とIPv6がある
• IPv4の例: 192.168.2.11
• IPv6の例: fe80::e219:1dff:fe43:d0c2
• IPv4は恐らくそのうち枯渇する
• 解決策としてIPv6が誕生
IPアドレス
• 実際にブラウザで172.217.161.46にアクセスしてみる
IPアドレス
• 実際にブラウザで172.217.161.46にアクセスしてみる
• google.com と 172.217.161.46 が対応
IPアドレス
• 実際にブラウザで172.217.161.46にアクセスしてみる
• google.com と 172.217.161.46 が対応
• google.com: 電話帳の名前
• 172.217.161.46: 電話番号
電話帳?
• 電話帳にあたるものがDNS (Domain Name System)
ユーザ 名前サーバ 権威サーバ
npca.jpはどこ npca.jpはどこ
119.245.240.198119.245.240.198
1 2
34
キャッシュ
• 電話帳にあたるものがDNS (Domain Name System)
• 一々調べていると面倒なので,
名前サーバが結果を一定時間覚えている(キャッシュ)ことが多い
ユーザ
名前サーバ
(兼cache)
権威サーバ
npca.jpはどこ
119.245.240.198
1
2
Npca.jpは
119.245.240.198
だったな
ID
• 複数の質問を同時にさばくため,またセキュリティのために
質問にはIDがつけられる
• IDが合致しなかった返答は無視する
ユーザ 名前サーバ 権威サーバ
npca.jpはどこ npca.jpはどこ
ID: A86D
ID: A86D
119.245.240.198119.245.240.198
1 2
34
DNSポイズニング
• 名前サーバに嘘のアドレスを教えたい
• 権威サーバが答えるよりも早く,
65536通りのIDを総当たりしてウソを吹きこめばよい
• これ自体は問題ではない
ユーザ 名前サーバ 権威サーバ
npca.jpはどこ npca.jpはどこ
ID: A86D
114.51.41.9
1 2
34 悪いやつ114.51.41.9
ID: A86DID: 1919
ID: 32F9 ID: 750B
ID: F6DD
DNSポイズニング
• 問題はキャッシュする時間(TTL;TimeTo Live)
• これを結構長くすることで成功率は低く抑えられた
ユーザ 名前サーバ 権威サーバ
npca.jpはどこ
119.245.240.198
1
2 悪いやつ
DNSポイズニング
• 問題はキャッシュする時間(TTL;TimeTo Live)
• これを結構長くすることで成功率は低く抑えられた
• よかったね
ユーザ 名前サーバ 権威サーバ
npca.jpはどこ
119.245.240.198
1
2 悪いやつ
DNSポイズニング
• 問題はキャッシュする時間(TTL;TimeTo Live)
• これを結構長くすることで成功率は低く抑えられた
• よかったね
ユーザ 名前サーバ 権威サーバ
npca.jpはどこ
119.245.240.198
1
2 悪いやつ
By Dan Kaminsky - Own work, CC BY 3.0, https://commons.wikimedia.org/w/index.php?curid=41545878
Dan Kaminsky
• アメリカのセキュリティ研究者
• 2010年にはICANNによって
DNSSECルートの信頼できるコミュニティ代表者として選ばれた
By Dan Kaminsky - Own work, CC BY 3.0, https://commons.wikimedia.org/w/index.php?curid=41545878
Kaminsky Attack (CVE-2008-1447)
• 2008年8月に発表
• TTL(キャッシュ保存期間の長さ)を無視して攻撃が可能
• BIND 8.x.x, 9.0.x, 9.1.x, 9.2.x, 9.3.0-4, 9.4.0-2, 9.5.0a2-0a7, 9.5.0b1に影響
名前サーバ 権威サーバ
Kaminsky Attack (CVE-2008-1447)
• 乗っ取りたいドメイン名と同じドメイン内で,
存在しないドメイン名を問い合わせる(どういうこと?)
• 例(npca.jpをおかしくしたい): aaaa.npca.jpなどを聞く
名前サーバ 権威サーバ
aaaa.npca.jpはどこ
1
Kaminsky Attack (CVE-2008-1447)
• 数当てクイズに思う存分挑戦する!
名前サーバ 権威サーバ
aaaa.npca.jpはどこ aaaa.npca.jpはどこ
ID: A86D
1 2
114.51.41.9
ID: 1919
ID: 32F9
ID: 750B
ID: F6DD
Kaminsky Attack (CVE-2008-1447)
• 数当てクイズに思う存分挑戦する!
• 失敗しちゃった…
名前サーバ 権威サーバ
aaaa.npca.jpはどこ aaaa.npca.jpはどこ
ID: A86D
119.245.240.198
1 2
34
ID: A86D
114.51.41.9
Kaminsky Attack (CVE-2008-1447)
• 失敗しても,別のデタラメドメインですぐに再挑戦できる
• これでキャッシュされようがお構いなし
名前サーバ 権威サーバ
bbbb.npca.jpはどこ bbbb.npca.jpはどこ
ID: A86D
114.51.41.9
1 2
34 114.51.41.9
ID: A86D ID: 1919
ID: 32F9
ID: 750B
ID: F6DD
対策
• こわいなぁ
• そもそもIDを総当たりしにくくすればいいんだけど
プロトコルを変更する必要があるのでイヤらしい
• 問い合わせに使うポート番号をランダムに選ぶことで
ポート番号の範囲の分だけ難しくできる
• やったぜ
• 根本的な解決策としてDNSSECがある(ただし普及に時間が要る)
• 署名によって本人確認をすることで偽装・改竄を検出する
おわり
• ご清聴ありがとうございました
• 他の人の天才的なLTも見てね

Contenu connexe

Similaire à DNS poisoning and Kaminsky attack

次世代エンタープライズの開発環境をライブで読み解く
次世代エンタープライズの開発環境をライブで読み解く次世代エンタープライズの開発環境をライブで読み解く
次世代エンタープライズの開発環境をライブで読み解く
Shin Takeuchi
 

Similaire à DNS poisoning and Kaminsky attack (7)

マルチデバイス時代の高速化
マルチデバイス時代の高速化マルチデバイス時代の高速化
マルチデバイス時代の高速化
 
公開から4年間使ってきたbaserCMSをそろそろ本気でdisってみる(OSC2014福岡)
公開から4年間使ってきたbaserCMSをそろそろ本気でdisってみる(OSC2014福岡)公開から4年間使ってきたbaserCMSをそろそろ本気でdisってみる(OSC2014福岡)
公開から4年間使ってきたbaserCMSをそろそろ本気でdisってみる(OSC2014福岡)
 
俺のZabbixがこんなに可愛いわけがない(おかわり)
俺のZabbixがこんなに可愛いわけがない(おかわり) 俺のZabbixがこんなに可愛いわけがない(おかわり)
俺のZabbixがこんなに可愛いわけがない(おかわり)
 
Cloud Core VPSにマイクラ鯖を立てた話
Cloud Core VPSにマイクラ鯖を立てた話Cloud Core VPSにマイクラ鯖を立てた話
Cloud Core VPSにマイクラ鯖を立てた話
 
ストリーミングアーキテクチャ: State から Flow へ - 2016/02/08 Hadoop / Spark Conference Japan ...
ストリーミングアーキテクチャ: State から Flow へ - 2016/02/08 Hadoop / Spark Conference Japan ...ストリーミングアーキテクチャ: State から Flow へ - 2016/02/08 Hadoop / Spark Conference Japan ...
ストリーミングアーキテクチャ: State から Flow へ - 2016/02/08 Hadoop / Spark Conference Japan ...
 
はじめるCassandra
はじめるCassandraはじめるCassandra
はじめるCassandra
 
次世代エンタープライズの開発環境をライブで読み解く
次世代エンタープライズの開発環境をライブで読み解く次世代エンタープライズの開発環境をライブで読み解く
次世代エンタープライズの開発環境をライブで読み解く
 

Dernier

Dernier (10)

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 

DNS poisoning and Kaminsky attack