マイクロソフトが2月11日に公開したWindowsのセキュリティ・ホールはとても危険である。さまざまな攻撃手法が考えられるとともに,ほとんどのWindowsシステムが影響を受ける。実際,このセキュリティ・ホールを突いてWindows 2000をリブートさせるコードが出現している。今後,このセキュリティ・ホールを突くワーム(ウイルス)が出現する可能性は高い。ところが,マイクロソフトのセキュリティ情報には,その危険性が明確には記載されていない。今回の記事では,このセキュリティ・ホールを詳細に解説する。

ASN.1のライブラリにバッファ・オーバーフロー

 マイクロソフトは以前から告知していたように,日本時間2月11日に同社製品のセキュリティ情報およびパッチを公開した。そのうち最も危険なのが,「ASN .1 の脆弱性により,コードが実行される (828028) (MS04-007)」である。

 これは,Windowsに含まれるライブラリ「Microsoft ASN.1 Library(msasn1.dll)」に未チェックのバッファが存在することが原因である。Microsoft ASN.1 Libraryは,アプリケーションやデバイスの多くが使用するデータの標準表記法(ASN.1)のライブラリである。リモートから細工が施されたASN.1データを送られるとバッファ・オーバーフローが発生し,任意のプログラムを実行させられたり,システムを乗っ取られたりする可能性がある(関連記事)。ほとんどのWindowsシステムが,クライアントあるいはサーバーの区別なく影響を受けるので,悪用された場合の影響は大きい。しかも,パッチを適用する以外の回避策は存在しない。

 実際,2月14日にこのセキュリティ・ホールを突くExploit(セキュリティ・ホールを検証するコード)が出現している。このExploitは,セキュリティ・ホールがあるWindows 2000 をリブートさせるものだ。このExploitを使えば,対象とするWindows 2000マシンに対してDoS(サービス妨害)攻撃を仕掛けることが可能となる。

 JPCERT/CCでは,2月16日に公開した「Microsoft ASN.1 Library の脆弱性に関する注意喚起」において,「この脆弱性を使った攻撃手法が既に公開されています。また、その攻撃手法を用いたサービス運用妨害 (DoS) や侵入の試みと思われる不審なアクセスが行なわれているとの報告もあります」と警告している。今後,より危険なExploitやワームが出現する可能性は高い。影響を受けるWindowsシステムでは,パッチの適用を徹底する必要がある。

 マイクロソフトの情報では,影響を受けるのは Windows NT 4.0/2000/XP/Server 2003 ――としている。Windows 2000/XP/Server 2003 には,デフォルトでmsasn1.dllがインストールされているものの,Windows NT 4.0 (Workstation,Server および Terminal Server Edition) にはインストールされていない。

 しかしながら,2003年10月に公開された「MS03-041」の Windows NT 4.0 用セキュリティ・パッチなどにはmsasn1.dllが含まれているので,それらのパッチを適用している場合には影響を受ける。「MS03-041」は最大深刻度が「緊急」に設定された危険なセキュリティ・ホールなので,きちんとメンテナンスしているシステムでは,「MS03-041」のパッチを適用していることだろう。

 現在使用しているWindows NT 4.0のシステムが影響を受けるかどうかは,msasn1.dllが存在するかどうかを調べれば分かる。存在する場合には影響を受ける。Windows UpdateやSUS(Software Update Services)を利用すれば,msasn1.dllの有無を自動的に調べてくれて,必要があればパッチを適用してくれるので確実だ。Windows NT 4.0においても,セキュリティ・ホールがあるものと考えて,Windows UpdateやSUSを利用することをお勧めする。

 Windows 98/98 SE/Meについては,セキュリティ情報の「影響を受けるソフトウェア」の欄に記述はないが,同様に影響を受ける可能性が高い。これらは,延長サポート期間が2006年6月30日までに延長されているものの,セキュリティ・パッチは要求しないと提供されない。加えて,有償サポート契約を結んでいるユーザーだけが提供対象となる。有償サポート契約を結んでいる場合には,個別にサポート窓口に確認してほしい。

“超特大”並みに危険

 マイクロソフトは,今回のセキュリティ・ホールの最大深刻度を,最悪の「緊急」に設定している。これだけでも危険であることは分かるが,同社の「緊急」にはある程度の幅がある。他の「緊急」のセキュリティ・ホールと比べて,今回のセキュリティ・ホールは危険なのだろうか。

 「緊急」の中でも特に危険なものを,このコラムでは“超特大”と呼んで警告してきた。例えば,2003年8月に出現した「Blaster」ワームが突く「MS03-026」や,2004年2月に出現した「Welchia.B(Welchiaの変種)」(関連記事)が突く「MS03-049」などを,“超特大”と位置付けてきた。

 具体的には,「特別なソフトウエアや機能を組み込んでいなくても,ほとんどすべてのWindowsが影響を受ける」かつ「セキュリティ・ホールを悪用するのに,攻撃対象マシンのユーザーのアクションを必要としない(ユーザーがWebページやHTMLメールなどを閲覧しなくても被害に遭う)」ようなセキュリティ・ホールを“超特大”と呼んでいる。つまり,対策を施していない場合には,ネットワークに接続するだけで攻撃を受けるセキュリティ・ホールを“超特大”と呼んで警告してきた。

 この“定義”に照らせば,今回のセキュリティ・ホールは“超特大”ではない。攻撃を成功させるには,細工が施されたASN.1 データを送られた後,そのデータを攻撃対象マシンがデコード(処理)する必要がある。「MS03-026」や「MS03-049」などとは異なり,デフォルトで稼働しているサービスのセキュリティ・ホールではない。このため,データを送るだけでマシンを乗っ取るような攻撃は困難だと思われる。

 とはいえ,ASN.1のデータの処理は,ユーザーが意識せずに実施されることがほとんどだ。ASN.1を使うアプリケーション・ソフトなどによって,自動的に行われる。このため,ユーザーが意識的に回避することは難しい。そのように考えると,過去の“超特大”のセキュリティ・ホールと同等に危険だと言える。

 しかも,今回のセキュリティ・ホールには,さまざまな攻撃方法が考えられる。というのも,多数のアプリケーションがmsasn1.dllを利用するからだ。細工を施したデータをmsasn1.dllへ送り込む方法はいろいろと考えられる。「MS03-026」や「MS03-049」では攻撃方法が限られたため,特定のポートを(パーソナル)ファイアウオールで遮断すれば,攻撃を回避できた。しかし今回のセキュリティ・ホールは,「これさえやれば大丈夫」という回避策は存在しない。強いて言えば,「ネットワークに接続しないこと」となってしまう。マイクロソフトが「回避策」を「なし」としたことがうなづける。この点では,過去の“超特大”のセキュリティ・ホールよりも厄介だと言える。

 まとめると,過去にこのコラムで紹介した“超特大”並みに危険である。その危険性を十分認識して,早急に対策を施す必要があると言えるだろう。

クライアント・マシンが危ない

 具体的には,どういったアプリケーションやサービスを利用していると,今回のセキュリティ・ホールを突いた攻撃を受けるのだろうか。マイクロソフトの「よく寄せられる質問」には,「どのコンピュータが主にこの脆弱性による危険にさらされますか?」の項に,「クライアント コンピュータよりも,サーバー コンピュータの方が危険にさらされます。この理由は,サーバー コンピュータは ASN.1 データをデコードするサーバー プロセスを実行している可能性がより高いためです」と記載されている。

 これを読む限りでは,ASN.1 データをデコードするプロセス(アプリケーションやサービス)を実行している場合に危険なことは分かるが,具体的に,どのようなアプリケーションやサービスを使用していれば危険なのかは分からない。そもそも,本当にサーバーの方が危険性が高いのであろうか?

 これらの疑問を解くヒントは,米ISS の X-Force が公開した「Microsoft ASN.1 の整数操作における複数の脆弱点」に記載されている。

 そこでは,影響を受けるアプリケーションやサービスとして,「NTLMv2 認証」「Internet Explorer(IE)」「Outlook」「クライアント証明書の解析が有効になっている IIS 4.0,5.0,5.1,および 6.0」「ISAKMP/IPSec」「Exchange 5.x, 2000, 2003」「LDAP」「Kerberos」――の8項目を明記している。

 これを見ると,「サーバーの方が危険」とは言い切れないことが分かる。クライアントでも,IEやOutlookを使っている場合や,ネットワークに接続してWindows資源を共有している場合には,十分危険であることが分かる。つまり,ほとんどのクライアント・マシンが攻撃対象になりうる。

 同情報に記載されたクライアント・アプリケーションにはとどまらない。デジタル証明書でもASN.1を使うので,「Outlook Express」などのように,デジタル証明書を使用するアプリケーションも影響を受けるのだ。例えばOutlookやOutlook Expressに対しては,メールの本文を開くだけで,あるいはプレビュー・モードで表示するだけで,システムを乗っ取られるような攻撃が可能であると考えられる。

 以上のように,マイクロソフトの記述とは異なり,クライアントの方が多様な攻撃を受ける可能性が高いと筆者には思える。特に懸念されるのが,攻撃を自動化したプログラム――すなわち,ワーム――の出現だ。今回のセキュリティ・ホールに対する攻撃パターンは複数存在するので,メールで感染を広げるワームに限らず,Windows資源共有をしているマシンにネットワークを通じて感染を広げるワームが出現する可能性もある。

 ISSが挙げた8項目はあくまでも一例で,影響を受けるケースはもっと存在するだろう。パッチ適用以外の確実な回避方法は存在しない。実際の攻撃やワームが出現する前に,パッチを確実に適用しておくことが不可欠である。

報告から対応まで半年かかった

 とても危険な今回のセキュリティ・ホールだが,パッチの公開前にこのセキュリティ・ホールが悪用されている可能性は小さいと考えられる。というのも,セキュリティ情報の「謝辞」に米eEye Digital Securityの名前があるからだ。同社は今までにも重要なセキュリティ・ホールをいくつか発見している。マイクロソフトは,発見者から事前報告や協力があった場合のみ,発見者の名前(社名)を謝辞に記す。

 パッチの公開に合わせて,同社はセキュリティ・ホールに関するレポート「Microsoft ASN.1 Library Length Overflow Heap Corruption」「Microsoft ASN.1 Library Bit String Heap Corruption」を公開した。マイクロソフトのセキュリティ情報には明記されていないが,今回のセキュリティ・パッチは,これら2つのセキュリティ・ホールが対象である。

 eEye Digital Securityのレポートによると,マイクロソフトへの報告日は,それぞれ 2003年7月25日と2003年9月25日とされている。前者については,パッチが公開されるまでに半年以上経過していることが分かる。

 なお,今回のASN .1 のセキュリティ・ホールは,マイクロソフト固有の問題ではない。例えばCIACは,Sun Solaris 9におけるASN.1のセキュリティ・ホールを2004年1月21日に「O-065: Security Vulnerabilities in ASN.1」として公開している。CIACは,今回のWindowsのセキュリティ・ホールをこのレポートに追加する形でアナウンスした。

 同レポートでは,「ADDITIONAL LINKS(付加的なリンク)」として,2003年10月1日に公開された「CERT Advisory CA-2003-26」ラックによる邦訳)などが紹介されている。これらを読むと,複数のASN.1の問題が広範囲に影響を与えたこと,各ベンダーが速やかに対応を行ったことが分かる。

 余談になるが,eEye Digital Securityは「NEW: eEye Research Team's Upcoming Vulnerability Pipeline」を公開している。これは,同社が発見して各ベンダーに報告したものの,いまだにパッチが公開されていないセキュリティ・ホールをまとめたリストだ。もちろん,パッチが公開されていないので,セキュリティ・ホールの詳細は記述していない。リストの掲載順序は,セキュリティ・ホールの重要度ではなく,報告後の「Days Overdue(延滞日数)」にしている。Days Overdueが長いセキュリティ・ホールほど,リストの上位に掲載されるようにしている。これは,各ベンダーにプレッシャーをかけるためだと考えられる。

 原稿執筆時点(2004年2月16日)では,9件のセキュリティ・ホールがリストアップされている。そのうちマイクロソフト製品に関するものが7件。そのなかには,重要度「High」のものが3件存在する。eEye Digital Securityでは,リモートからの攻撃が可能で,実際にExploitを作成できたセキュリティ・ホールに対して「High」を設定している。今のところ,ユーザーとしてはパッチが公開されるのを待つほかない。パッチが公開されたら速やかに適用しよう。

IEのパッチに不具合が続出

 以前からこのコラムで指摘してきたIEの“URL偽装問題”は,2月3日にようやく正式にアナウンスされ,この問題を解消するパッチを含む“累積”パッチ「MS04-004」が公開された(関連記事)。ただし,パッチを適用しても,根本的には解消できない。というのも,ステータス・バーのURL偽装は相変わらず可能であるからだ。パッチを適用していても,「怪しいリンクはクリックしない」といった,セキュリティの基本は実践し続ける必要がある。

 このパッチを適用すると,HTTP または HTTPS URL でのユーザー名およびパスワードの処理ができなくなる。具体的には,「http(s)://username:password@server/resource.ext 」という URL の構文は,IE(および Windows Explorer)でサポートされなくなる。これに関する対処方法は,「マイクロソフト サポート技術情報 - 834489 Internet Explorer で HTTP URL と HTTPS URL のユーザー情報を処理する際のデフォルトの動作を変更するソフトウェア アップデートのリリースについて」に記載されている。必要に応じてチェックしよう。

 このサポート技術情報では,対処方法の一つとして,レジストリ・キーを設定することを挙げている。紹介されているレジストリ・キーを設定すれば,パッチを適用した後でも,IE(および Windows Explorer)でURL中のユーザー名/パスワードをサポートするようになる。しかしながら,このレジストリ・キーを設定すると,パッチを適用したことの意味がなくなり,再びURLの偽装を許すようになってしまう。十分注意が必要である。

 また,「MS04-004」のパッチには不具合が相次いで見つかり,そのたびにセキュリティ情報が追加あるいは修正されている。

 まず,パッチを適用すると,以前記憶させたはずのユーザー名とパスワードが表示できなくなる問題が明らかとなった関連記事)。当初は不完全な回避方法が公開されたが,その後,その回避方法を行う必要はないことがアナウンスされた。ユーザー名とパスワードが表示されない場合には,ダイアログに再度情報を入力すればきちんと記憶されることがアナウンスされた。

 さらに,XMLHTTP を「username:password@host.com」形式のURL で呼び出すと失敗する問題,特定の SSL で保護された Web サイトへアクセスするとエラーが発生する問題が相次いで公開された。それぞれ,「ユーザー資格情報が埋め込まれた URL を指定すると XMLHTTP の呼び出しでエラーが発生する」「Wininet により空白のヘッダーのみの POST 要求が再送される」において,問題の詳細とパッチが公開されているので,必要に応じて参照してほしい。

 上記以外のWindows関連セキュリティ・トピックス(2004年2月16日時点分)については,スペースの都合上割愛する。各プロダクトごとにまとめたリンクを記事末に記したので,参考にしてほしい。IT Proでも関連記事をいくつか掲載しているので参照してほしい。特に,以下の記事は重要なので,ぜひチェックしてほしい。

◎IT Pro過去記事
『Welchiaワームの変種が出現,オリジナルとは異なるセキュリティ・ホールも突く』
『FireWall-1にセキュリティ・ホール,管理者権限を奪われる恐れあり』
『RealOne Playerにセキュリティ・ホール,任意のプログラムを実行させられる』



マイクロソフト セキュリティ情報一覧

『Windows NT Server 4.0/NT Server 4.0 Terminal Server Edition/2000/XP/Server 2003』
ASN .1 の脆弱性により,コードが実行される (828028)(MS04-007)
 (2004年 2月11日:日本語情報および日本語版パッチ公開,最大深刻度 : 緊急)

『Windows NT Server 4.0/NT Server 4.0 Terminal Server Edition/2000 Server/Server 2003』
Windows インターネット ネーム サービス (WINS) の脆弱性により,コードが実行される (830352)(MS04-006)
 (2004年 2月11日:日本語情報および日本語版パッチ公開,最大深刻度 : 重要)

『Internet Explorer 6 /5.5/5.01』
Internet Explorer 用の累積的なセキュリティ修正プログラム (832894)(MS04-004)
 (2004年 2月13日:「警告」「技術的な詳細」「よく寄せられる質問」において,SSL/TLS 3.0 サイト訪問時にエラーが発生する場合があることを追加)
 (2004年 2月12日:「警告」「技術的な詳細」「よく寄せられる質問」 においてIEの保護されたストアの変更に関する情報を追加)
 (2004年 2月 9日:「技術的な説明」においてMSXML のパッチに関する情報を更新)
 (2004年 2月 4日:「よく寄せられる質問」に IE 5.5 SP2,Windows 98/98SE/Meの情報を追加。「技術的な説明」のOutlookに関する情報を更新)
 (2004年 2月 3日:日本語情報および日本語版パッチ公開,最大深刻度 : 緊急)

『FrontPage 2000 Server Extensions/FrontPage Server Extensions 2002』
Microsoft FrontPage Server Extensions のバッファ オーバーランにより,コードが実行される (813360)(MS03-051)
 (2004年 2月11日:Office 2000 Server Extensions/Windows XP 64-bit Edition も影響を受けることを追記)
 (2004年 1月14日:「よく寄せられる質問」にFrontPage Server Extensions/Windows 2000 SP4 の情報を追加)
 (2003年12月11日:「よく寄せられる質問」にWindows Update に関する情報を追加)
 (2003年11月20日:セットアップ スイッチに関する情報を更新)
 (2003年11月17日:「修正プログラムが正しくインストールされたかどうか確認する方法」の不要な情報を削除。 「回避策」を更新)
 (2003年11月13日:「技術的な説明」を更新)
 (2003年11月12日:日本語情報および日本語版パッチ公開,最大深刻度 : 緊急)

『Data Access Components 2.5/2.6/2.7/2.8』
MDAC 機能のバッファ オーバーランにより,コードが実行される (832483)(MS04-003)
 (2004年 2月 2日: 「回避策」の IPSEC ポリシーと「適用に関する情報」を更新)
 (2004年 1月21日:パッチ適用に関する補足情報を追加)
 (2004年 1月14日:ダウンロード サイトを日本のサイトに変更)
 (2004年 1月14日:インストーラが英語版でも問題ないことを追記)
 (2004年 1月14日:日本語情報および日本語版パッチ公開,最大深刻度 : 重要)

マイクロソフト トラブル・メンテナンス速報

MS04-004 Internet Explorer 6 Service Pack 1 用セキュリティ問題の累積的な修正プログラム (KB832894)の適用後,記憶したはずのユーザー名とパスワードが表示されなくなる

TechNet Online セキュリティ

2004 年 1 月 セキュリティ 警告サービス 月間サマリー


山下 眞一郎   Shinichiro Yamashita
株式会社 富士通南九州システムエンジニアリング
第一ソリューション事業部ネットソリューション部 プロジェクト課長
yamaアットマークbears.ad.jp


 「今週のSecurity Check [Windows編]」は,IT Proセキュリティ・サイトが提供する週刊コラムです。Windows関連のセキュリティに精通し,「Winセキュリティ虎の穴」を運営する山下眞一郎氏に,Windowsセキュリティのニュースや動向を分かりやすく解説していただきます。(IT Pro編集部)