米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)