Windowsのマルウェア対策エンジンのバグ、2日で修正されたバグ以外のバグも報告されていた
タレコミ by headless
headless 曰く、
先日、Google Project ZeroがWindowsのマルウェア対策エンジンに「最悪」の脆弱性を発見し、Microsoftが2日で修正したことが話題となったが、報告されていた脆弱性はそれだけではなかったようだ(Issue 1260、 Softpediaの記事)。
Issue 1260はマルウェア対策エンジンに搭載されているx86エミュレーターに関するもの。このエミュレーターはPE実行ファイルに見える不審なファイルを実行して確認するために使われるが、NT AUTHORITY\SYSTEMとして実行され、サンドボックス化されていない。Project ZeroのTavis Ormandy氏によれば、このエミュレーターがサポートするWin32 APIのntdll!NtControlChannelを使用すると、ioctlのようにエミュレートされたコードからエミュレーターを制御可能なのだという。
このAPIのコマンド0x0CではMicrosoftの正規表現ライブラリGRETAに攻撃者の制御下にある正規表現をパースさせることが可能だ。GRETAは信頼できない正規表現を安全にパースできないことが知られており、マルウェア対策エンジンをクラッシュさせるPoCが公開されている。また、コマンド0x12では追加のマイクロコードを読み込んで演算コードを置き換えることが可能であり、ほかにもさまざまなコマンドに問題がみられるとのこと。
この問題はMicrosoftが5月25日にリリースしたマルウェア対策エンジンバージョン1.1.13804.0で修正されたそうだ。このほか、バージョン1.1.13804.0ではIssue 1258(CVE-2017-8540)、Issue 1259(タレこみ時点では未公開)、Issue 1261(CVE-2017-8535、8536、8537、8538)なども修正されている。
Windowsのマルウェア対策エンジンのバグ、2日で修正されたバグ以外のバグも報告されていた More ログイン