aaaiiuie

学習(備忘録)のため運用

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

TCP/IP(Transmission Control Protocol/Internet Protocol)を構成する各プロトコルには、その仕様や実装における様々な脆弱性がある。第二章で解説した各種攻撃手法もそうしたプロトコルの脆弱性をついて行われるものが多い。
ここではTCP/IPプロトコル全般の脆弱性について解説する。なお、SMTP,POP3,DNS,HTTPなどアプリケーション層のプロトコルの解説は後述する。

3.3.1 TCP/IPプロトコル全般における共通の脆弱性

まずTCP/IPを構成する代表的なプロトコルであるTCP,UDP,IPc4,ICMPなどの仕様上の脆弱性を示す。

①仕様が公開されている

TCP/IPの仕様は、現在IETFによって標準化され、RFC(Request For Comment)として公開されている。仕様を公開したからこそ、世界標準のプロトコルとして爆発的に普及したが、仕様が公開されているが故に、それを悪用する者も後を耐えない。仕様が公開されていない独自のプロトコルは利用者を制限するため、爆発的な普及は見込めないが、その分、悪用はされにくい。

②発信元IPアドレスの偽装が可能

現在広く普及しているIPv4では、攻撃者が自らの発信元アドレスを偽装することは容易である。そのため、発信元アドレスを偽ったDoS攻撃などが横行している。

  • TCP
    TCPは通信に先立ち3ウェイハンドシェイクによってコネクション確立するため、発信元IPアドレスを偽装するのは非常に困難である。したがって、コネクションを確立して行われる攻撃については、それを制御するか、制御はできなくともログなどから攻撃者を追跡できるなどの効果がある。しかし、そもそもコネクションを確立する必要がない攻撃手法であればIPアドレスを偽装しても何ら問題はないため、SYN Floodなどの攻撃に悪用されることも多い。また、TCPの特徴である接続要求に対する応答パケット(SYN/ACK)を悪用してDoS攻撃を行う反射・増幅型DDoS攻撃などもある。また、前述のとおり、一部の旧バージョンOSのTCPの実装においては、初期シーケンス番号の推測によるセッションハイジャックの脆弱性もある。
  • UDP
    UDPはコネクションレスであるため、相手からの応答を受け取る必要さえなければ、発信元IPアドレスを偽装することは容易である。そうしたことからDoS攻撃に悪用されることが多い。
  • ICMP
    ICMPもUDP同様、コネクションレスであるため、発信元IPアドレスの偽装は容易であり、DoS攻撃に悪用されることが多い。また「ICMP echo request(pingコマンド)」については相手ホストからの応答があることから、発信元IPアドレスを偽った反射・増幅型DDoS攻撃(smurf攻撃)に悪用されている。

③パケットの暗号化機能が標準装備されていない(IPv4)

IPv4ではパケットを暗号化する機能が標準的には装備されていないため、通信経路上での盗聴によって通信愛用が漏洩する可能性がある。パケットを暗号化するにはユーザーがIPsecやTLSを用いてVPN環境を構築するか、個々のアプリケーションで実装する必要がある。なお、IPv6では現在VPNで広く用いられているIPsecが標準装備されている。

3.3.2 TCP/IPプロトコル全般いおける共通の脆弱性への対策

● 発信元アドレス偽装への対策

発信元アドレスが偽装されること自体を防ぐ手段はないが、次のように明らかに発信元アドレスが偽装されているパケットについては、ルータやファイアウォールによって遮断する。

  • 発信元IPアドレスにプライベートアドレスや特別な用途に使用するアドレスが設定されたインターネットからのインバウンド(内向き)パケット
  • プライベートアドレスを使用しているセグエントにおいて、発信元IPアドレスにグローバルアドレスが設定さたアウトバウンド(外向き)パケット

IPアドレスが偽装されているのは、その大半がDoS攻撃によるものであるため、上記のほか、不要なプロトコルの遮断、プロトコルごとの帯域制限など、2.7節で解説したDoS攻撃への対策を施す必要がある。

● パケット秘匿化のための対策

  • IPsec,TLS,SSH.S/MIMEなどのあんごかプロトコルを使用する
  • IPv6の導入

TCP/IPの仕様による脆弱性については、プロトコルそのものの使用を変えない限り根本的な対策とならない。

Check!

  1. TCP/IPプロトコルにはどのような脆弱性があるか
  2. セキュリティの面からみたTCPの特徴として何が挙げられるか
  3. セキュリティの面でTCP,UDP,ICMPを比較するとどうなるか