セキュリティ・ソフトウェア・ベンダのImmunityは、Windowsの名前解決機能「WINS(Windows Internet Name Service)」にバッファ・オーバーフローの脆弱性が存在し、任意のコードが実行可能であることを報告した。
・Immunity(Wins.exe remote vulnerability):[PDF]
http://www.immunitysec.com/downloads/instantanea.pdf
・Secunia(Microsoft Windows WINS Replication Packet Handling Vulnerability):
http://secunia.com/advisories/13328/
WINSとは、NetBIOS名(ホスト名やユーザー名など)とIPアドレスを対応させるためのサービスである。Windows 9xやWindows NT/2000で実装されているネットワーク・サービスでは、NetBIOSインターフェイスを使って各種のサービスを実現している。このとき、コンピュータ名やユーザー名、サービス名などには、NetBIOS名と呼ばれる16bytesの文字列が割り当てられ、お互いのマシン名やサービスを区別する。TCP/IPプロトコルとNetBIOSインターフェイスを組み合わせたNBT(NetBIOS
over TCP/IP)環境では、NetBIOS名とIPアドレスを何らかの方法で対応させる必要があるが、このために使用されるのがWINSというサービスである。WINSによる名前解決を行うWINSサーバは、Windows
NT Server/2000 Server/Server 2003に標準で実装されている。
WINSでは、複数のサーバ間でNetBIOS名とIPアドレスの対応情報を共有することで、ネットワークの負荷を分散させることを可能にしている。この際、レプリケーション・プロトコル(複製プロトコル)と呼ばれるプロトコルが利用される。報告によれば、このレプリケーション・プロトコルの処理にバッファ・オーバーフローの脆弱性が存在する。WINSサーバが細工されたレプリケーション・プロトコルを受信すると、バッファ・オーバーフローを起こし、ローカル・システム権限で任意のコードが実行される危険性がある。
WINSサーバ機能は、Windows NT Server/2000 Server/Server 2003に実装されているが、デフォルトでは無効になっている。ただし、ドメイン・コントローラなどでは、WINSを有効にしているケースも多いと思われる。またWindowsサーバを含むサーバ・スイート製品のSmall
Business Server 2003(SBS 2003)では、デフォルトでWINSが有効化される。この場合でも、外部ネットワークからはWINSサービスにはアクセスできないようになっているが、万一アクセスが可能だと、リモートで任意のコードが実行される危険がある。
この脆弱性に関する修正プログラムは現時点では提供されていない。Microsoftは、この脆弱性について現在調査中であるとしており、回避策を「サポート技術情報:890710」で公開した。
・サポート技術情報 890710(WINS のセキュリティの問題からコンピュータを保護する方法):
http://support.microsoft.com/default.aspx?scid=kb;ja;890710
サポート技術情報には回避策として、ファイアウォールなどでTCP/UDPポート42番をブロックすること、WINSサーバ機能を利用していない場合はWINSサーバのコンポーネントを削除すること、IPSecを使用してWINSサーバのレプリケーション・パートナー間のトラフィックをセキュリティで保護することが挙げられている。ただしイントラネットに侵入されたウイルスやワームが、この脆弱性を悪用することも考えられる。その場合、ファイアウォールを使用する方法では攻撃を防御できない。現時点では、この脆弱性を悪用した攻撃は確認されていないとされているが、詳細な報告が行われていることから、近々、実証コードや悪用したウイルスなどが登場することが懸念される。WINSサーバを運用している場合は、十分に注意していただきたい。
|