米CERT/CCなどは米国時間8月5日,UNIX系OSで広く利用されているXDRライブラリのセキュリティ・ホールを公表した。XDRライブラリを使用するアプリケーションへ不正なデータを送信されると,バッファ・オーバーフロー(正確には“Interger Overflow”)を引き起こされ,任意のプログラムを実行される恐れなどがある。対策は,ライブラリにパッチを適用し,各アプリケーションを再コンパイルすることなど。

 アプリケーションが対象のセキュリティ・ホールとは異なり,ライブラリのセキュリティ・ホールであるため,影響を受けるアプリケーションが特定しにくい。また,数も多いために,そのすべてをここでリストアップすることは難しい。CERT/CCやOSベンダーが公開する情報を参考にして,現在使用しているプラットフォームが影響を受けるのか,どのアプリケーションが影響を受けるのか,などを確認してほしい。

 XDR(External Data Representation Standard)とは,データを記述およびエンコードするための標準仕様で,異なるプラットフォーム間でデータをやり取りするために決められた仕様である。XDRライブラリはその仕様を実装したライブラリで,RPC(Remote Procedure Call)プログラムなどで使用されている。XDRライブラリは米Sun Microsystemsにより開発され,配付されたライブラリであるが,現在ではSolaris以外の商用UNIX OSやLinuxやFreeBSD,OpenBSDなどにも含まれ,多くのアプリケーションで使用されている。

 XDRライブラリを使用するアプリケーション(サービス)の一例として,CERT/CCは,DMI Service Provider daemon(dmispd)やCDE Calendar Manager Service daemon(rpc.cmsd),MIT Kerberos 5 Administration daemon(kadmind)などを挙げているが,この限りではない。

 対策は各OSベンダーが公開するパッチを適用する,あるいはセキュリティ・ホールを修正したライブラリにアップグレードしたりする,など。ただし,ライブラリだけを対応させても意味はない。ライブラリを置き換えた後,XDRライブラリをスタティックにリンクしているアプリケーションの場合には,再コンパイルして再起動する必要がある。ダイナミックにリンクしている場合でも,アプリケーションを再起動する必要がある。

 パッチを適用するまでは,XDRライブラリを使用するサービスをすべて停止したり,そのサービスが使用するポートをファイアウオールなどで遮断したりすることでも影響を回避できる。どのサービスが使用しているのか特定できない場合は,「不必要なアプリケーション(サービス)をすべて停止する」,「不要なポートはすべてふさぐ」ことでも,影響を極力小さくできる。ただし,これらの対処は今回のセキュリティ・ホール対策に限らず,セキュリティを維持するための“鉄則”である。

 一部のベンダーが公開している情報を見る限りでは,実際の攻撃は報告されていないようだが,安心はできない。CERT/CCが公開する情報は日々アップデートされるので,最新の情報を参照するとともに,ベンダーからの情報もチェックして,対策を施したい。

◎参考資料
CERT Advisory CA-2002-25「Integer Overflow In XDR Library」(米CERT/CC)
MIT krb5 Security Advisory 2002-001「Remote root vulnerability in MIT krb5 admin system」(米MIT)
Remote Buffer Overflow Vulnerability in Sun RPC(米Internet Security Systems)
Security Vulnerability in the Network Services Library, libnsl(3LIB) (米Sun Microsystems)
OpenAFS Security Advisory 2002-001(OpenAFS)
XDR: External Data Representation Standard(RFC1832)

(勝村 幸博=IT Pro)