1.ポートスキャン
ポートスキャンとは、言葉の通り、ポート(port)をスキャン(scan:調べる)ことです。 サーバにおいて、webサービス(80)やメールサービス(25)など、どんなポート(つまりサービス)が動いているかを見つけ、攻撃ができないかを探ります。

■2.ポートスキャンの仕組み
(1)TCPの場合
TCPのポートスキャンは、対象のサーバに対して、SYNを送ります(というか、TCPの通信ならなんでもOK)。結果、SYN+ACKが返ってくると、ポートが空いて(=サービスを提供している)と判断できます。
情報セキュリティスペシャリスト試験を目指す女性SE 

SYN+ACKが返ってくるのは、TCPにおける3wayハンドシェークを試みようとしているからですね?
はい、その通りです。
ポートが閉じていれば、RST+ACKを返します。そもそもサーバが存在しなければ、もちろん何も返しません。

(2)UDPの場合
UDPパケットを送付し、ICMP port unreachableというメッセージが返ってこれば、ポートは閉じています。サーバが起動している前提で、メッセージの応答がなければ、ポートは空いていると考えられます。

■3.過去問を解いてみよう
(1)H23春AP午後問9
過去問をみてみましょう。
各サーバに対して,次のサイバー攻撃が行わ-れていたことが判明した。
【サイバー攻撃1】Webサーバに対して, Webページを表示するためのリクエストが大量に送られ, CPUとメモリの使用率が許容限度を超えてしまっていた。
【サイバー攻撃2】DBサーバにアクセスするプログラムの不備を利用して,データベース上の情報に不正にアクセスしようとした形跡が, Webサーバにあった。
【サイバー攻撃3】DNSプログラムが確保したメモリサイズを超えた入力を与えて,管理者権限を奪おうとした形跡が, DNSサーバ1にあった。
【サイバー攻撃4】使用可能なサービスを探した形跡が, DMZ内の各サーバにあった。

設問1 サイバー攻撃1~4について,その名称を答えよ。(H23春AP午後問9)
以外に難しかったかと思う。本来の問題は選択式ではあるが、これらは基本的なキーワードなので、答えたいところだ。
攻撃1 DoS攻撃
攻撃2 SQLインジェクション
攻撃3 バッファオーバーフロー
攻撃4 ポートスキャン
 
(2)もう一問解いてみましょう。 
問12 脆弱性検査で,対象ホストに対してポートスキャンを行った。対象ポートの状態を判定する方法のうち,適切なものはどれか。
ア 対象ポートにSYNパケットを送信し,対象ホストから“RST/ACK”パケットを受信するとき,対象ポートが開いていると判定する。
イ 対象ポートにSYNパケットを送信し,対象ホストから“SYN/ACK”パケットを受信するとき,対象ポートが閉じていると判定する。
ウ 対象ポートにUDPパケットを送信し,対象ホストからメッセージ“port unreachable”を受信するとき,対象ポートが閉じていると判定する。
工 対象ポートにUDPパケットを送信し,対象ホストからメッセージ“port unreachable”を受信するとき,対象ポートが開いていると判定する。(H26SC春午前Ⅱ問12)

順に見ていきましょう
ア:RST/ACKを受信した場合は、ポートが閉じています。
イ:“SYN/ACK”パケットを受信した場合は、3wayハンドシェークを実施する流れの正常な応答です。つまり、ポートが開いています。
ウ:正解選択肢です。
エ:ウが正解ですので、不正解です。

正解はウです。

(3)次は午後問題 H30秋SC午後1問2
・ワームVは,次の2種類のIPアドレス範囲に対して,並行して445/TCPのポートをスキャンし,①正常な応答がある場合に,脆弱性を悪用して感染を試みる。

設問2(1)図3中の下線①について,どのようなTCPフラグの組合せの応答か。8字以内で答えよ。
3wayハンドシェークを思い出せば簡単だったと思う。また、「フラグ」というヒントもある。

解答例
SYN+ACK

2.ポートスキャナ―
ポートスキャンをする場合、nmapなどのツールを使うことが一般的です。このようなツールをポートスキャナと言います。過去問(平成26年秋FE午前)を解いてみましょう。
問45 Webサーバの検査におけるポートスキャナの利用目的はどれか。
ア Webサーバで稼働しているサービスを列挙して,不要なサービスが稼働していないことを確認する。
イ Webサーバの利用者IDの管理状況を運用者に確認して,情報セキュリティボリシとの相違を調べる。
ウ Webサーバヘのアクセス履歴を解析して,不正利用を検出する。
エ 正規の利用者IDでログインし, Webサーバのコンテンツを直接確認して,コンテンツの脆弱性を検出する。
正解はアです。