研究者がWindowsミニフィルタードライバーを用いてランサムウェアをリアルタイム検知

あるセキュリティ研究者が、Windowsの中枢でランサムウェアと戦う巧妙な概念実証(PoC)ツールをGitHubで公開しました。

「Sanctum」と呼ばれるこのプロジェクトは、より大きなエンドポイント検知・対応(EDR)戦略の一部です。Windowsミニフィルターという特殊なソフトウェアフックを防御側が活用し、データが永遠に失われる前にファイル暗号化の試行を検知してブロックできることを示しています。

中核となるのは、Sanctumが「フィルタードライバー」として知られるWindows機能を利用している点です。これは、アプリ(ユーザーモードで動作)とハードドライブ(コアドライバーが処理)の間に積み重なるセキュリティチェックポイントのようなものだと考えると分かりやすいでしょう。研究者0xfluxはこの場所を「チョークポイント」と呼んでいます。

作成、書き込み、名前変更といったあらゆるファイル操作は必ずここを通過するため、ドライバーは完全な可視性を得て、脅威を早期に捉えることができます。

当初は安全性のためRustで計画されていましたが、Windowsフィルター向けのRustバインディングが不足していたため、ドライバーは最終的にCで実装されました。これは「コールバック」を設定して動作します。コールバックとは、重要なファイルイベントで発火するアラートです。

疑わしい名前変更が発生すると、ドライバーはFltGetFileNameInformationを呼び出して完全なファイル名を取得します。そして既知の悪性拡張子のリストと照合します。

一致したら? ただブロックするだけではなく、犯人を特定します。IoThreadToProcessを使ってプロセスID(PID)とプログラム名を取得し、次のような精密なアラートを出します:「疑わしい.exeのPID 1234があなたのドキュメントの名前を変更しようとしています!」

現時点では、Sanctumはテレメトリーツールとしてこれらのイベントをログに記録し、セキュリティチームの迅速な対応を支援します。しかし0xfluxには大きな計画があります。将来のバージョンでは、暗号化をライブで検知するためにファイルの「エントロピー」(ランダム性の尺度)をチェックする予定です。悪意あるスレッドを凍結し、攻撃を即座に停止させることさえ可能になるかもしれません。

このカーネルレベルのアプローチは、マシンスピードで動作し、ファイルの完全な可視性を持つことで、従来のアンチウイルスソフトを上回ります。

ランサムウェアが進化する中で、Sanctumのようなツールは、カスタムのカーネル防御がユーザースペースのスキャナーを凌駕し得ることを示しています。

EDRの限界を押し広げるレッドチーム担当者やブルーチームの開発者に最適なコードとデモがあるので、GitHubリポジトリとfluxsec.redを確認してください。

翻訳元: https://cyberpress.org/researchers-use-windows-minifilter/

ソース: cyberpress.org