DNS関連の攻撃

IT

今回は、DNS関連の攻撃について勉強していきたいと思います。DNS関連の主な3つの、

  1. DNSリフレクタ攻撃(amp攻撃)
  2. DNSキャッシュポイズニング
  3. DNS水責め攻撃

について情報安全確保支援士の過去問を用いながら理解していきたいと思います。

1. DNSリフレクタ攻撃(amp攻撃)

こちらも情報安全確保支援士試験「令和3年度春期 午後Ⅰ問2」を参考に見ていきましょう。


表1及び表2の構成では攻撃者は、送信元のIPアドレスを偽装した名前解決要求を外部DNSサーバに送ることによって、外部DNSサーバを踏み台とし、攻撃対象となる第三者のサーバに対し大量のDNSパケットを送り付けるというDoS攻撃を行える。

出典:令和3年度 春期 情報処理安全確保支援士試験 午後Ⅰ 問2

ネタバレになってしまいますが、[c]にはAが入ります。Aレコードとは、ホスト名に対応するIPv4アドレス定義するものです。ポイントとなるのは攻撃者が送信元を偽って大量の名前解決要求を行う点です。図を使って流れを見ていきましょう。

流れ

登場人物:とあるサーバA(コンテンツサーバ)、キャッシュDNSサーバ、攻撃者

  1. 攻撃者は攻撃対象のとあるサーバAを装ってキャッシュサーバに大量の問い合わせをします。
  2. キャッシュサーバは名前解決を行い、とあるサーバAに大量の回答を送ります。
    DoS攻撃が成立します。
図. DNSキャッシュポイズニング攻撃の流れ

主な被害

今回の被害者はキャッシュサーバととあるサーバAです。
キャッシュサーバに関しては、

  • 踏み台になる
    という被害を受けます。

とあるサーバAは大量に回答が送られてくるので、

  • 動作が重くなる
  • 動作不能になる

といった被害が考えられます。

また、一般的に1の問い合わせ時のパケットより2の回答のパケットの方がサイズが大きいため、amp(増幅)攻撃とも呼ばれます

対策

①権威DNSサーバとフルサービスリゾルバを分け、キャッシュサーバをオープンリゾルバにしない。(インターネットからのアクセスを許可しない。)

今回の例だと権威DNSサーバとキャッシュサーバは分かれていますが、さらにキャッシュサーバを内部からのアクセスのみに制限すれば流れの1が成立しないので、攻撃を防ぐことができます。

2. DNSキャッシュポイズニング

こちらも情報安全確保支援士試験「令和3年度春期 午後Ⅰ問2」を参考に見ていきましょう。


二つ目のリスクは、DNSキャッシュポイズニング攻撃によるリソースレコードの改ざんのリスクである。DNSキャッシュポイズニング攻撃が成功すると、攻撃対象のフルサービスリゾルバが管理するリソースレコードのうち、メールサーバの[c]レコードのIPアドレスが、例えば攻撃者のメールサーバのものに書き変えられてしまい、電子メールが攻撃者のサーバに送信されてしまう。

出典:令和3年度 春期 情報処理安全確保支援士試験 午後Ⅰ 問2


ネタバレになってしまいますが、[c]にはAが入ります。Aレコードとは、ホスト名に対応するIPv4アドレス定義するものです。ここでのポイントはこの攻撃によってリソースレコードの改ざんが行われるということです。図を使って流れを見ていきましょう。

流れ

流れは意外にも単純です。
登場人物:プー子さん、権威DNSサーバ、キャッシュDNSサーバ、攻撃者

  1. キャッシュDNSサーバが権威DNSサーバに名前解決を要求します。
  2. 本来は権威DNSサーバが回答するところ、攻撃者が偽のIPアドレスをキャッシュDNSサーバに回答します。
    キャッシュDNSサーバに誤った情報が登録されます。
図. DNSキャッシュポイズニングの流れ

主な被害

前章で述べたように、攻撃が成功すると、キャッシュDNSサーバに誤った情報(攻撃者が仕込んだフィッシングサイトなど)が登録されます。主な被害としては、

  • 電子メールが攻撃者のサーバに送信され、機密情報などが抜き取られる
  • 偽サイトに誘導され、フィッシングの被害に遭う

などが挙げられます。

対策

①権威DNSサーバとフルサービスリゾルバを分け、キャッシュサーバをオープンリゾルバにしない。(インターネットからのアクセスを許可しない。)

p9の8行目に「一つ目の対策は、一つ目のリスクへの対策を流用することである」とあります。この対策を施すことで、キャッシュサーバにインターネットからのアクセスができなくなるので、おのずと攻撃者もアクセスができなくなります。

②送信元ポート番号をランダムにする

p9の9行目に「二つ目の対策は、送信元ポート番号を[d]する対策である。」とあります。dにはランダム化が入ります。問い合わせを行うたびにポート番号を変えることで攻撃者がポート番号を特定することを困難にします

③DNSSECを利用する

p9の11行目に注目します。「DNSサーバから受け取るリソースレコードに付与されたディジタル署名を利用して、リソースレコードの送信者の正当性とデータの完全性を検証」とあります。この対策を施すことで流れの図の3の段階で攻撃者から回答が来た時に不整合となり、キャッシュDNSサーバのレコードが書き変わるのを防ぎます

攻撃を効率アップさせる”カミンスキー攻撃”

攻撃者が正規の送信者を装い、キャッシュサーバに対して、ドメインは実在するが存在しないホスト名で問い合わせることで、キャッシュサーバから権威DNSサーバへの問い合わせを強制的に発生させます。

3. DNS水責め攻撃

こちらの攻撃については、平成29年春期 午前Ⅱ 問6を用いて理解していきたいと思います。
こちらの答えは、イ になります。

出典:平成29年度 春期 情報処理安全確保支援士試験 午前Ⅱ 問6


ここでポイントとなるのはオープンリゾルバに対し、ランダムかつ大量に問い合わせを行なっている点です。図を使って見ていきましょう。

流れ

登場人物:権威DNSサーバ、(オープンリゾルバになっている)キャッシュDNSサーバ、攻撃者

  1. 攻撃者は、存在しないホスト名を大量に生成し、インターネット上のオープンリゾルバになっているキャッシュDNSサーバに名前解決を要求します。
  2. もちろんこれらのキャッシュはないので、キャッシュDNSサーバはドメイン名を見て、該当のドメインの権威DNSサーバに大量にIPアドレスを要求します。
    DoS攻撃が成立します。
図. DNS水責め攻撃の流れ


主な被害

DoS攻撃なので、被害はDNSリフレクタ攻撃と同じで、被害者はキャッシュサーバととあるサーバAです。
キャッシュサーバに関しては、

  • 踏み台になる
    という被害を受けます。

とあるサーバAは大量に回答が送られてくるので、

  • 動作が重くなる
  • 動作不能になる

といった被害が考えられます。

対策

①権威DNSサーバとフルサービスリゾルバを分け、キャッシュサーバをオープンリゾルバにしない。(インターネットからのアクセスを許可しない。)

対策についてもDNSリフレクタ攻撃と同じで、キャッシュサーバを内部からのアクセスのみに制限すれば流れの1が成立しないので、攻撃を防ぐことができます

まとめ

いかがでしたでしょうか。今回はDNS関連の攻撃についてまとめました。

最近は特に情報安全確保支援士でDNS関連の問題が出てくる頻度が多いです。この記事が少しでも皆さんの理解のお手伝いになれば幸いです。

ここまでお読みいただきありがとうございました!

コメント