DNSポイズニング(DNS Poisoning)とは、ドメイン名をIPアドレスへ変換するDNSの仕組みに嘘の情報を覚え込ませ、利用者を偽のサイトへ誘導する攻撃のことです。偽の情報がDNSの一時記憶に残ることから、DNSキャッシュポイズニングとも呼ばれます。
現実世界に例えると、DNSポイズニングは電話帳の番号を書き換える手口のようなものです。利用者は正しい相手の名前を調べているのに、載っている番号がすり替わっているため、まったく別の相手につながってしまいます。
DNSがしていること
前提として、DNSは人が覚えやすい名前を、機器が使う番号へ変換する案内役です。この案内は毎回大もとへ問い合わせると時間がかかるため、身近なDNSサーバーが一定期間、答えを控えておきます。この控えが狙われます。
攻撃の流れ
| 順序 | 起きること |
|---|---|
| 1 | 攻撃者が、DNSサーバーへ偽の答えを送り込む |
| 2 | DNSサーバーが、その偽の情報を控えとして保持する |
| 3 | 利用者が正しい名前で問い合わせる |
| 4 | 偽のアドレスが返され、偽サイトへつながる |
気づきにくいのが最大の脅威
フィッシングであれば、よく見れば住所の綴りが違うなど手がかりがあります。ところがこの攻撃では、利用者が入力した住所そのものは正しいため、見た目からは異変に気づけません。ここが、他の手口と比べて厄介な点です。
被害が一気に広がる
狙われるのが個人の端末ではなく、多くの人が共有して使うDNSサーバーである点も深刻です。ひとつ汚染されれば、そのサーバーを使うすべての利用者が同時に偽サイトへ導かれることになります。
家庭の機器も狙われる
企業の設備だけの話ではありません。初期設定のままの家庭用ルーターに侵入し、参照先のDNSを攻撃者のものへ書き換える手口も確認されています。管理用のパスワードを変え、機器の更新を当てておくことが備えになります。
防ぐための仕組み
技術面では、DNSの答えが本物かどうかを電子署名で検証するDNSSECという仕組みが用意されています。また、問い合わせに使う番号を予測されにくくする改善も進められ、成立させること自体が難しくなってきています。
利用者側でできること
できることは限られますが、無力ではありません。通信が暗号化されているかを示す鍵の表示を確かめる、証明書の警告が出たら先へ進まない。偽サイトは正規の証明書を用意できないことが多いため、この確認が最後の砦になります。
控えは一定期間残り続ける
厄介なのは、いったん覚え込まれた偽の情報があらかじめ決められた期間、そのまま使われ続ける点です。攻撃そのものは一瞬で終わっても、影響はしばらく尾を引きます。異変に気づいた際には、控えを消し去る操作が復旧の第一歩になります。

コメント