AP過去問 令和6年度秋期 午前 問42
問42(問題文)
DNSキャッシュポイズニング攻撃に対して有効な対策はどれか。
ア DNSサーバにおいて、侵入したマルウェアをリアルタイムに隔離する。
イ DNS問合せに使用するDNSヘッダー内のIDを固定せずにランダムに変更する。
ウ DNS問合せに使用する送信元ポート番号を53番に固定する。
エ 外部からのDNS問合せに対しては、宛先ポート番号53のものだけに応答する。
回答・解説
DNSキャッシュポイズニング攻撃(別名、DNSキャッシュ汚染攻撃)は、攻撃者がDNSキャッシュに不正な情報を注入し、ユーザーを悪意のあるサーバに誘導する攻撃です。これを防ぐための効果的な対策の1つは、DNSリクエストに使用されるIDをランダムに変更することです。これにより、攻撃者が正しいリクエストと応答を予測して改竄することが非常に難しくなります。
アは誤りです。マルウェアの隔離は、DNSキャッシュポイズニング攻撃に対する防御ではなく、一般的なセキュリティ対策です。
イは正しいです。DNSリクエストにランダムなIDを使用することで、攻撃者が正しいDNS応答を送り込むのを防ぎます。これにより、DNSキャッシュポイズニングのリスクが軽減されます。
ウは誤りです。DNS問合せに使用する送信元ポート番号を53番に固定するのは逆効果です。実際、送信元ポートをランダム化することで、攻撃者が予測して攻撃を仕掛けるのを難しくするため、送信元ポートのランダム化が重要です。
エは誤りです。送信元ポート番号に53番を固定することは、DNSサーバが攻撃者からの不正リクエストに応じてしまうリスクを高めるため、ポート番号の固定は推奨されません。
したがって
イ
が答えです。DNS問合せの受付はポート番号53で、ランダムなリクエストIDのヘッダー応答と指定のランダムなポート番号を使って応答して下さいという具合にやっているのが現代のDNSの問合せらしいです。2010年ごろにはDNSSEC(DNS Security Extensions)というものが急速に普及して、改ざんすることは難しくなっているそうです。しかしながら、現在の普及率は30%程度らしいです。一度古いタイプのDNSが普及しているので、全てを底上げするのは難しいので、いろいろな対策がほどこされているんですね。