カミンスキー攻撃とはサイバー攻撃の手法の一つで、DNSサーバのキャッシュ機能を利用してドメインの乗っ取りや偽サイトへの誘導を行うもので、不正なサイトへの誘導で「フィッシング詐欺」や「マルウェア感染」などの被害を引き起こすものです。名前の由来は、この脆弱性が、ダン・カミンスキー氏により発表されたことに由来しています。
具体的に「どのような攻撃かわからないので、対策方法が知りたい!」という方のために、今回は、このカミンスキー攻撃がどういったものか、そしてどうすれば防げるのか整理しました。
カミンスキー攻撃とは?
カミンスキー攻撃とは、端的に言うと「DNSキャッシュ・ポイズニング」を効果的に行うことが出来るようにするものです。
いきなり「DNSキャッシュ・ポイズニング」と言われても何のことかわからないですよね。「DNSキャッシュ・ポイズニング」とは、以下のようなものです。
こういったことがカミンスキー攻撃によって頻繁に行われるようになると、以下のような被害が発生する可能性があります。
- 偽サイトへ飛ばされるなどでフィッシング被害にあう
- 不正なサイトへ誘導されマルウェアなどに感染する
また、国内のプロバイダーに対してあった事例では「DNS水攻め」と呼ばれる、存在しないアドレスを大量に問い合わせすることでネットワーク負荷を増大させてサービスを停止してしまうといったものもあります。
ちなみに「カミンスキー攻撃」の名称は、この脆弱性が、2008年7月にダン・カミンスキー(Dan Kaminsky)氏により発表されたことに由来しています。
DNSサーバには、「権威DNSサーバ」と「キャッシュDNSサーバ」の2種類があります。
「権威DNSサーバ」は、ドメイン名の階層構造を構成し、名前情報を管理します。それに対し「キャッシュDNSサーバ」は、ユーザー(クライアント)の要求を受け「権威DNSサーバ」群によるドメイン名の階層構造をたどり、名前解決サービスを提供します。
カミンスキー攻撃の原因とは?
では、カミンスキー攻撃、そしてDNSキャッシュ・ポイズニングはなぜ起こるのでしょうか。DNSキャッシュ・ポイズニングでは、DNSの再帰検索と呼ばれる仕組みを悪用しています。
DNSの再帰検索は以下のようなものです。
- ①あるドメインの問い合わせをDNSサーバに行う
- ②DNSサーバが情報を持たない場合、他のDNSサーバに問い合わせて返事を返す
DNSキャッシュ・ポイズニングは、
- ①で存在しないドメインの問い合わせ情報に送った上で、
- ②で応答される情報の偽物を大量に送るもの
です。これによって、ある特定の条件下でDNSのなりすましなどが発生してしまうのです。これは、「DNSサーバに存在する脆弱性や実際に設定内容」などにも原因があります。
被害事例
カミンスキー攻撃が実際に行われ、被害が出た事例にはどういったものがあるのでしょうか。ここでいくつか例に挙げて見ていきましょう。
ケース1:国内プロバイダーに対する攻撃
2014年に発生した事例です。国内のプロバイダー多数が、カミンスキー攻撃を受けた結果、DNSサーバの応答が著しく低下し、場合によっては利用できなくなるなどの被害が発生しました。
ケース2:海外での事例
スパム対策組織のSpamhaus Projectと米Cloudflare社に対する2013年3月の攻撃事例です。これらのDNSサーバに対して大量の攻撃が行われた結果、サービス停止などが発生しただけでなくネットワークの負荷が増大し、ヨーロッパを中心に大規模な通信障害が発生しました。
攻撃されないための対策
ここまで見てきて、カミンスキー攻撃が非常に悪質かつ巧妙なものであること、そしてそれによる被害が多数発生していることがお分かりいただけたと思います。
では、攻撃がなされないように、攻撃から防御するために私たちは何をすべきなのでしょうか。カミンスキー攻撃に対する防御は次の3つがポイントになります。基本的にはサーバ管理者としての対策です。
- DNSサーバの設定で、キャッシュの有効期限を長くする
- DNSの問い合わせポートを固定ではなくランダムにする(ソースポートランダマイゼーション)
- DNSSECと呼ばれるDNSのセキュリティ機能拡張を導入する
など
特に、DNSは通常UDP/TCPの53番ポートを使用して問い合わせのやりとりを行いますが、このポートをランダムに変更することで、53番ポートをターゲットとした攻撃は意味がなくなります。
まとめ
DNSサーバのキャッシュ機能を悪用して偽サイトへの誘導やドメインの乗っ取りを行う「DNSキャッシュ・ポイズニング」と、それを使った攻撃手法であるカミンスキー攻撃。これらは、以下のような被害をもたらす悪質かつ巧妙なサイバー攻撃です。
- フィッシング詐欺
- マルウェアなどに感染する
- アクセス過多によるDNSサービスの停止
こういった被害は例えば国内のプロバイダや海外でも過去に発生しています。これらはひとたび発生すると今回紹介したような大きな被害が発生します。そういったカミンスキー攻撃による被害に合わないようにするためには、今回紹介した「ポートランダマイゼーション」「DNSキャッシュの有効期限延長」や「パッチの適用」などの対策が有効です。
対策をしっかりと行うことで、カミンスキー攻撃の被害を未然に防ぐことが出来るようになります。
DNSサーバのキャッシュ機能を悪用し、ドメイン名の乗っ取りや偽サイトへの転送を行うこと