DNSキャッシュポイズニングとは、DNSサーバーのキャッシュを書き換えて、アクセスした人を偽のサイトに誘導する攻撃のことです。
もう少していねいにかくと、サイトの接続先を覚えている「DNSサーバー」というサーバーのキャッシュ(メモ)のようなものを書き換えて、本来アクセスしたかったところとは、別のサイトにアクセスさせること。
「よくわからん!」となっていると思うので、これからじっくり解説します。
DNSキャッシュポイズニングとは、アクセスした人を偽のサイトに誘導
DNSキャッシュポイズニングとは、DNSサーバーのキャッシュを書き換えて、アクセスした人を偽のサイトに誘導する攻撃のこと。
ひとことでさらっと書いていますが、予備知識として、
①ドメイン②DNSサーバー
の2つについて知っておく必要があるので解説します。
ドメインとは?
ドメイン(正確に言うと「ドメイン名」)とは、サイトのアドレスのこと。
「ひよこSEのつぶやきブログ」であれば、”https://se-piyopiyo.com”の”se-piyopiyo.com”という部分がドメイン。
たとえば、「”se-piyopiyo.com”に接続したい」と思ったとき。
「ドメインは人間様にとってはわかりやすいけど、コンピュータには、なんのこっちゃわからない」という問題点があります。
se-piyopiyo.com”とか”yahoo.co.jp”とか”google.com”のような、ドメインのままではなく。
コンピュータからしてみれば、「https://183.78.220.222」(数字は適当)のように「IPアドレス」と呼ばれる形式でないと、どこのサイトにアクセスすればいいかを判断できないというわけです。
DNS(ドメイン・ネーム・システム)サーバーとは?
そこで、「ドメイン」(“se-piyopiyo.com”)を「IPアドレス」(183.78.220.222)に、だれかが変換してあげないといけません。
ドメインをIPアドレスに変換する役割を持つのが、DNS(ドメイン・ネーム・システム)サーバー。
- D:domain
- N:name
- S:system
いかつい感じのDNSサーバーは、ドメインをIPアドレスに変換して、コンピュータに渡す。
DNSサーバーのおかげで、人間からしたら「https://se-piyopiyo.com」と打ち込めば、「ひよこSEのつぶやきブログ」に接続できるというわけです。
DNSサーバーは、ドメイン⇔IPアドレスの対応表をキャッシュする
ただ、DNSサーバーはめんどくさがり屋さん。
DNSサーバーは、「キャッシュ」と呼ばれるメモのようなものに、「ドメイン⇔IPアドレス」の対応表をあらかじめ書き出しておきます。
インターネットの世界では、ドメインの数は星の数ほどあるので。
「う~んと」と頭を抱えてながら、「ドメイン⇔IPアドレス」の結びつきを毎度、探していたら面倒。
人間がテストに出る英単語を、毎度、辞書を引かずに、ピックアップしてノートに書き写すように。
DNSサーバーも、「キャッシュ」として、よく使うドメインとIPアドレスを覚えておくわけです。
DNSサーバに、嘘のIPアドレスを教える
「あれ?DNSサーバーがキャッシュ(メモ)を作るなら、メモ帳を書き換えたらどうなるの?」と思った人は、するどいです。
DNSサーバーのキャッシュ(メモ)を書き換えて、嘘のIPアドレスを教えるのが、DNSキャッシュポイズニングです。
例えば、「ドメイン」(“se-piyopiyo.com”)に対応する「IPアドレス」は、183.78.220.222(数字はてきとう)が正しいとして。
「183.78.220.222をメモっておこう」とDNSサーバーがメモしようとした瞬間。
あるいはメモした後に、”183.78.220.222″を”183.78.110.111″に書きかえる。
誰かが”se-piyopiyo.com”にアクセスしようとしたときに、DNSサーバーは、メモを見るので。
“183.78.110.111”に対応する偽のサイト。例えば、「se-piypiy.com」に誘導されてしまうのがDNSキャッシュポイズニングです。
DNSキャッシュポイズニングの基本情報技術者試験(令和元年秋期)の出題例
DNSキャッシュポイズニングは、令和元年秋季の午前問35に出題されています(問題文)。
攻撃者が用意したサーバXのIPアドレスが,A社WebサーバのFQDNに対応するIPアドレスとして,B社DNSキャッシュサーバに記憶された。これによって,意図せずサーバXに誘導されてしまう利用者はどれか。ここで,A社,B社の各従業員は自社のDNSキャッシュサーバを利用して名前解決を行う。
ア A社WebサーバにアクセスしようとするA社従業員
イ A社WebサーバにアクセスしようとするB社従業員
ウ B社WebサーバにアクセスしようとするA社従業員
エ B社WebサーバにアクセスしようとするB社従業員
①A社のWebサーバーのIPアドレスが、サーバーXのIPアドレスになってる
②B社のDNSサーバーが書き換えられているので、B社の社員がA社のWebサーバーに接続するときに影響ある
ということさえわかれば、正解は「イ」だと一瞬でわかります。
まとめ
DNSキャッシュポイズニングときたら、DNSサーバーのキャッシュを書き換えて、アクセスした人を偽のサイトに誘導する攻撃のことです。
「DNSサーバー」は、サイトの接続先を知っているけど、全部覚えるのは大変だから「キャッシュ」というメモを使ってる。
「そのメモを書き換えることで、別のサイトに飛ばされちゃうんだなぁ~」と思ってくださいまし(-_-;)。
コメント