ネットワーク機器トップヘッダー
ネットワーク機器トップ > TCPのAckメッセージの処理に関する脆弱性の問題について


TCPのAckメッセージの処理に関する脆弱性の問題について
(Optimistic Ack)


2005年11月11日

○概要

TCPプロトコルの仕様において、Ackメッセージの処理に関し、輻輳制御メカニズムを回避できる脆弱性の問題が確認されております。これは、偽造したACKメッセージにより、TCPコネクションの輻輳制御メカニズムを回避し、ストリーミングのような大量のデータ転送において回線帯域を不当に占有する可能性があるというもので、以下のような問題が指摘されております。
  1. Optimistic Ack
    データ受信側ホストが、まだ受信していないTCPセグメントに対するAckメッセージを送信することにより、送信側ホストにおいて輻輳制御メカニズムが効かない状態となり、回線帯域を不当に占有して他のサービスを妨害する可能性がある。

  2. Duplicate Ack
    データ受信側ホストが、受信したTCPセグメントに対して複数回同じAckメッセージを送信することにより、送信側ホストにおいて輻輳制御メカニズムが効きにくい状態となり、回線帯域を不当に占有して他のサービスを妨害する可能性がある。

  3. Partial Ack(もしくはAck Division)
    データ受信側ホストが、受信したTCPセグメントに対して受信したセグメントを複数セグメントに分割して受信した場合に相当する複数個のAckメッセージとして送信することにより、送信側ホストにおいて輻輳制御メカニズムが効きにくい状態となり、回線帯域を不当に占有して他のサービスを妨害する可能性がある。

上記の問題のうち、Optimistic Ackの影響が懸念されています。特に、TCPのWindow Scale Option(RFC1323)を併用した場合に影響が拡大する可能性が指摘されております。

・参考情報

○当社製品に対する影響

本脆弱性はTCPプロトコルの仕様に基づくもので、TCPプロトコルを実装する全ての製品がこの脆弱性の影響を受けます。しかし当社製品においては、以下の理由により、影響は極めて限定的となります。

  • 認証を行なうことなく、TCPセッションを通じて大量のデータをやり取りできるような機能は実装されていないため、信用できない第三者に攻撃される可能性は小さい

  • コンテンツストリーミングのような巨大なデータを保有していないため、影響は一時的である



○回避方法

以下のような方法により、本脆弱性の影響を更に低減することができます。

  • パスワードを設定してTCP接続相手との認証を実施し、信用できない相手との接続を受け付けない状態とする

  • パケットフィルタリングにより、信用できない相手からの接続要求パケットを廃棄する

  • Webサーバ、FTPサーバ、Telnetサーバ、SSHサーバ等のサーバ機能のうち、利用していないサーバ機能を設定により停止する


・FITELnet-F80/F100/F1000の場合

Web/FTP/Telnet の各サーバ機能については、デフォルトで動作しています。
以下のコマンドにより、各サーバ機能を停止することができます。
http-server shutdown
ftp-server shutdown
telnet-server shutdown
SSH サーバ機能については、デフォルトでは動作していません。

また、次のように設定することで、PPPoE1インターフェースに対する Web/FTP/Telnet でのアクセスをフィルタリングすることができます。
access-list 150 deny tcp any any eq www
access-list 150 deny tcp any any eq ftp
access-list 150 deny tcp any any eq ftp-data
access-list 150 deny tcp any any eq telnet

interface pppoe 1
 ip access-group 150 in interface

・FITELnet-F40の場合

remoteaccess コマンドにより、装置に対する Web/FTP/Telnet でのアクセスを制御することができます。デフォルトでは、WAN 側からの平文によるアクセスは禁止されています。


・FITELnet-E20/E30、MUCHOシリーズの場合

次のように設定することで、ISDN 側からの Web/FTP/Telnet によるアクセスをフィルタリングすることができます。
ipfiltering -d add dst=0.0.0.0,0.0.0.0 dstport=80,80 src=0.0.0.0,0.0.0.0 prot=tcp\
 recvif=isdn1,isdn2 half
ipfiltering -d add dst=0.0.0.0,0.0.0.0 dstport=20,21 src=0.0.0.0,0.0.0.0 prot=tcp\
 recvif=isdn1,isdn2 half
ipfiltering -d add dst=0.0.0.0,0.0.0.0 dstport=23,23 src=0.0.0.0,0.0.0.0 prot=tcp\
 recvif=isdn1,isdn2 half
ipfiltering -f add dst=0.0.0.0,0.0.0.0 src=0.0.0.0,0.0.0.0



このページに関するお問い合わせは こちら まで

All Rights Reserved, Copyright(C) FURUKAWA ELECTRIC CO., LTD. 2005