日本人によって発見されたMicrosoft PatchGuardバイパス方法の実行コードを公開:一方MSは本脆弱性を軽視

news

Windowsの重要なセキュリティ機能であるPatchGuardに重大な脆弱性があることが発見されました。

この脆弱性により攻撃者はWindows OSのカーネルに未署名の(悪意のある)コードを読み込み・実行することができます。

なお、本脆弱性は、日本人の研究者、大木健人氏によって発見されましたが未だに修正されていません。

大木健人氏はThe Recordにこの脆弱性をマイクロソフトに報告しなかった理由とはマイクロソフトは過去数年間に発見された他の3つのPatchGuardバイパスを無視しており、同社が修正を急いでいないことを知っていたと語っています。

PatchGuardとは

PatchGuardは正式名称を「Microsoft Kernel Patch Protection (KPP)」と言い、一般的には「PatchGuard」と呼ばれています。

このセキュリティ機能はマイクロソフトがWindows XP ProfessionalとWindows Server 2003の64ビット版を発売した2005年にWindows OSに搭載された機能です。

それ以降の64ビット版WindowsにはPatchGuardが搭載されており、この機能は今ではWindowsのセキュリティの基礎となっている重要なものです。

さらに2005年にリリースされたPatchGuardは「カーネルパッチング」を防ぐために開発されたセキュリティ機能であり革新的なソリューションでした。

カーネルパッチングとは、アプリケーションがカーネルと呼ばれるWindows OSの中核部分の構造を変更することで、アプリケーションがカーネルモードと呼ばれる最高レベルの特権でOSを操作・実行できるようにするプログラミング技術のことです。

この手法は2000年代初頭に流行しウイルス対策ソフトだけでなくアドウェアやルートキットなどにも悪用されていました。

PatchGuardのバイパスとMicrosoftレポートの難問

PatchGuardはWindows OS、特にWindows 10のハッキングをより困難にするセキュリティ機能の一つとなっています。

しかし、数年前からセキュリティ研究者たちはPatchGuardをバイパスしてカーネルに不正なコードをパッチする方法を発見していました。

2017年にはGhostHook、2019年にはInfinityHook、ByePgといった技術が公開され、いずれも攻撃者がPatchGuardをすり抜けカーネルに侵入し、OSの内部構造を変更することを可能にしています。

これらの技術の中で大木健人氏のバイパスは最新のものであり、2021年5月初めに詳細を公開。実証を再現するための概念実証(PoC)コードもGitHubで公開しています。

GitHub - kkent030315/NoPatchGuardCallback: x64 Windows PatchGuard bypass, register process-creation callbacks from unsigned code
x64 Windows PatchGuard bypass, register process-creation callbacks from unsigned code - GitHub - kkent030315/NoPatchGuar...

大木健人氏は

これはマルウェアが署名されていないコードのカーネル仮想アドレスにマッピングされたコールバックルーチン関数を登録しようとする場合、攻撃可能なツールになります。

攻撃可能なシナリオではマルウェアがすでに侵入している必要がありますが、このバイパス技術が役に立たないというわけではありません。

大木健人氏は、このバイパス技術と過去の3つのPatchGuardバイパス技術が不正なカーネルパッチを実行するために、攻撃者のコードが管理者権限で実行されることを必要としていることに言及しており、マイクロソフト社は、この実行前提があるため、過去の3つの報告をすべて無視しているようです。

マイクロソフト社は攻撃者がWindowsシステム上で管理者権限を持ってしまった場合は、あらゆる攻撃のエスカレーションが可能になると主張しています。

https://www.microsoft.com/en-us/msrc/windows-security-servicing-criteria

マイクロソフト社は今でもPatchGuardを重要視しており、これらの欠陥を修正することを約束していると述べていますが、OSメーカーはこれまでこのようなバグレポートを無視してきたため、パッチガードのバイパスが広く公開されている状況になっています

Comments

Copied title and URL