ホーム > 情報処理安全確保支援士試験 > 2015年 秋期
情報処理安全確保支援士試験 2015年 秋期 午前2 問15
脆弱性検査で,対象ホストに対してポートスキャンを行った。対象ポートの状態を判定する方法のうち,適切なものはどれか。
ア:対象ポートに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で応答がない場合を「開いている」と判断する点も混乱しやすいです。
解法ステップ
- ポートスキャンの対象プロトコル(TCP/UDP)を確認する。
- TCPの場合はSYNパケットを送信し、返答の種類(SYN/ACK、RST/ACK)で状態を判定。
- UDPの場合はUDPパケットを送信し、ICMPの「port unreachable」メッセージの有無を確認。
- 「port unreachable」が返ってきたらポートは閉じていると判断。
- 応答がなければポートは開いているかフィルタリングされている可能性があると判断。
選択肢別の誤答解説
- ア: 対象ホストから「RST/ACK」が返るのは接続拒否の意味であり、接続許可ではありません。
- イ: 「SYN/ACK」が返るのは接続要求が許可された状態であり、中断や拒否ではありません。
- ウ: UDPパケット送信後に「port unreachable」メッセージを受信した場合、ポートが閉じていると正しく判定できます。
- エ: 「port unreachable」メッセージはポートが閉じていることを示すため、開いていると判定するのは誤りです。
補足コラム
TCPポートスキャンは3ウェイハンドシェイクの一部を利用し、SYNパケットに対する応答でポートの状態を判定します。一方、UDPはコネクションレスで応答がないことも多いため、ICMPのエラーメッセージを利用してポートの状態を推測します。これらの違いを理解することが脆弱性検査の基本です。
FAQ
Q: UDPポートスキャンで応答がない場合はどう判断すべきですか?
A: 応答がない場合はポートが開いているか、ファイアウォールなどでフィルタリングされている可能性があります。確定的な判定はできません。
A: 応答がない場合はポートが開いているか、ファイアウォールなどでフィルタリングされている可能性があります。確定的な判定はできません。
Q: TCPのRST/ACKパケットはどんな意味ですか?
A: RST/ACKは接続拒否やリセットを意味し、ポートが閉じていることを示します。
A: RST/ACKは接続拒否やリセットを意味し、ポートが閉じていることを示します。
関連キーワード: ポートスキャン, UDPポートスキャン, TCPハンドシェイク, ICMP port unreachable, 脆弱性検査, ネットワークセキュリティ