Dr.Semu executa executáveis em um ambiente isolado, monitora o comportamento de um processo e com base nas regras Dr.Semu criadas por você ou pela comunidade, detecta se o processo for malicioso ou não.

[A ferramenta está no estágio inicial de desenvolvimento]
Com Dr.Semu você pode criar regras para detectar malware com base no comportamento dinâmico de um processo.
Tudo acontece no modo de usuário. O sistema de arquivos projetado do Windows (ProJFS) é usado para fornecer um sistema de arquivos virtual . Para redirecionamento do registro, ele clara todas as colméias de registro para um novo local e redireciona todos os acessos do registro.
Consulte o código -fonte para obter mais sobre outros redirecionamentos (isolamento do processo/objetos, etc.).
Dr.Semu usa o Dynamorio (Dynamic Instrumentation Tool Platform) para interceptar um thread quando está prestes a atravessar a linha do usuário-kernel. Ele tem o mesmo efeito que conectar SSDT , mas do modo de usuário e sem conectar nada.
Nesta fase, Dr.Semu produz um arquivo JSON, que contém informações da interceptação.
Depois de encerrar o processo, com base nas regras Dr.Semu que recebemos se o executável for detectado como malware ou não.
Dr.Semu Regras/Detecções
Eles são escritos em Python ou LUA (localizados em dr_rules ) e usam informações dinâmicas da interceptação e informações estáticas sobre a amostra. É trivial adicionar apoio a outros idiomas.

Exemplo ( Python ): https://gist.github.com/secrary/ac89321b8a7bde998a6e3139be49eb72
Exemplo ( Lua ): https://gist.github.com/secrary/e16daf698d466136229dc417d7dbcfa3
PowerShell para ativar ProjFS em uma janela elevada PowerShell : Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart
Faça o download e extraia um arquivo zip da página de lançamentos
Baixe DynamoRIO e extraia para a pasta DrSemu e renomeie para dynamorio
Instale o Python 3 x64
DrSemu.exe --target file_path
DrSemu.exe --target files_directory

PowerShell para ativar ProjFS em uma janela elevada PowerShell : Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart

Instale o Python 3 x64
Baixe DynamoRIO e Extrair na pasta bin e renomear para dynamorio
Construir biblioteca pe-parser-library.lib :
DrSemushared_libspe_parse usando cmake-guibuild ( shared_libspe_parsebuildpe-parser-libraryRelease ) e 64 bits em build64Multi-threaded ( /MT ) Defina LauncherCLI como projeto de inicialização
Windows 10 , versão 1809 (devido ao Windows Projected File System )Windows 10 , versão 1809 ( DynamoRIO suporta versões Windows 10 até 1809 )