カミンスキー攻撃の対策|情報処理安全確保支援士 平成29年 秋期午前Ⅱ試験 問6

出典:平成29年秋期 午前Ⅱ 問6 分野:セキュリティ / 情報セキュリティ
DNSに対するカミンスキー攻撃(Kaminsky's attack)への対策はどれか。
  • ア:DNSキャッシュサーバと権威DNSサーバとの計2台の冗長構成とすることによって,過負荷によるサーバダウンのリスクを大幅に低減させる。
  • イ:SPF(Sender Policy Framework)を用いてMXレコードを認証することによって,電子メールの送信元ドメインが詐称されていないかどうかを確認する。
  • ウ:問合せ時の送信元ポート番号をランダム化することによって,DNSキャッシュサーバに偽の情報がキャッシュされる確率を大幅に低減させる。
  • エ:プレースホルダを用いたエスケープ処理を行うことによって,不正なSQL構文によるDNSリソースレコードの書換えを防ぐ。
解説

カミンスキー攻撃は、DNSキャッシュサーバに偽のDNS応答を大量に送り込み、偽の名前解決情報をキャッシュさせるDNSキャッシュポイズニング攻撃です。

カミンスキー攻撃

DNS問合せの送信元ポート番号をランダム化すると、攻撃者はトランザクションIDだけでなく送信元ポート番号も一致させる必要があるため、偽の応答を受け入れさせる確率を大幅に下げられます。

したがって、が適切です。

❌他選択肢が誤りの理由
ア:DNSキャッシュサーバと権威DNSサーバとの計2台の冗長構成とすることによって,過負荷によるサーバダウンのリスクを大幅に低減させる。
⇒冗長化は可用性を高める対策ですが、偽のDNS応答をキャッシュさせるカミンスキー攻撃への直接的な対策ではありません。
イ:SPF(Sender Policy Framework)を用いてMXレコードを認証することによって,電子メールの送信元ドメインが詐称されていないかどうかを確認する。
⇒SPFは、送信元メールサーバのIPアドレスが送信元ドメインから許可されているかを確認する仕組みです。DNSキャッシュポイズニング対策ではありません。
エ:プレースホルダを用いたエスケープ処理を行うことによって,不正なSQL構文によるDNSリソースレコードの書換えを防ぐ。
⇒SQLインジェクション対策に関する説明です。カミンスキー攻撃は、SQL文ではなく、偽のDNS応答を用いてキャッシュ内容を汚染する攻撃です。
TSUNAGARU-ADVICE

まず押さえたいこと

カミンスキー攻撃は、DNSキャッシュサーバに偽のDNS応答を受け入れさせ、誤った名前解決情報をキャッシュさせる攻撃です。対策としては、DNS問合せ時の送信元ポート番号をランダム化し、攻撃者が偽応答を一致させる確率を下げることが有効です。ポイントは、偽のDNS応答を当たりにくくすることです。

迷ったときの判断軸

冗長構成は可用性向上の対策であり、DNSキャッシュ汚染そのものを防ぐ対策ではありません。SPFはメール送信元ドメインの確認、プレースホルダはSQLインジェクション対策です。カミンスキー攻撃では、DNSキャッシュサーバが偽応答を信じてしまうリスクを下げる対策を選びましょう。

科目Bにつなげるために

科目Bでは、DNSキャッシュポイズニング・権威DNSサーバ・キャッシュDNSサーバ・DNSSEC・送信元ポート番号・DNSヘッダーIDなどを組み合わせて問われることがあります。DNSの安全性を考えるときは、応答が正当なものか、偽応答を受け入れにくい仕組みがあるかを確認する視点を持ちましょう。