TCP/IPプロトコルの脆弱性【情報処理安全確保支援士講座】

情報処理安全確保支援士 TCP/IPプロトコルの脆弱性

今回は、情報処理安全確保支援士の試験で問われるTCP/IPプロトコル脆弱性について解説します。

アカリ
アカリ
TCP/IPというと、UDPやICMPも含まれるよね
トモル
トモル
よく使われるプロトコルだから、狙われやすいんだろうね~

この記事のまとめ

  1. TCP/IPプロトコルの仕様
  2. TCP/IPプロトコルの脆弱性
  3. TCP/IPプロトコルの脆弱性対策

TCP/IPプロトコルの脆弱性

TCP/IPの仕様は、IETFによって標準化され、RFC(Request For Comment)として公開されています。仕様を公開しているからこそ標準化によって早く普及したものの、悪用されるケースも目立ちます。

キュー
キュー
逆に仕様を公開していないプロトコルは、利用者が限定される分悪用もされにくいで

各プロトコルの脆弱性

TCP/IPにおける各プロトコルの脆弱性を確認しましょう。

IPv4

現在広く普及しているIPv4では、攻撃者が自らのIPアドレスを簡単に偽装できます。したがって、送信元を偽ったDoS攻撃は度々確認されます。

また、IPv4では暗号化機能が標準搭載されていません。したがって、対策しなければ通信経路上を盗聴され、情報漏えいにつながる可能性があります。

キュー
キュー
ちなみにIPv6はIPsecが標準搭載されてるで

TCP

TCPは通信の前に、3ウェイハンドシェイクによってコネクションを確立します。

アカリ
アカリ
SYN→SYN/ACKACK→のアレだね!

そのため、IPアドレスの偽装は困難で一定の抑制効果や、ログによる攻撃者の特定は可能となります。しかし、そもそもコネクションが不要な攻撃に対しては脆弱性があります。

特にSYN Flood攻撃などの接続要求(SYN)を大量に送信する攻撃に対しては脆弱です。また、応答パケット(SYN/ACK)を悪用した反射・増幅型DDoS攻撃も起こり得ます。

キュー
キュー
旧バージョンOSのTCP実装では、初期シーケンス番号の推測によるセッションハイジャックの脆弱性もあるで

UDP

UDPはコネクションレスのため、相手からの応答を受ける必要がない場合偽装が容易です。結果的にDoS攻撃に悪用されやすいです。

ICMP

ICPMもコネクションレスのため、IP偽装によるDoS攻撃を受けやすくなります。また、ICMP echo request(pingコマンド)では応答があるため、送信元IPを偽った反射・増幅型のsmurf攻撃に悪用されがちです。

脆弱性への対策

TCP/IPプロトコルの脆弱性対策も確認しましょう。

送信元IPアドレスを偽装した攻撃への対策

送信元IPアドレス偽装そのものは防げないものの、下記のように明らかにIPアドレスが偽装されているパケットについてはルータやファイアウォールにて防御できます。

IPアドレスが偽装されたパケット例
  • 送信元IPアドレスにプライベートアドレスや特別な用途に用いられるアドレスが設定された内向きパケット
  • プライベートアドレスを用いたセグメントで、送信元IPアドレスにグローバルアドレスが設定された外向きパケット

パケット秘匿化の対策

TCP/IPの仕様による脆弱性は、プロトコルそのものを変更しなければ対応が困難です。

TCP/IPの仕様による脆弱性対策
  • IPsec・TLS・SSH・S/MIMEなどの暗号化プロトコルを用いる
  • IPv6を導入する
スポンサーリンク

TCP/IPプロトコルの脆弱性・例題

実際に例題を解いて問題に慣れていきましょう。

問1

脆弱性検査で,対象ホストに対してポートスキャンを行った。対象ポートの状態を判定する方法のうち,適切なものはどれか。(H.26春/問12)

ア:対象ポートにSYNパケットを送信し,対象ホストから”RST/ACK”パケットを受信するとき,対象ポートが開いていると判定する。
イ:対象ポートにSYNパケットを送信し,対象ホストから”SYN/ACK”パケットを受信するとき,対象ポートが閉じていると判定する。
ウ:対象ポートにUDPパケットを送信し,対象ホストからメッセージ”port unreachable”を受信するとき,対象ポートが閉じていると判定する。
エ:対象ポートにUDPパケットを送信し,対象ホストからメッセージ”port unreachable”を受信するとき,対象ポートが開いていると判定する。

(ログイン後回答すると、ここに前回の正誤情報が表示されます)

問1の正解を表示

問1の解説を表示

ポートスキャンにおいて、対象ホストにSYNパケットを送信し、その応答内容を確認する手法をTCPハーフスキャン、対象ホストにUDPパケットを送信し、応答の有無を確認する方法をUDPスキャンといいます。

TCPのSYNスキャンでは、対象ポートが開いている場合は対象ホストからSYN/ACKが返り、対象ポートが閉じている場合はRST/ACKが返ります。

UDPスキャンでは、対象ポートが閉じている場合に、対象ホストから ICMPの“port unreachable”(宛先到達不能・ポート到達不能) が返ることがあります。このため、”port unreachable”を受信したときにポートが閉じていると判定するウが適切です。なお、UDPの場合、ポートが開いていても応答が返らないことが多く、応答がないことだけでは開いていると断定できません。

ア:対象ポートにSYNパケットを送信し,対象ホストから”RST/ACK”パケットを受信するとき,対象ポートが開いていると判定する。
→対象ホストから”RST/ACK”パケットを受信する場合、ポートが閉じていると判定します。したがって誤りです。

イ:対象ポートにSYNパケットを送信し,対象ホストから”SYN/ACK”パケットを受信するとき,対象ポートが閉じていると判定する。
→対象ホストから”YN/ACK”パケットを受信する場合、ポートが開いていると判定します。したがって誤りです。

ウ:対象ポートにUDPパケットを送信し,対象ホストからメッセージ”port unreachable”を受信するとき,対象ポートが閉じていると判定する。
→対象ホストから”port unreachable”パケットを受信する場合、ポートが閉じていると判定します。したがって正解です。

エ:対象ポートにUDPパケットを送信し,対象ホストからメッセージ”port unreachable”を受信するとき,対象ポートが開いていると判定する。
→対象ホストから”port unreachable”パケットを受信する場合、ポートが閉じていると判定します。したがって誤りです。

これより、「ウ」が正解です。

問2

IPv4におけるICMPのメッセージに関する説明として,適切なものはどれか。(R.6秋/問19)

ア:送信元が設定したソースルーティングが失敗した場合は,Echo Replyを返す。
イ:転送されてきたデータグラムを受信したルータが,そのネットワークの最適なルータを送信元に通知して経路の変更を要請するには,Redirectを返す。
ウ:フラグメントの再組立て中にタイムアウトが発生した場合は,データグラムを破棄してParameter Problemを返す。
エ:ルータでメッセージを転送する際に,送信元が設定したTTLが0になった場合は,Destination Unreachableを返す。

(ログイン後回答すると、ここに前回の正誤情報が表示されます)

問2の正解を表示

問2の解説を表示

ICMPのRedirectメッセージは、ルータが受信したパケットに対して「より適切な次ホップ(最適な経路)が別にある」ことを送信元へ通知し、以降の経路変更を促す目的で使用されます。

ア:送信元が設定したソースルーティングが失敗した場合は,Echo Replyを返す。
→ソースルーティング失敗時に返すのはEcho Replyではありません。Echo ReplyはPingの応答です。したがって誤りです。

イ:転送されてきたデータグラムを受信したルータが,そのネットワークの最適なルータを送信元に通知して経路の変更を要請するには,Redirectを返す。
→送信元に経路の変更を要請するためにRedirectを返します。したがって正解です。

ウ:フラグメントの再組立て中にタイムアウトが発生した場合は,データグラムを破棄してParameter Problemを返す。
→フラグメント再組立てのタイムアウトは、通常Time Exceeded(reassembly time exceeded)に該当し、Parameter Problemではありません。したがって誤りです。

エ:ルータでメッセージを転送する際に,送信元が設定したTTLが0になった場合は,Destination Unreachableを返す。
→TTLが0になった場合は、通常 Time Exceeded(TTL exceeded in transit)を返し、Destination Unreachableではありません。したがって誤りです。

これより、「イ」が正解です。

TCP/IPプロトコルの脆弱性・まとめ

この記事のまとめ

  1. TCP/IPプロトコルの仕様
  2. TCP/IPプロトコルの脆弱性
  3. TCP/IPプロトコルの脆弱性対策

今回はTCP/IPプロトコルの脆弱性について学習しました。各プロトコルの役割とあわせて押さえておきましょう。

次回は電子メールの脆弱性について学習します。


本気で支援士を狙うなら・・・
支援士ゼミがおすすめです!
  • ベテラン講師による手厚いサポート
  • モチベーションを保てるセキュリティコラムが満載!
  • マンツーマン形式で個別相談もできる!

スポンサーリンク