Dr.Semu gère des exécutables dans un environnement isolé, surveille le comportement d'un processus, et basé sur les règles Dr.Semu créées par vous ou la communauté, détecte si le processus est malveillant ou non.

[L'outil en est au début du développement]
Avec Dr.Semu vous pouvez créer des règles pour détecter les logiciels malveillants en fonction du comportement dynamique d'un processus.
Tout se produit du mode utilisateur. Le système de fichiers projeté Windows (PROJFS) est utilisé pour fournir un système de fichiers virtual . Pour la redirection du registre, il clonait toutes les ruches de registre vers un nouvel emplacement et redirige tous les accès de registre.
Voir le code source pour en savoir plus sur les autres redirections (Isolement de processus / objets, etc.).
Dr.Semu utilise Dynamorio (plate-forme d'outils d'instrumentation dynamique) pour intercepter un thread lorsqu'il est sur le point de franchir la ligne du navire utilisateur. Il a le même effet que l'accrochage SSDT mais à partir du mode utilisateur et sans rien accrocher.
À cette phase, Dr.Semu produit un fichier JSON, qui contient des informations de l'interception.
Après avoir terminé le processus, sur la base des règles Dr.Semu que nous recevons si l'exécutable est détecté ou non comme des logiciels malveillants.
Règles / détections Dr.Semu
Ils sont écrits dans Python ou LUA (situés sous dr_rules ) et utilisent des informations dynamiques à partir de l'interception et des informations statiques sur l'échantillon. Il est trivial d'ajouter le support d'autres langues.

Exemple ( Python ): https://gist.github.com/secrary/ac89321b8a7bde998a6e3139be49eb72
Exemple ( Lua ): https://gist.github.com/secrary/e16daf698d466136229dc417d7dbcfa3
PowerShell pour activer ProjFS dans une fenêtre PowerShell surélevée: Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart
Télécharger et extraire un fichier zip de la page des versions
Télécharger DynamoRIO et extraire dans le dossier DrSemu et renommer de dynamorio
Installer Python 3 x64
DrSemu.exe --target file_path
DrSemu.exe --target files_directory

PowerShell pour activer ProjFS dans une fenêtre PowerShell surélevée: Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart

Installer Python 3 x64
Téléchargez DynamoRIO et extraire dans un dossier bin et renommer de dynamorio
Construisez pe-parser-library.lib Library:
DrSemushared_libspe_parse en utilisant CMake-Guibuild ( shared_libspe_parsebuildpe-parser-libraryRelease ) et 64 bits sous build64Multi-threaded ( /MT ) Définir LauncherCLI comme projet de démarrage
Windows 10 , version 1809 (en raison du Windows Projected File System )Windows 10 , version 1809 ( DynamoRIO prend en charge les versions Windows 10 jusqu'en 1809 )