トップ «前の日記(2021-03-15) 最新 編集

インターノット崩壊論者の独り言


EPIC2014
Google Public DNS (8.8.8.8, 8.8.4.4) 経由では本サイトにアクセスできないよう措置させて頂いております。

2021-03-31 DNS キャッシュサーバでのアクセス制限だけでは不十分

隠れオープンリゾルバのスキャナを作ってみた

Bernhard Müller が "IMPROVED DNS SPOOFING USING NODE RE-DELEGATION" という論文を発表し、カミンスキーが新たなキャッシュポイズニング手法を編み出したと称して間違った解説を行い世界を騒がせたのが 2008 年のことでした。

そしてキャッシュポイズニング対策として DNS キャッシュサーバのポートランダマイズが世界的に進められる中で、残存する未対策のサーバを発見し注意喚起するために私が Port Randomize Tester を作ったのは 10 年前 (2011年) でした。

また 2008 年当時は DNS 権威サーバの 8 割がオープンリゾルバという状況でしたが、JPCERT/CC などの活動でその対策も進み、その数は急激に減少しました。

しかし、このたびふと思い立ち、海外の某所から送信元を詐称したクエリを投げて調査を行ってみたところ想像以上に多くの隠れオープンリゾルバが残存していることがわかりました。調査対象としたのは私が管理している DNS コンテンツサーバ (この e-ontap.com や reflection.co.jp など 20 ドメインほどの権威サーバ) へのクエリログから抽出した約 100,000 の IP アドレスです。

スキャン総数は 104,979 アドレス、普通のオープンリゾルバ (A) が 4511 (4.3%)、詐称クエリに対してオープンなリゾルバ (B) が 8103 (7.7%)、B + (A - (A ∩ B)) は 10739 (10.2%) でした。

そしてその約 1 万件のうち PTR レコードが JP を指しているものが以下のように見つかりました。

JP全体: 707
AD.JP: 255
NE.JP: 177
CO.JP: 93
AC.JP: 44
OR.JP: 33
GO.JP: 13
ED.JP: 2
LG.JP: 1
PREF.*.JP: 1

想像以上の数でした。大手 ISP (AD.JP/NE.JP) や政府機関 (GO.JP) などにも隠れオープンリゾルバが多く見つかったため、これらのデータは JPCERT/CC へ 3/8 に報告してあります。

JPCERT/CC さんにも注意喚起を頑張って欲しいのですが、私も何か出来ないかと思って、調査に使ったスキャナを Port Randomize Tester から呼び出して訪問者のリゾルバがオープンかどうかを検査をできる機能を付け加えました。 Port Randomize Tester を訪問すると連携している海外某所のサーバからブラウザが使用しているリゾルバへ詐称クエリが飛び、そのリゾルバからのクエリを Port Randomize Tester で動いている権威サーバが検出して判定を行う仕組みです。

このページを訪問して、もし "openresolver for the world" だとか "openresolver against spoofing" とか赤い字で表示されたら、そのサーバはオープンでありリフレクション攻撃の踏み台やキャッシュポイズニングあるいは実装の脆弱性を突く攻撃に弱い可能性がありますから、当該サーバのネットワーク管理者に改善を促してください。

どういう詐称パケットを投げているかは詳しく説明しないほうがよいと思いますが、多くは Ingress Filtering つまり自組織の IP アドレスが外部から流入しない (また自組織の IP アドレス以外が外部に出ていかない) ようにするという基本的な対策が境界ルータ(あるいはファイアウォール)で行われていないことが原因です。適切に対策されていれば詐称パケットはそもそも組織のネットワークへ流入しません。DNS キャッシュサーバでのアクセス制限だけでは不十分だということを理解しましょう。

p.s: 対策状況の観察をこちらでつづけています。

本日のツッコミ(全5件) [ツッコミを入れる]
だめじゃん (2021-05-19 09:55)

このまま公開すると、コロナワクチンの脆弱性を公開した報道と同じだな。脆弱性に気が付いていないサーバ管理者のサーバも公開される可能性がある。 <br>公開しても、対策とってくれるかは別で、単に攻撃者が攻撃に利用するリストが入手しやすくなるというだけの効果しかない。

tss (2021-05-19 17:14)

悪いやつらはとっくに見つけていますよ。私が闇に落ちてこっそり攻撃したほうがよかったですかね。ちなみに JPCERT/CC には 3/8 に通報してあります。

tss (2021-05-19 17:24)

攻撃者はこんなまだるっこしいサイトを利用してターゲットを探したりしませんよ。

tss (2021-05-20 08:44)

なお、サーバを公開する予定はありません。JPドメイン(名)が公開対象です。

だめじゃん (2021-05-21 14:53)

脆弱性をお伝えしてシステム管理者に修正をお願いして全然対応してくれないので、公開したくなる気持ちはわかります。攻撃して地獄に落ちろと思っています。ただ、人を罰する権利はないので、我慢するしかない。 <br> <br>気にしている主な点は、以下ですね。 <br>攻撃に利用できるJPドメイン名のリストになると考えられる点、公開したら脆弱だったサーバに対して脆弱性情報を公開するのはIPAの脆弱性公開のポリシー?に反する点、ブラウザのループスクリプトで逮捕される国である点かな? <br> <br>公開されたらシステム管理者に、公開されているから直せって言うネタにはなりますが、shodan でも公開されてるって、何度もお願いして直してくれないので意味あるかな? <br> <br>サーバを運用している企業一覧だと、名誉棄損で訴えられそうだし。 <br> <br>リスト公開して効果を測定してまとめたら、研究論文とかで発表できそうなネタですね。 <br> <br>


最近の日記

2008|04|05|06|07|08|10|11|
2009|02|03|04|06|07|09|10|11|
2010|01|03|06|09|10|11|12|
2011|01|02|03|05|06|07|10|11|
2012|03|06|07|10|11|12|
2013|02|03|04|05|06|08|09|10|11|
2014|01|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|07|08|09|10|11|12|
2016|01|06|08|12|
2017|03|07|08|09|12|
2018|04|08|10|11|
2019|01|02|07|11|12|
2020|01|02|03|05|06|07|08|
2021|02|03|

リンク

Copyright by T.Suzuki