無料アプリからWindowsのライセンスを偽造できる脆弱性「Keyhole」が発見される、すでに修正済み
WindowsやOfficeのアクティベーターをオープンソースで開発するMASSGRAVEの研究チームが、Windows 10以降のClient Licensing Platform(CLiP)システムの脆弱(ぜいじゃく)性「Keyhole」の存在を明らかにしました。この脆弱性はCisco TALOSによってMicrosoftに報告され、すでに修正されています。
Keyhole | MAS
CLiPは主にMicrosoftストアアプリのDRM実装とWindowsのアクティベーション統合を目的としたシステムで、ユーザーがMicrosoft StoreでWindowsのデジタルライセンスを購入できるようにするためのものです。
研究チームはこのうち、Windows 8のストアライセンスや正規チケット、プロダクトキーをデジタルライセンスに移行する「ClipUp」のファイル内に、暗号化されていない状態でECDSA鍵が保存されていることを発見しました。この鍵は本来Microsoft Storeに送信される一時的なライセンスに署名するためのものでしたが、この鍵を使うことで正規のMicrosot製品と同様にXMLライセンスに署名することが可能になっていました。
そして、ライセンス管理を行うClipSvcがこのXMLライセンスを受け入れることができたため、ユーザーモードレベルのセキュリティチェックをバイパスすることができたとのこと。ささらに、カーネルモードドライバーであるClipSpで、署名ブロックの後に追加されたデータが適切にチェックされていなかったことで、署名後にライセンス情報を改変することが可能でした。これにより、攻撃者は正規のライセンスを改変し、新しいライセンスを作成できるようになります。
研究チームは、この脆弱性を利用し、実際にMicrosoft Storeから正規の無料アプリをインストールし、その際のトラフィックをキャプチャしてライセンスを傍受し、XMLファイルにパッケージ化することでWindowsをアクティベートすることに成功したと報告しています。
Windowsのオープンソースアクティベーターを開発するMASSGRAVEにとっては、この発見された脆弱性は歓迎されるものでしたが、同じ脆弱性をCisco TALOSが報告していたため、すぐに修正されたとのこと。そこで、MASSGRAVEの研究チームはこのKeyholeに関する研究結果を公開することが公平だと判断したそうです。
なお、MASSGRAVEの研究チームによると、ClipSpのコードはコピー&ペーストされた部分が多く、品質が非常に低いとのこと。特にその多くはXbox Oneのセキュアプロセッサのコードから転用されており、Xbox One側にも同様のバグが存在していたそうです。