情報処理安全確保支援士試験 2015年 秋期 午前215


脆弱性検査で,対象ホストに対してポートスキャンを行った。対象ポートの状態を判定する方法のうち,適切なものはどれか。
対象ポートにSYNパケットを送信し,対象ホストから“RST/ACK”パケットを受信するとき,接続要求が許可されたと判定する。
対象ポートにSYNパケットを送信し,対象ホストから“SYN/ACK”パケットを受信するとき,接続要求が中断又は拒否されたと判定する。
対象ポートにUDPパケットを送信し,対象ホストからメッセージ“port unreachable”を受信するとき,対象ポートが閉じていると判定する。(正解)
対象ポートにUDPパケットを送信し,対象ホストからメッセージ“port unreachable”を受信するとき,対象ポートが開いていると判定する。

解説

脆弱性検査におけるポートスキャンの状態判定【午前2 解説】

要点まとめ

  • 結論:UDPポートにパケットを送信し「port unreachable」メッセージを受信した場合、そのポートは閉じていると判定します。
  • 根拠:UDPはコネクションレスで応答がない場合は開放の可能性が高く、ICMPの「port unreachable」応答は閉じている証拠です。
  • 差がつくポイント:TCPのSYN/ACKやRST/ACKの意味を正確に理解し、UDPの応答の有無で開閉を判断する点が重要です。

正解の理由

UDPポートスキャンでは、対象ポートにUDPパケットを送信し、対象ホストからICMPの「port unreachable」メッセージが返ってくると、そのポートは閉じていると判断します。UDPはコネクションレスのため、応答がない場合はポートが開いているか、フィルタリングされている可能性があります。したがって、「port unreachable」メッセージの受信が閉じていることの明確な証拠となります。

よくある誤解

TCPのSYNパケットに対する応答の意味を逆に理解しやすいです。また、UDPで応答がない場合を「開いている」と判断する点も混乱しやすいです。

解法ステップ

  1. ポートスキャンの対象プロトコル(TCP/UDP)を確認する。
  2. TCPの場合はSYNパケットを送信し、返答の種類(SYN/ACK、RST/ACK)で状態を判定。
  3. UDPの場合はUDPパケットを送信し、ICMPの「port unreachable」メッセージの有無を確認。
  4. 「port unreachable」が返ってきたらポートは閉じていると判断。
  5. 応答がなければポートは開いているかフィルタリングされている可能性があると判断。

選択肢別の誤答解説

  • ア: 対象ホストから「RST/ACK」が返るのは接続拒否の意味であり、接続許可ではありません。
  • イ: 「SYN/ACK」が返るのは接続要求が許可された状態であり、中断や拒否ではありません。
  • ウ: UDPパケット送信後に「port unreachable」メッセージを受信した場合、ポートが閉じていると正しく判定できます。
  • エ: 「port unreachable」メッセージはポートが閉じていることを示すため、開いていると判定するのは誤りです。

補足コラム

TCPポートスキャンは3ウェイハンドシェイクの一部を利用し、SYNパケットに対する応答でポートの状態を判定します。一方、UDPはコネクションレスで応答がないことも多いため、ICMPのエラーメッセージを利用してポートの状態を推測します。これらの違いを理解することが脆弱性検査の基本です。

FAQ

Q: UDPポートスキャンで応答がない場合はどう判断すべきですか?
A: 応答がない場合はポートが開いているか、ファイアウォールなどでフィルタリングされている可能性があります。確定的な判定はできません。
Q: TCPのRST/ACKパケットはどんな意味ですか?
A: RST/ACKは接続拒否やリセットを意味し、ポートが閉じていることを示します。

関連キーワード: ポートスキャン, UDPポートスキャン, TCPハンドシェイク, ICMP port unreachable, 脆弱性検査, ネットワークセキュリティ
← 前の問題へ次の問題へ →

©︎2025 情報処理技術者試験対策アプリ