ニュース

XP以降、20年存在していたWindowsの脆弱性をGoogleが発見

CTFを通じてメモ帳の内容を読み書きしている様子

 米GoogleのセキュリティチームProject Zeroは13日(現地時間)、20年間発見されていなかったWindowsの脆弱性について報告した。Windows XP以降のすべてのバージョンに存在する。

 通常、同じデスクトップ上で展開されるアプリケーション同士は相互に通信が可能で、移動やリサイズなどといった情報をやりとりしている。より上位の権限が必要なアプリケーションに対してコマンドが送信された場合は、UIPI(User Interface Privilege Isolation、ユーザーインターフェイス特権の分離)が送信を止めることで、悪意あるプログラムからシステムを防衛する。

 今回報告された脆弱性は、「Text Service Framework(TSF)」内にある「MSCTF」というモジュールに関するもの。MSCTFは、アプリケーションとカーネルの間でキーボードの入力情報やレイアウトの変更などの情報をまとめてやりとりする役割を果たしている。

 MSCTFは、Windowsにログインすると自動的にCTF monitor service(ctfmon.exe)というサービスを開始する。このサービスが実際にアプリケーションとカーネルとをつなぐのだが、認証やアクセス制限の機能が実装されておらず、攻撃が行なえるという。これを悪用すれば、任意のアプリケーションやユーザー、サンドボックス化されたプロセスなどからでも、すべてのCTFセッションへ接続が可能となる。

 実際には、ほかのウィンドウやセッションのテキストの読み書き、スレッドやプロセスIDなどの偽装、サンドボックスからのエスケープなどが行なえる。さらにUIPIをバイパスできるため、権限の昇格やUAC(ユーザーアカウント制御)ダイアログのコントロールもできるという。

 なおこの脆弱性については、90日間の猶予をもってMicrosoftへ情報提供が行なわれていたが、解決に至らなかったため、対策が準備できないまま公表されることとなった。

ログイン画面のCTFセッションを利用してシステム権限を取得するデモ