2012/06/19 17:00 : 「Flame への対策」セクションに、失効した証明書を自動で処理する更新プログラム (KB2677070) の記載を追加しました。
2012/6/11 18:45: ターミナル サーバーライセンス インフラストラクチャに以下の変更について記載を、一部修正いたしました。
2012 年 6 月 4 日に公開した セキュリティ アドバイザリ 2718704 に関し、このブログでも注意喚起をしてきましたが、ここでは Flame マルウェアの攻撃特徴および Windows Update に対して行った強化について説明します。
Flame マルウェアの攻撃特徴
Flame は、一部のコンポーネントがマイクロソフトの製品と思い込ませるよう、現在は無効化されているマイクロソフトターミナル サーバー ライセンス サービスの証明書を悪用し自らのコードを署名していました。そして、Windows Vista 以降の OS に対しては、この証明書があっても既定では有効に機能しないため、攻撃者は MD5 ハッシュ衝突攻撃 (Collision Attack) を行い、証明書がコード署名に対して有効であるよう偽造していました。Windows Vista より前の Windows に対しては、この証明書があることで、MD5 ハッシュの衝突なしで攻撃が可能でした。ハッシュ衝突攻撃の詳細に関しては、Security Research & Defense Blog “Flame malware collision attack explained” をご参照ください。
次に、攻撃者は Windows 自動更新の機能を使い、ユーザーのシステムに対して 正規のサーバーではなく、ネットワーク上の感染 PC に誘導を行い、そして、この感染 PC が、他の PC にマルウェアを含んだ更新を送信し、偽の Microsoft の証明書によりあたかも正規のソフトウェアと見せかけたマルウェアの配布を試みていました。Windows Update では、承認されていない証明書が使用された場合、中間者攻撃を実行された場合のみ、なりすましが行われます。これに対応するため、マイクロソフトは Windows Update の構造を強化し、追加の保護策を適用しています。
Flame の特徴、どのように発見したか?
マイクロソフトが最初に Flame マルウェアを調査した時、マイクロソフトのルート認証機関にチェーンされた有効なデジタル署名がされたファイルを発見しました。その証明書を確認したところ、いくつかの不正な点がわかりました。
まず、X.509 の拡張領域がなく、ターミナル サーバーのライセンス インフラストラクチャから発行された証明書と一致していませんでした。
また、証明書失効リスト (Certificate Revocation List (CRL))、配布ポイント (Distribution Point (CDP)) 拡張機能、機関情報アクセス (Authority Information Access (AIA)) 拡張機能、および「Microsoft Hydra」のクリティカル拡張機能の情報が欠落していました。
この詳細なデータ構造およびデータに関しては、Security Research & Defense Blog “Flame malware collision attack explained” で詳解されていますので、ご興味のある方はご参照ください。
Flame への対策 (お客様は 1 と 3 の対策が必要です)
1. マイクロソフトは、悪用された証明書を無効にする更新プログラムを緊急にリリースしました。お客様はまずセキュリティ アドバイザリ 2718704 で提供している更新プログラムを早急に適用してください。これにより、問題のある証明書を失効させます。
※ 2012 年 6 月 12 日 (米国時間)、 Windows Vista Service Pack 2, Windows Server 2008 Service Pack 2, Windows 7, Windows Sever 2008 R2 用に、失効した証明書を自動で処理する更新プログラム (KB2677070) を公開しました。KB2677070 は、KB2718704 で無効にする証明書に限らず、今後疑わしい証明書が出てきた場合に、個別の更新プログラムを適用せずとも自動で失効させるための更新プログラムです。(詳細は、失効証明書の自動更新処理を有効にする KB2677070 の適用を推奨 をご覧ください。)(2012/06/19 更新)
2. 将来的にリスクを最小限に抑えるために、ターミナル サーバーライセンス インフラストラクチャに以下の変更を加えました。 (2012/06/11 18:45 更新)
-
- Flame マルウェアが使用する既知の証明書を無効にするのだけではなく、過去も含めターミナル サービス ライセンスが発行した全体の証明機関の階層が、セキュリティアドバイザリ 2718704 の更新プログラムによって無効になります。既存のターミナル サーバー クライアント アクセスライセンス (CAL) には影響はありません。
- 将来のリスクを最小にするために、Windows クライアントが信頼しない、SHA1 を利用した独立したルート証明書として分離しました。
- この新しい階層による証明書によるコード署名は行いません。また、強化された証明鍵の利用方法においても、コード署名では利用できないように改善され、ターミナルサーバーのライセンス認証だけに有効な証明書となります。
3. 新しい証明書によって署名されたファイルのみを信頼するように、Windows Update、WSUS、および SCCM のインフラストラクチャを強化しています。Windows Update をご使用のお客様は KB949104 に記載の通り、自動で最新のバージョンの Windows Update Agent が提供されます。WSUS および SCCM をご使用のお客様については、KB2720211 で提供している更新を適用する必要があります。なお、この強化の詳細については、Microsoft Update チームのブログ、WSUS チームのブログ、および SCCM チームのブログをご参照ください。
本セキュリティ アドバイザリに関して、引き続き、調査および対応を行います。
関連リンク:
- セキュリティ アドバイザリ 2718704
- MSRC Blog: Security Advisory 2718704: Collision attack details, WU update rollout
- SRD Blog: Flame malware collision attack explained
- MU Blog: Update to Windows Update, WSUS Coming This Week
- WSUS Blog: Further Hardening of WSUS Now Available
- SCCM Blog: Further Hardening of WSUS Now Available For Configuration Manager Customers
- Remote Desktop Services Blog: Follow-up to Microsoft Security Advisory 2718704: Why and How to Reactivate License Servers in Terminal Services and Remote Desktop Services
- Blog:失効証明書の自動更新処理を有効にする KB2677070 の適用を推奨