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 )