最終更新日:2002年 2月15日

更新履歴


広範囲に該当する SNMP の脆弱性について

概要

SNMP(Simple Network Management Protocol)v1 の実装の多くに、複数の脆弱性が報告されています。これらの脆弱性を 攻略する攻撃を受けた場合、権限を越えた不正なアクセスやサービス妨害攻撃(DoS攻撃)を許したり、システム動作が不安定になるなどの影響を受ける可能性があります。
SNMP は、オペレーティングシステムをはじめ、ルーターなどのネットワーク機器を含む多くの実装があるため、システム管理者/ネットワーク管理者はベンダーからの情報に注意し、早急に対策を講ずる必要があります。

前提知識

SNMP について

SNMP は、ネットワーク接続デバイスを管理するのに最も普及したプロトコルです。SNMP は、ネットワーク管理者/システム管理者がリモートから(スイッチやルーター等の)ネットワーク上のデバイスを監視・設定できるようにします。ネットワーク用に設計されたソフトウェア/ファームウェア製品の多くは、SNMP プロトコルを使用しています。SNMP は、複数のデバイス上/オペレーティングシステム上で動作します。

SNMP は、RFC1157 第 3 章で規定されています。:

SNMP のアークテクチャとしてのモデルにおける暗黙の前提事項は、ネットワーク管理ステーションとネットワークエレメントの組み合わせであるということです。ネットワーク管理ステーションは、ネットワークエレメントを監視/コントロールする管理アプリケーションを実行します。ネットワークエレメントは、ホスト/ゲートウェイ/ターミナルサーバーのようなデバイスで、ネットワーク管理ステーションによって要求されるネットワーク管理機能を行う管理エージェントを持つものです。SNMP は、ネットワーク管理ステーションとネットワークエレメント内のエージェントとの間で管理情報を通信するために使用されます。

これらの脆弱性について

OUSPG( Oulu University Secure Programming Group)によって発見・報告された複数の脆弱性は、いずれも SNMP v1 レベルの機能である ASN.1 構文のメッセージのデコード処理と、そのデコードされたデータの例外処理における欠陥です。

対策

この脆弱性は非常に多くの機器やシステムに影響するため、すべてに対応できる対処方法はありません。システム管理者/ネットワーク管理者はベンダーのサポートと連絡を取り個々の対処を実行してください。

以下に、緊急対策として実施可能な対処法を掲げます。:

ベンダーから修正プログラムが提供されている場合には、入手し適用する

SNMP 実装があり影響を受ける可能性のある機器、システムは以下のように広範囲であるため、該当すると思われる機器、システムを使用している場合は各ベンダーのサポートと連絡を取ってください。

必要のない(使用していない) SNMP の機能を停止する

デフォルト設定で SNMP の機能が有効になっている機器を確認する必要もあります。いくつかの製品では SNMP の機能を停止しても攻撃により サービスを提供できない状態になることが確認されています。この場合、以下に示すフィルタリング対策と組み合わせて対処することが望まれます。

外部からの SNMP  サービスのアクセスをフィルタリングによってブロックする

少なくとも境界ルーターでこの対処を行う必要がありますが、この対処では内部からの攻撃には対応できないことに注意してください。偽造パケットのフィルタリングや SNMP パケットの送信元 IP アドレスの制限も有効です。 SNMP が使用するポートは 161/UDP、162/UDP、161/TCP、162/TCPです。以下のサービスのような一般的ではありませんがこの脆弱性に影響を受ける製品が使用しているポートのブロックも考慮してください。

(注)上のポートをブロックしても以下に示すような IP アドレスを使った直接的な攻撃には効果がないことを考慮してください。

(注)上のポートをブロックする場合は使用している他の機器やシステムに影響がないかを十分に考慮してください。

SNMP と関連する RPC サービスへのアクセスをブロックする

以下のような SNMP と関連する RPC サービスへのアクセスをブロックすることも考慮する必要があります。(リストは name、programID、alternate names の順です 。)

権限のない内部ホストからの SNMP トラフィックをフィルタリングする

多くのネットワークでは限られたネットワークマネージメントシステムだけが SNMP リクエストメッセージを必要とします。したがって SNMP エージェントシステムは権限のないシステムからのリクエストを拒否することが可能であると考えられます。この対処は内部からの攻撃を、完璧ではないにせよ、減らすことができます。ただしこのフィルタリングによりネットワークのパフォーマンスに影響がでる可能性があるので注意してください。

デフォルトの community strings を変更する

多くの SNMP が有効な製品で使用されている community strings のデフォルト設定値を変更してください。ただし今回の脆弱性の中には community strings を評価する前に発生するものもあり、この対処だけでは対応できないことに注意してください。

別のマネージメント用ネットワークに SNMP トラフィックを隔離する

SNMP を停止することやブロックすることが難しい場合、すべての SNMP トラフィックを隔離された、一般にアクセスすることが出来ない、マネージメントネットワークのみに制限することによる対処も考えられます。物理的に別のネットワークとすることが好ましいですが、バーチャル LAN (VLAN)を使用することで、完全ではないにせよ、攻撃を難しくさせることが可能です。これ以外に SNMP トラフィックを VPN に隔離し、暗号化された強い認証を用いることも対処の一つです。ただしこれらの対処を行うにはネットワーク構成に大幅な変更が必要であることに注意してください。

外向けのパケットをフィルタリングする

上で示すポートの外向けパケットを境界ルーター等でフィルタリングすることで、そのネットワークが他のサイトに対する攻撃のために踏み台として使用されるのを防ぐことができます。

参考資料

JPCERT/CC SNMPv1 の実装に含まれる脆弱性に関する注意喚起

CERT® Advisory CA-2002-03 Multiple Vulnerabilities in Many Implementations of the Simple Network Management Protocol (SNMP)


更新履歴

2002年 2月15日 参考資料に「JPCERT/CC SNMPv1 の実装に含まれる脆弱性に関する注意喚起」を追記。


Copyright © 2002 Information-technology Promotion Agency, Japan. All rights reserved.