NTPサーバがクライアントに対してレスポンスを送信し続ける脆弱性

NTP機能を利用している場合に短時間に大量のNTPリクエストを受けると、NTPクライアントに対して不要なレスポンスパケットを大量に送信し続ける状態になる場合があります。また、短時間に大量のNTPレスポンスを受けると、CPUリソースを消費し続ける状態になる場合があります。

報告日

2014/12/01

SEILシリーズの該当状況

以下のバージョンにおいて影響を受けます。

機種 バージョン
SEIL/x86 Fuji 1.70 ~ 3.22
SEIL/X1 2.50 ~ 4.62
SEIL/X2 2.50 ~ 4.62
SEIL/B1 2.50 ~ 4.62

SEILシリーズへの影響内容

SEILのNTP実装に問題があり、NTP機能を有効にしている状態で短時間に大量のNTPパケットを受信するとNTP機能が正常に動作しなくなる場合があります。

短時間に大量のNTPリクエストパケットを受信した場合、NTPリクエストを送信したクライアントに対して不要なNTPレスポンスを送信し続ける状態となる 場合があります。この状態になってしまうと不要なNTPレスポンスパケットを大量に送信し続けるためNTPサーバとして機能しなくなり、送信のために CPUリソースを大量に消費するためパフォーマンスが低下します。

また短時間に大量のNTPレスポンスパケットを受信した場合、大量のCPUリソースを消費し続ける状態になる場合があります。

さ らに、不要なNTPレスポンスパケットが大量に送信されることによるネットワークトラヒックの増大及び、大量のNTPレスポンスパケットを受信することに なるクライアントのパフォーマンス低下を引き起こします。このため、第三者が本脆弱性を利用したDDoS攻撃を引き起こすことが可能となります。

NTP機能が有効であるかの確認方法

コンフィグに次の設定が存在する場合、NTP機能が有効化されます。

ntp enable
ntp server add <NTPサーバのIPアドレス>

SEILシリーズにおける対応

本脆弱性を修正したファームウェアをリリースしました。

下記のバージョン以降への早急な変更を推奨します。

機種 バージョン
SEIL/x86 Fuji 3.23
SEIL/X1 4.63
SEIL/X2 4.63
SEIL/B1 4.63

設定による回避

NTP機能を利用する必要が無い場合、機能を無効にしてください。

2. NTPの有効化

ntp enable

NTP機能を利用する場合は、IPパケットフィルタを適切に設定し、第三者からのNTPリクエストパケットの受信を拒否することで影響を軽減することができます。恒久的な対策としては、ファームウェアを更新する必要があります。

1. 時刻同期のためのフィルタ

filter add ntp_out_pass interface <インタフェース名> direction out action pass protocol udp dstport 123 state enable
filter6 add ntp6_out_pass interface <インタフェース名> direction out action pass protocol udp dstport 123 state enable

2. 信頼できないネットワークからのNTPクエリを遮断するフィルタ

filter add ntp_deny interface <インタフェース名> direction inaction block protocol udp dst self dstport 123
filter6 add ntp6_deny interface <インタフェース名> direction inaction block protocol udp dst self dstport 123

IPパケットフィルタを設定後、次の手順でNTPを復旧してください。

NTP機能の復旧手順

本脆弱性の影響によってパフォーマンスが低下する状態に陥った場合、次の手順でNTP機能を一旦無効化することで復旧できます。

1. NTPの無効化

ntp disable

2. NTPの有効化

ntp enable

関連情報

  1. Common Vulnerabilities and Exposures (CVE) CVE-2014-7255

  2. Japan Vulnerability Notes JVN#21907573

© Internet Initiative Japan Inc.