勉強前イメージ
SECってことはセキュアなDNSってことかな?
調査
DNSSEC とは
DNS Security Extensions の略で、
DNSの情報に電子署名を付けることで、
DNSのデータが正しい発行元のデータであることを検証することができるようにする拡張仕様です。
なぜ正しいデータであることを検証しないとならないのか
DNSはドメイン名から対象のIPアドレスを教えてくれるシステムです。
webページを見る際にもDNSは使用されます。
このような重要なシステムですが、通信の殆どはUDPを使っており、また受け取った情報が正しいのかなどチェックしていなかったりします。
そこを突いた攻撃があります。
基本的なDNSの通信は以下になります。
ユーザが www.test.co.jp を見たい時、キャッシュサーバに問い合わせて
キャッシュサーバが各権威サーバに順番に問い合わせを行います。
キャッシュサーバがIPアドレスを取得したらユーザに返して、ユーザがそのIPアドレスでアクセスするという順番になります。
ですが、↑でも話したようにDNSの通信はUDPが多く使用されており、受け取り確認などもされていません。
チェックがされていないため、攻撃者が不正な応答を紛れ込ませてユーザに嘘のIPアドレスを教え、偽のサイトに誘導されるという攻撃方法があります。
そこでクレジットカードの情報が盗まれたりするなどフィッシング詐欺が考えられます。
これをキャッシュポイズニング攻撃と言います。
DNSSECの仕組み
DNSSECは公開鍵暗号のデジタル署名の技術を使用されています。
httpsのような汎用的なデジタル署名ではなく、DNSSEC専用のフォーマットが用意されています。
公開鍵暗号のデジタル署名されたDNS応答をキャッシュサーバが確認し、正しいDNS応答だと判断できれば
ユーザにIPアドレスを返すような形になっています。
勉強後イメージ
まだDNSSECの詳細まで来てないのに結構難しい...
今度鍵の種類とか見ていきます....