Dr.Semu在孤立的環境中運行可執行文件,監視過程的行為,並基於您或社區創建的Dr.Semu規則,檢測該過程是否是惡意的。

[該工具處於早期開發階段]
借助Dr.Semu您可以根據過程的動態行為創建規則來檢測惡意軟件。
一切都發生在用戶模式中。 Windows投影文件系統(PROJFS)用於提供virtual文件系統。對於註冊表重定向,它將所有註冊表的所有註冊表都插入一個新位置,並重定向所有註冊表訪問。
有關其他重定向(過程/對象隔離等),請參見源代碼。
Dr.Semu使用Dynamorio(動態儀器工具平台)在即將越過用戶內核線時攔截線程。它具有與掛鉤SSDT相同的效果,但可以從用戶模式中,而無需掛接任何東西。
在此階段, Dr.Semu產生了一個JSON文件,其中包含攔截中的信息。
在終止該過程之後,無論是否將可執行文件檢測為惡意軟件,我們會收到的Dr.Semu規則。
Semu博士規則/檢測
它們用Python或LUA (位於dr_rules )編寫,並使用截距和有關樣本的靜態信息中的動態信息。增加支持其他語言是微不足道的。

示例( Python ):https://gist.github.com/secrary/AC89321B8A7BDE998A6E6E6E3139BE49EB72
示例( Lua ):https://gist.github.com/secrary/e16daf698d4666136229dc417d7d7dbcfa3
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生成vs項目build下的32位庫( shared_libspe_parsebuildpe-parser-libraryRelease )和64位build64下Multi-threaded ( /MT )將LauncherCLI設置為啟動項目
Windows 10 ,版本1809(由於Windows Projected File System )Windows 10 ,版本1809( DynamoRIO支持Windows 10版本,直到1809 )