マビノギ知識王

DNSキャッシュポイズニング
アルファ_tar 09/07/14 22:28

なにやら自由板で揉めてるようなのでちょいと調べて自分なりに理解したことをまとめてみた。
できるだけ素人さんにも判りやすくするために、厳密に言えば間違っている部分もあると思う。また、個人的な理解の上での書き込みなので本気で誤ってる部分もあるかもしれない。誤りなどあれば突っ込みよろしゅ。

なお、この内容は将来状況が変化する可能性もあるので「回答」する場合は書き込んだ年月日もあわせて書いておくれ。

2009/7/14

氷砂糖_mor えっと、古くからある脆弱性だけじゃなくて
2008年に発表された、新しい攻撃方式(Kaminsky attack)も踏まえたスレですよね?

そっちだと、存在しないドメインの問い合わせを行うので
サーバが知っている情報かどうかは関係ないとのことです。
少なくとも、IANAのチェックサイトは新しいほうの攻撃に対するチェックです。 09/07/15 05:03
氷砂糖_mor にゃんていうんだろう・・
知らないことをキャッシュサーバに問い合わせて、
キャッシュサーバはもちろん知らないからDNSコンテンツサーバに問い合わせる時に
DNSコンテンツサーバより早いタイミングでキャッシュサーバに嘘を教えるそうな・・

なんでキャッシュサーバが問い合わせにいくかって言うと
自分の管理しているドメインの中のことみたいに装うから、
(実は存在しないことへの質問なので)キャッシュにないから
DNSコンテンツサーバまで問い合わせにいっちゃうんですって。 09/07/15 05:43
アルファ_tar おはようさん。Kaminsky attackてのはより効率よく騙す方法、ということであって、DNSに対する影響/起こりうる被害という点では従来と変わらないと理解してるよ。 09/07/15 07:02
氷砂糖_mor そうなんだ、それなら知ってることに関する~っていうあいまいさを強調した記述はなんだったんだ・・w
知ってたんならそう書けばいいのに、脚注で初心者向けとかじゃないところじゃんか。。 09/07/15 08:06
氷砂糖_mor あぁ、そこまでわかっているのなら
キャッシュ切れなどによる、古くからの方法である
>自分が知っている」範囲の情報についてもウソ情報を仕込まれる可能性が有るのかどうか
は、もう前提事項のはずだよね・・

ネクソンのほうのDNSサーバの構成と種類について把握していないんじゃないかと思ったんだ。
だから、最後にそれを追記してみたんだけど・・ 09/07/15 09:05
アルファ_tar 実はさっぱりわからん。
自身の勉強不足というのが大きいんだが、BINDなのかWindowsServerなのか、ちょい調べてみればコンテンツサーバは公開しキャッシュサーバは停止/非公開が望ましい、場合によっては別々に立てよ、とかあったがネク鯖は結局どう構成されてんよとか、そいえばネクソンは自前でデータセンター持ってんじゃなくて借りてるとか聞いたが、そうすっとDNSはどうなってるんだ、他の何かと共用されたり仮想化されたりとかしてんのかとか、素人にはぴんと来ないことばっかりでどのくらいヤバいんだかさっぱり判らん。 09/07/16 23:27
アルファ_tar メンテされたからいちお再確認したら、
NS0.NEXON.CO.KR Is recursive, with source port randomisation
NS1.NEXON.CO.JP Not recursive
とか表示されるようになったねぇ。
叩かれてあわてて対応したか、風評被害を嫌ったか 09/07/16 23:29
氷砂糖_mor 旅行から今帰りました。
ほんとうにわからないみたいだから言うけど
それならなおのこと、よくわかってないのに自分でまとめて記事書かないほうがいいと思います。

書くとしても、ちゃんと人の意見を纏める立場として
自分の結論ありきで、足りない知識を書き連ねるなんてしないことが
最低限のマナーだと思いますよ。 09/07/17 17:17
アルファ_tar あのな、猿スレできゃっきゃするには問題すぎるネタだからこっち持ってきたんじゃないか。足りないとか間違ってるとかなら補完してくれ。端にも棒にもかからないなら新規に立て直しても構わん。
単に私の仕切りが気に食わないとかケチつけたいだけならメモにするか自由板で叫ぶかどこぞの晒し板にでも行ってくれ 09/07/17 23:54
氷砂糖_mor そういう態度でどこでもいってるから大変なんだと思うよ・・
この、最後のレス、とてもひどいですね。。

あなたが、猿って人のこというからにはきちんとしたものを立てるんだと期待していましたよ・・
でも、私は、一応知識の足りない、不足している部分を指摘したつもりだったし・・
それに対しては、知っていると答えるも、やることがちがうんだもの・・
知識不足を指摘されて、そんなふうに怒られるなら・・
どうしたらいいのかわからなくて悲しいです。 09/07/18 00:54
氷砂糖_mor 仕切りが気に食わないとかじゃないけど
自分の結論以外認めない状態では、
発展が望めないよ?
前からそうだったけど、アルファさんって
「こう」と思ったら、他は否定してでもそれになっちゃうから
もう少し、人を猿だなんて呼んだりしないで、
みんな平等にいこうよ・・ね? 09/07/18 00:58
氷砂糖_mor 自分に対する批判は、全部ケチになっちゃってはいないかな?
そうやって切り分けるのは、あなたは楽だけど
補完とかできないレベルになっちゃうよ、それだと。

人を猿と呼んだからには、それなりに読めるものが求められると思います・・
つまり、それなりに基礎知識はあった上での物は求められますね?
あなたのこの立て方では、結局猿がきゃっきゃとどこが違うのかわからないのです・・
(ノД`)・゜・。 09/07/18 01:04
アルファ_tar 様の答え
アルファ_tar 09/07/14 22:28

>DNSキャッシュポイズニングってなに?

例えばネクソン本社に電話をかけることを考えてみる。
あなたが電話番号を知っているならそのままかければよいが知らなかったらどうするか? 電話帳で調べる、104で問い合わせる、ネクソンのホームページで探す、などの方法で電話番号を調べてからかけることになるだろう。だが、もしそこでウソの電話番号を教えられたらどうなるか? ネクソン本社にかけてるつもりでまったく別の会社にかけてしまうことになる。

DNS とはネット上での名前→電話番号の検索を自動で行うプログラム(のようなもの)で、DNSキャッシュポイズニングとはこのプログラムに介入してウソの情報を登録して
ユーザを偽サイトに誘導するような手法のことを言う。

ものすごく大雑把に言えば、ネット上でのオレオレ詐欺と理解すればよい。
ただ、詐欺られるのはあなたではなくあなたのPCであるのだが。

アルファ_tar 様の答え
アルファ_tar 09/07/14 22:30

>DNSってどこにあるの?

およそネットにつながるコンピュ-タには全てDNSないし類似のプログラムが組み込まれていると思ってよい。
ネット上のDNSはそれぞれ連携して動作し、例えば、あなたがネット上のどこかのサイト(例えば www.nexon.co.jp)にウェブブラウザでアクセスするような場合、ウェブブラウザはまず自分自身が動作しているパソコンのOSに問合せを行う。
問い合わせを受けたOSが対応するアドレスを知っていれば良いが、知らなかった場合はOSはネットにつながっている手近のコンピュータのDNSに自動的に問い合わせる。
問合せを受けたDNSも知らなかった場合は更に・・・と伝言ゲームの要領で問合せを繰り返す、という仕組みである。

アルファ_tar 様の答え
アルファ_tar 09/07/14 22:31

>DNSキャッシュポイズニングについてもう少し詳しく

問合せを受けたDNSは、問合せの答えを持っていなかった場合は他のDNSに問合せに行く。その瞬間を狙い、又聞きした問合せに対する答えが返ってくる前に素早くウソの回答を送り込んでやるとDNSはころっと騙されてしまう(実際はもう少し複雑だが、原理的にはこういうことである)。

ちなみにDNSキャッシュポイズニングというものは最近になって現れたクラック手段ではなく1990年代から既に類似の事件があった、いわば古典的な攻撃手段。

根本的な対策は・・・というと実は「ない」。できることはできるだけ偽情報を送り込みにくく(クラッカがウソ情報を送り込むタイミングを把握しにくく)することのみ。

自由板で最近騒がれているのはネクソンのDNSが比較的騙されやすい設定になっている、という話。

アルファ_tar 様の答え
アルファ_tar 09/07/14 22:34

>それってヤバくね?

上で「パソコンOSは手近のDNSに自動的に問い合わせる」と書いた。なので、自分のパソコンが問い合わせるDNSにウソ情報が書き込まれていたら致命的な問題になるが、逆に言えば、自分自身のパソコンが問い合わせることのないDNSであるならどうでもいい、ということになる。

大抵の場合、PCの設定はプロバイダのDNSに問い合わせるように設定されていると思う(私の場合はプロバイダにニフティを使ってるのでニフティのDNSということになる)
もちろん伝言ゲームの要領で次々と繰り返し問合せを行うので、そのどこかがやられていれば問題になる。

だがしかし、だ。
ネクソンのDNSはネクソンの提供するコンテンツのためにある。ネクソンのDNSに問合せしなければならないような事柄はすべてネクソンのDNSが知っていることなので他のDNSに問い合わせる必要はない。つまりウソ情報を書き込まれる機会がない(※1)。
ネクソンの提供するコンテンツ以外の事柄についてはネクソンのDNSに聞いても知ってるはずがないので問い合わせる必要がない。

よって、ネクソンのDNSの設定の甘さは問題といえば問題なのだが即座にプレイヤーに致命的な問題を引き起こすものではない、と考えてよい(※2)。
むしろDNSの設定が甘い→他のサーバの設定も甘いんじゃねか?(=他に大穴開いてんじゃないの?)という疑いのほうが問題である(※3)。

(※1)「ウソ情報を書き込まれる機会がない」
確かDNSは自分が知っている情報について、あらかじめ教え込まれており、それ以外について問合せされた場合に外部に再問合せする、という仕組みだったように記憶しているが、時間が無くて「自分が知っている」範囲の情報についてもウソ情報を仕込まれる可能性が有るのかどうか確認できなかった。
気になる方は、次の「でもやっぱ不安だ」をトピックを参照のこと。

(※2)
DDOS攻撃の踏み台・・・という問題もあるようだが、パスワード更新問題とは無関係なので割愛する。

(※3)
騙されにくい設定にするとDNSの処理効率が落ちるのでそれを嫌って対策しない、という例もあるらしい。

アルファ_tar 様の答え
アルファ_tar 09/07/14 22:37

>でもやっぱ不安だ。パスワード変更はやめたほうがいい?

「パスワード変更はやめたほうがいい?」が「パスワード変更しなければ安全か?」という意味なら ※※ 大間違い ※※。

正しくは「ネクソンのサイトに一切アクセスしてはいけない」。マビ本体の起動も当然すべきでない。

「パスワード変更しなければ安全」というのはクラッカが偽サイトを作ってパスワード入力されるのを待ち構えている、ということを想定しているのだと思うが、考えてもみよ、それは全てのネクソンへのアクセスを全て横取りする、ということだ。毎日数千人がアクセスするネクソンのサイトのデータ転送量は半端じゃない(さっき見たら7万人が接続中などと表示されてた)。
そんなアクセスに耐えうる偽造サイトを構築するくらいなら「メンテナンス中です」のみ表示して、その裏でありとあらゆる攻撃スクリプトを実行するような偽サイトに誘導する、としたほうがよっぽど効率的だ。偽のアバターActiveXを送り込んであんなことこんなことやり放題、という手もある。
だからDNSキャッシュポイズニングが疑われるなら一切アクセスしない、が正しい対応となる(マビ卒業おめでとう!)
また、自由板やFA板の閲覧検索が正常にできているようなら偽サイトに誘導されているのではない、と思って大丈夫と思う。

だがもしかしたら、自由板からFA板からすべて本物そっくりに偽造したサイトを構築するような酔狂な攻撃をするクラッカもいるかもしれない。それを瞬時に見破るのはたぶん相当困難なことではないかと思われる。
そんな万に一つあるかどうかも判らない危険に備えてパスワード変更を見送るか、パスワード変更しないことの方のリスクを重視して変更するか、あとは個人の判断。

私は、定期的/またはヤバいと思ったらパスワード変更することを薦めるけどね。

氷砂糖_mor 様の答え
氷砂糖_mor 09/07/15 02:47

足りない頭でがんばってみた。。


・運営側的にDNSサーバというと

Ⅰ自分の管理してるゾーンに対しての質問を、ファイルからの検索により答えを返す仕事をするもの(ルートネームサーバとして機能する

Ⅱルートネームサーバに対する問い合わせと、その問い合わせの内容をキャッシュとして一時保管するもの(キャッシュサーバとして機能する

尚、上記Ⅰ及びⅡのDNSサーバは、NEXONのDNSサーバである(たとえ外部であっても監視する必要がある



今回の場合、Ⅱにあたるキャッシュサーバに対して、誤りのある情報がキャッシュとして外部から加えられることによって、そのキャッシュの有効期間内は問い合わせの内容にはその誤りのあるものを返し続けることになる。

※キャッシュは、管理者による操作がなければ、設定した期間を過ぎて廃棄されるまで上書きされない
※誤りのある情報を記録させる方法はDNSキャッシュポイズニングの仕込み方について調べて・・


・自由掲示板で貼られているIANAの危険度チェックサイトの判断基準は、このキャッシュサーバに対する外部PCからの問い合わせ強度に対するものであり、ネクソン側のキャッシュサーバの強度の目安である(仕込みやすさ


そして、IDパス入力ページの偽造ができる(ドメイン全部書き換えなければならないわけではない)場合もあるらしい。鯖管理の仕事の旦那が起きないと詳しくはわかんない。。

02:50 なんか自分が謎を呼んでたらしいので、自分の謎文を修正。