WhiteHat Schoolのセキュリティ研究者は、Windowsカーネルドライバーと名前付きパイプという2つの攻撃対象領域における重大な権限昇格の欠陥を特定した集中的なバグハンティングプロジェクトを完了しました。これらはサイバーセキュリティチームが直ちに優先すべき領域です。
カーネルドライバーはシステムの中核で動作し、ユーザーアプリケーションからの要求を最小限の検証で処理します。
研究により、多くのドライバーがユーザーコマンドを受け取る際に適切な入力検証を欠いており、悪用可能な信頼のギャップを生み出していることが示されています。
ドライバーが正当性チェックなしにユーザー入力を受け入れると、攻撃者は保護されたカーネルメモリ内の任意のデータを読み書きできてしまいます。
チームの手法は有効であることが証明されました。すなわち、システム上の脆弱なドライバーを特定し、「memmove」関数のようにデータを盲目的にコピーする危険なメモリ操作がないかコードを分析し、任意の読み取り/書き込み能力を得るための悪意あるコマンドを作成する、というものです。
カーネルメモリアドレスを抽出し、トークンポインタを操作することで、研究者は権限をシステム管理者レベルまで昇格させました。
名前付きパイプは、ユーザーアプリケーションと、高い権限で動作するシステムサービスとの間の通信チャネルとして機能します。
研究で明らかになったのは、多くのシステムサービスがパイプを過度に緩いアクセス制御で構成しており、どのユーザーでも接続して要求を送信できてしまうという点です。
開発者は、許可された当事者だけが接続すると想定し、十分な検証を行わないままコマンドハンドラーを実装してしまうことが少なくありません。
チームは、すべてのユーザーがアクセス可能な名前付きパイプを公開している実在のアンチウイルスサービスを特定しました。
サービスのプロトコルに準拠した特別に細工した要求を送信することで、SYSTEMサービスを操作してHKLMへの書き込みにより重要なWindowsレジストリ設定を変更させ、最終的に管理者権限で任意のコードを実行しました。
両方の脆弱性は、ユーザーモードとカーネルモードの間の信頼境界における検証不足に起因します。
これにより、ユーザーモードからシステム権限へ至る直接的な経路が生まれ、Windowsの防御アーキテクチャにおける重大な弱点となります。
組織は、サードパーティ製ドライバーおよびシステムサービス、とりわけアンチウイルスベンダーやセキュリティツールについて、緊急の監査を実施する必要があります。
これらの発見は、Windowsがローカル権限昇格攻撃の主要な標的であり続ける理由、そして多層防御(Defense-in-Depth)戦略が依然として不可欠である理由を浮き彫りにしています。