連載
» 2015年01月06日 18時00分 UPDATE

DNS Tips:DNSキャッシュポイズニング(キャッシュ汚染)攻撃とは何ですか?

DNSキャッシュポイズニング(キャッシュ汚染)攻撃がどうして起こるか、その原理を解説する。

[藤原 和典(JPRS),@IT]

 フルリゾルバ(いわゆるキャッシュDNSサーバー)は、名前解決の効率を上げるためにキャッシュを持っている。キャッシュには名前解決中に得られた情報を蓄積し、次回以降の名前解決時に有効に使用する。クエリ名/クエリタイプに一致する情報がキャッシュにあり、有効である場合、フルリゾルバはキャッシュにある情報をスタブリゾルバに返す。

 ここで、フルリゾルバのキャッシュに何らかの偽情報を注入することができると、エンドユーザーのクエリに対して偽情報を答えさせることができ、エンドユーザーを偽のWebサイトに誘導したり、エンドユーザーのメールなどを盗んだりすることができる。この行為を「DNSキャッシュポイズニング(キャッシュ汚染)攻撃」と呼ぶ。一度キャッシュへの注入が成功するとキャッシュでの生存期間、誘導が成功する。生存期間の長い情報を注入することで、汚染を長く継続することができる。図1にDNSへの攻撃を示すが、このうちの「B:注入」がそれであり、(3)(5)(7)を偽装するものである。

dnstips_cachepoisoning.gif 図1 DNSへの攻撃

 RFC 3833「Threat Analysis of the Domain Name System (DNS)」はDNSへの攻撃を分類しているが、そのうちの「2.2 ID Guessing and Query Prediction」と「2.3 Name Chaining」がDNSキャッシュポイズニング(キャッシュ汚染)攻撃である。後者の例としては、1997年に行われたInterNICに対するDNSキャッシュポイズニング(キャッシュ汚染)攻撃がある。しかし、現在の実装では対策されており、影響を受けない。前者は権威DNSサーバーへのクエリとレスポンスを推定し、権威DNSサーバーのレスポンスを偽造して本物のレスポンスよりも先に注入するものである。

 なお、RFC 3833の和訳はJPRSの以下の場所にある。必要に応じて参照していただきたい。

関連リンク

RFC 3833「DNS(Domain Name System)の脅威分析」

<http://jprs.jp/tech/material/rfc/RFC3833-ja.txt>


藤原 和典(ふじわら かずのり)

ph_fujiwara.jpg

所属:株式会社日本レジストリサービス(JPRS) 技術研究部

1992年より早稲田大学情報科学研究教育センターにて、助手として早稲田大学の研究教育系ネットワーク構築・運用にたずさわる。2002年にJPRS入社。DNS及び関連する技術の調査・研究、IETFでの標準化活動に従事。

著書・執筆:「ツールとしてのUNIX」(サイエンス社、深澤良彰編著、梅沢功、小野康一、落合大、藤原和典共著、1993年4月、ISBN4-7819-0700-8)、RFC 5483、RFC 5504、RFC 5825、RFC 6116、RFC 6856、RFC 6857。


Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。