Dr.Semu 、孤立した環境で実行可能ファイルを実行し、プロセスの動作を監視し、あなたまたはコミュニティによって作成されたDr.Semuルールに基づいて、プロセスが悪意があるかどうかを検出します。

[ツールは初期の開発段階にあります]
Dr.Semuを使用すると、プロセスの動的な動作に基づいてマルウェアを検出するルールを作成できます。
すべてがユーザーモードから発生します。 Windows Projected File System(ProJFS)は、 virtualファイルシステムを提供するために使用されます。レジストリのリダイレクトの場合、すべてのレジストリの巣箱を新しい場所にクローンし、すべてのレジストリアクセスをリダイレクトします。
他のリダイレクト(プロセス/オブジェクトの分離など)の詳細については、ソースコードを参照してください。
Dr.Semu 、Dynamorio(Dynamic Instrumentation Tool Platform)を使用して、ユーザーカーネルラインを横断しようとしているときにスレッドを傍受します。 SSDTをフックしたが、ユーザーモードから、何もフックすることなく同じ効果があります。
このフェーズでは、 Dr.Semu JSONファイルを作成します。これには、インターセプトからの情報が含まれています。
プロセスを終了した後、 Dr.Semuルールに基づいて、実行可能ファイルがマルウェアとして検出されたかどうかを受け取った場合に受け取ります。
Dr.SEMUのルール/検出
それらはPythonまたはLUA ( dr_rulesの下にある)で書かれており、サンプルに関する傍受および静的情報から動的な情報を使用します。他の言語のサポートを追加するのは些細なことです。

例( Python ):https://gist.github.com/secrary/ac89321b8a7bde998a6e3139be49eb72
例( Lua ):https://gist.github.com/secrary/e16daf698d466136229dc417d7dbcfa3
PowerShellを使用して、 PowerShellウィンドウでProjFS有効にします。 Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart
リリースページからzipファイルをダウンロードして抽出します
DynamoRIOをダウンロードしてDrSemuフォルダーに抽出し、 dynamorioに名前を変更します
Python 3 x64をインストールします
DrSemu.exe --target file_path
DrSemu.exe --target files_directory

PowerShellを使用して、 PowerShellウィンドウでProjFS有効にします。 Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart

Python 3 x64をインストールします
DynamoRIOをダウンロードしてbinフォルダに抽出し、 dynamorioに名前を変更します
pe-parser-library.libライブラリを構築する:
DrSemushared_libspe_parseからプロジェクトを生成しますbuild ( shared_libspe_parsebuildpe-parser-libraryRelease )および64 build64の下にあるビルド32ビットライブラリMulti-threaded ( /MT )に変更するLauncherCLIスタートアッププロジェクトとして設定します
Windows 10 、バージョン1809( Windows Projected File Systemによる)Windows 10 、バージョン1809( DynamoRIO 1809までWindows 10バージョンをサポートしています)