Microsoft Windows の RDP の実装に起因する解放済みメモリ使用の脆弱性(Scan Tech Report) | ScanNetSecurity[国内最大級のサイバーセキュリティ専門ポータルサイト]
2017.10.20(金)

Microsoft Windows の RDP の実装に起因する解放済みメモリ使用の脆弱性(Scan Tech Report)

脆弱性と脅威 エクスプロイト

1.概要
Microsoft Windows には、特定の RDP パケットを処理する際に解放済みメモリを使用してしまう脆弱性が存在します。
リモートの第三者に利用された場合、システムを不正に停止される、あるいはシステム上で不正な操作が実行される可能性があります。
この脆弱性は、Luigi Auriemma 氏が 2011/5/16 に発見し、Microsoft が先日の 2012/3/13 にアドバイザリと共にセキュリティ更新プログラムを公開した問題です。
既にこの脆弱性を悪用する実証コードが公開されており、攻撃を受ける可能性が高いことが考えられるため、RDP サービスが有効な環境では速やかに以下に記載する対策を実施することを推奨します。


2.深刻度(CVSS)
9.3
http://nvd.nist.gov/cvss.cfm?version=2&name=CVE-2012-0002&vector=%28AV%3AN/AC%3AM/Au%3AN/C%3AC/I%3AC/A%3AC%29


3.影響を受けるソフトウェア
サポートされる全ての Microsoft Windows OS ※

※Remote Desktop Protocol (RDP) サービスが有効な環境のみ影響を受けます。


4.解説
Remote Desktop Protocol (RDP) は、Microsoft によって開発された ITU-T T.120 を拡張したローカルホストとターミナルサービスが有効なリモートホスト間の通信で利用されるプロトコルであり、リモートデスクトップまたはターミナルサービスとして、既定でポート 3389/tcp を利用して通信を行います。

Microsoft Windows の RDP サービスには、特定の RDP パケットを処理する際のユーザコネクションの取り扱いに不備があるため、maxChannelIds フィールドに特定の値が指定された T.125 ConnectMCSPDU パケットを処理中に、コネクションが切断された場合、RDPWD!NM_Disconnect() 関数がメモリオブジェクトのポインタを適切に初期化せず解放してしまう問題があります。このため、termdd!IcaBufferAlloc()/termdd!IcaBufferAllocEx() 関数を介して、解放済みのメモリオブジェクトを参照可能な脆弱性が存在します。

この脆弱性を利用することで、リモートの攻撃者は NetworkService または Local System 権限で任意のコードが実行可能となります。

但し、RDP サービスは、デフォルトでは無効に設定されているため、当該サービスを有効にする環境のみ、この脆弱性の影響を受けます。また、Windows Vista/Server 2008/7/Server 2008 R2 のネットワークレベル認証が有効な環境では、RDP コネクションを確立する際に認証処理が行われるため、この脆弱性を悪用するためには、標的システムのアカウント情報が既知である必要があります。

なお、Luigi Auriemma 氏が、この脆弱性を報告するために Zero Day Initiative (ZDI) から Microsoft に送った報告用の実証コード (PoC) が Microsoft から流出した可能性があると報告されています。

Details about the ms12-020 proof-of-concept leak
http://aluigi.org/adv/ms12-020_leak.txt
MS12-020 RDP Code Leak Mystery Deepens As Microsoft Remains Silent
http://threatpost.com/en_us/blogs/ms12-020-rdp-code-leak-mystery-deepens-microsoft-remains-silent-031612
Microsoft confirms MAPP proof-of-concept exploit code leak
http://www.zdnet.com/blog/security/microsoft-confirms-mapp-proof-of-concept-exploit-code-leak/10872
Proof-of-Concept Code available for MS12-020
http://blogs.technet.com/b/msrc/archive/2012/03/16/proof-of-concept-code-available-for-ms12-020.aspx


5.対策(本脆弱性は対策をWebにも公開しました)
以下の Web サイトを参考に、それぞれの OS バージョンに対応する適切なパッチ (MS12-020) を入手し適用することで、この脆弱性を解消することが可能です。

MS12-020:
http://technet.microsoft.com/security/bulletin/MS12-020

あるいは、回避策項目を参考に、下記のいずれかの回避策を実施することで、この脆弱性による影響を緩和または回避することが可能です。

・リモートデスクトップ、ターミナルサービスを無効にする
・TCP ポート 3389 をファイアウォールでブロックする
・ネットワークレベル認証を有効にする※ (Windows Vista/Server 2008/7/Server 2008 R2 のみ)

※ネットワークレベル認証を有効する回避策については、自動化された "Microsoft Fix it" ソリューションが公開されています。詳細については、以下の Web サイトを参照下さい。

サポート技術情報 2671387:
http://support.microsoft.com/kb/2671387

また、当該パッチ MS12-020 では、他にもターミナルサーバの実装に起因してサービス不能状態を引き起こす脆弱性 (CVE-2012-0152) も解消しています。


6.ソースコード
(Web非公開)

(執筆:株式会社ラック コンピュータセキュリティ研究所

※Web非公開該当コンテンツ閲覧をご希望の方はScan Tech Reportにご登録(有料)下さい。
《吉澤 亨史》

関連記事

Scan PREMIUM 会員限定記事

もっと見る

Scan PREMIUM 会員限定記事特集をもっと見る

Scan BASIC 会員限定記事

もっと見る

Scan BASIC 会員限定記事特集をもっと見る

[Web小説] サイバー探偵 工藤伸治の事件簿サーガ (シーズン 1~6 第1話)

もっと見る

[Web小説] サイバー探偵 工藤伸治の事件簿サーガ (シーズン 1~6 第1話)特集をもっと見る

カテゴリ別新着記事

脆弱性と脅威 カテゴリの人気記事 MONTHLY ランキング

  1. OSSに潜在する訴訟・脆弱性リスク

    OSSに潜在する訴訟・脆弱性リスク

  2. 「JP1/秘文」で作成した自己復号型機密ファイルに、DLL読込に関する脆弱性(HIRT)

    「JP1/秘文」で作成した自己復号型機密ファイルに、DLL読込に関する脆弱性(HIRT)

  3. 「DLL読み込み」の脆弱性の公表件数が急増、対策方法を紹介(IPA)

    「DLL読み込み」の脆弱性の公表件数が急増、対策方法を紹介(IPA)

  4. Apache Tomcat において値検証不備により JSP ファイルがアップロード可能となる脆弱性(Scan Tech Report)

  5. Apache Struts 2 において REST プラグインでの XML データ処理の不備により遠隔から任意のコードが実行可能となる脆弱性(Scan Tech Report)

  6. 10月10日に「Office 2007」の延長サポートが終了、しかし40万台が今も利用(トレンドマイクロ)

  7. Apache Tomcatにおける、任意のファイルをアップロードされる脆弱性を検証(NTTデータ先端技術)

  8. マイクロソフトが10月のセキュリティ更新プログラムを公開、すでに悪用も(IPA)

  9. インシデントは「スキャン」が半数、フィッシングサイト報告件数は千件超え(JPCERT/CC)

  10. WPA2の脆弱性「KRACKs」に注意喚起、通信を盗聴される可能性(JVN)

全カテゴリランキング

特集

★★Scan PREMIUM 会員限定コンテンツにフルアクセスが可能となります★★
<b>★★Scan PREMIUM 会員限定コンテンツにフルアクセスが可能となります★★</b>

経営課題としてサイバーセキュリティに取り組む情報システム部門や、研究・開発・経営企画に携わる方へ向けた、創刊19年のセキュリティ情報サービス Scan PREMIUM を、貴社の事業リスク低減のためにご活用ください。

×