Protected Process Light(PPL)とは?仕組みと回避される攻撃手法を解説|サイバーセキュリティ.com

Protected Process Light(PPL)とは?仕組みと回避される攻撃手法を解説



Protected Process Light(PPL)は、Windows 8.1から実装されたオペレーティングシステムの保護技術で、信頼できるサービスやプロセスのみを読み込み、実行中のプロセスを悪意のあるコードによる改ざんや停止から守ります。

本記事では、PPLの仕組みから、近年のランサムウェア攻撃で実際に悪用されている回避手法までを解説します。

Protected Process Light(PPL)とは

PPLが導入された背景(Windows 8.1からの実装)

Protected Process Light(PPL)技術は、Windows 8.1から実装されたオペレーティングシステムが信頼できるサービスとプロセスのみを読み込む技術で、Windowsの要件を満たす署名が必要になります。この技術は、実行中のプロセスを保護し、悪意のあるコードによる感染や他の潜在的な危険から保護することを目的としています。

以前のWindowsでは、管理者権限を持つプロセスであれば、他のプロセスを比較的自由に操作・終了できてしまう構造上の弱点があり、これがセキュリティソフト自体を無効化する攻撃の温床となっていました。

PPLとセキュリティソフトの関係

PPLは、OSの重要なコンポーネントだけでなく、アンチウイルスやEDR(Endpoint Detection and Response)といったセキュリティ製品のプロセス保護にも活用されています。マルウェアがセキュリティソフトのプロセスを強制終了させて防御を無力化する、という古典的な攻撃パターンに対する有効な防御策として位置づけられています。

PPLによって保護される操作

プロセス制御に関する操作

PPLによって保護される代表的な操作として、プロセスのシャットダウン、デバッギング(デバッガによる解析)、スレッドの現在の状態に関する情報の変更と受信、スレッドの偽装(別アカウントでのプロセススレッドの実行)などが挙げられます。

これらはいずれも、攻撃者がプロセスの動作を外部から操作しようとする際に使われうる操作です。

メモリ・情報アクセスに関する操作

このほか、ストリーム・デプロイメント、仮想メモリへのアクセス、ディスクリプタのコピー、ワーキングセットの変更といった、プロセスが扱うメモリやリソースへのアクセスに関する操作も保護対象に含まれます。これにより、保護対象プロセスのメモリ内容を外部から読み取ったり改ざんしたりすることが困難になります。

署名レベル(PP/PPL)の仕組み

Protected Process(PP)とProtected Process Light(PPL)の違い

Windowsには、保護の強さが異なる2種類の仕組みがあります。「Protected Process(PP)」は最も強力な保護レベルで、主にOSの中核的なコンポーネントに限定して使われます。一方「Protected Process Light(PPL)」はPPよりも緩やかな保護レベルで、アンチウイルス製品のような、サードパーティのセキュリティソフトウェアでも利用できるよう設計されています。

署名者(Signer)による階層構造

PP/PPLの保護レベルは、実行ファイルの署名に付与される「署名者(Signer)レベル」によって階層的に管理されています。上位のレベルにあるプロセスは下位レベルのプロセスを操作できますが、下位から上位への操作は許可されません。

アンチウイルス製品は主に「Antimalware」という署名者レベルでPPL保護を受けており、これより保護の弱いレベルのプロセスからは干渉されない仕組みになっています。

セキュリティ製品でのPPL活用例

セルフディフェンス機能

多くのセキュリティ製品は、自社のプロセスへの侵入や終了を防ぐ「セルフディフェンス機能」の実現手段としてPPLを活用しています。マルウェアがタスクマネージャーなどからセキュリティソフトのプロセスを強制終了させようとしても、PPLによる保護があれば通常の権限では終了できません。

ファイルの整合性制御

PPLは、セキュリティ製品自身の実行ファイルやドライバが不正に改ざんされていないかを制御する仕組みにも利用されます。プロセスだけでなく、関連するファイルの整合性を保つことで、製品全体の信頼性を担保しています。

PPLを回避する攻撃手法

PPLはセキュリティソフトを守る強力な仕組みですが、それゆえに攻撃者にとっても「破れれば大きな見返りのある壁」となっており、近年ではこれを回避するための手法が実際の攻撃で使われるようになっています。

BYOVD(Bring Your Own Vulnerable Driver)

BYOVDは、正規のデジタル署名を持ちながら既知の脆弱性を抱えた古いドライバを、攻撃者があえてシステムに持ち込んでインストールする手法です。署名検証自体は正規に通過してしまうため、OS側では不正なドライバとして弾かれません。

その後、このドライバに存在する脆弱性を悪用してカーネルレベルの権限を奪取し、PPLによる保護を無効化した状態でセキュリティソフトのプロセスを強制終了させます。

PPLDumpなどのツールを使った回避

PPLで保護されたプロセスのメモリを不正にダンプ(複製)し、内部の機密情報を窃取しようとするツールも確認されています。こうしたツールは、PPLが本来防ぐはずのメモリアクセスを、別の脆弱性や設計上の隙を突いて実現しようとするものです。

EDR Killer/AV Killerとしての実態

ランサムウェア攻撃グループによる悪用実態

近年のランサムウェア攻撃グループは、身代金要求型のマルウェアを展開する前段階として、標的環境のEDRやアンチウイルス製品を無力化する「EDR Killer」「AV Killer」と呼ばれるツールを積極的に活用しています。

BYOVDはこうしたツールの代表的な実現手段の一つであり、PPLによる防御をすり抜けることが、その後の本格的な攻撃を成功させる鍵となっています。

攻撃の典型的な流れ

典型的な攻撃では、まず何らかの初期侵入経路(フィッシングメールや脆弱性の悪用等)で標的環境に侵入し、その後BYOVD等の手法でセキュリティソフトを無効化します。防御が無力化された状態で、ランサムウェア本体を展開し、暗号化やデータの窃取といった本命の攻撃を実行するという流れが一般的です。

PPL回避への対策

脆弱なドライバのブロックリスト活用

Microsoftは、既知の脆弱なドライバの一覧を管理し、それらのロードをブロックする機能を提供しています。このブロックリストを有効化しておくことは、BYOVD対策の基本的な一手です。

Windows・セキュリティ製品を最新の状態に保つ

OSやセキュリティ製品の更新プログラムには、新たに発見された脆弱なドライバへの対応が含まれることが多いため、常に最新の状態を維持することが重要です。

EDR/XDRによる異常な特権操作の監視

未知のドライバのロードや、通常とは異なるカーネルレベルの操作をリアルタイムで検知できるEDR/XDR製品の導入も有効な対策です。BYOVDのような手法は正規の署名を悪用するため、署名の有無だけでなく、振る舞いベースでの監視が重要になります。

まとめ

Protected Process Light(PPL)は、セキュリティソフトをはじめとする重要なプロセスを、マルウェアによる強制終了や改ざんから守るためのWindowsの保護技術です。署名者レベルによる階層構造で保護の強弱が管理されており、アンチウイルス製品の多くがこの仕組みの恩恵を受けています。

しかし、BYOVDのような手法によってこの防御が突破され、EDR Killer/AV Killerとしてランサムウェア攻撃の一部に組み込まれている実態もあります。脆弱なドライバのブロックリスト活用や、振る舞いベースでの監視といった対策を組み合わせ、PPLだけに頼らない多層的な防御を構築することが重要です。

SNSでもご購読できます。