Skip to content
Cette page a été générée et traduite avec l'aide de l'IA. Si vous remarquez des inexactitudes, n'hésitez pas à contribuer. Modifier sur GitHub

Analyse heuristique

L'analyse heuristique est la troisième couche du pipeline de détection PRX-SD. Alors que la correspondance de hachages et les règles YARA s'appuient sur des signatures et des motifs connus, les heuristiques analysent les propriétés structurelles et comportementales d'un fichier pour détecter des menaces qui n'ont jamais été vues auparavant -- y compris les logiciels malveillants zero-day, les implants personnalisés et les échantillons fortement obfusqués.

Fonctionnement

PRX-SD identifie d'abord le type de fichier en utilisant la détection par nombre magique, puis applique un ensemble de vérifications heuristiques ciblées spécifiques à ce format de fichier. Chaque vérification qui se déclenche ajoute des points à un score cumulatif. Le score final détermine le verdict.

Mécanisme de notation

Plage de scoreVerdictSignification
0 - 29PropreAucun indicateur suspect significatif
30 - 59SuspectQuelques anomalies détectées ; révision manuelle recommandée
60 - 100MalveillantMenace à haute confiance ; multiples indicateurs forts

Les scores sont additifs. Un fichier avec une légère anomalie (par exemple, entropie légèrement élevée) pourrait obtenir 15, tandis qu'un fichier combinant haute entropie, imports d'API suspects et signatures de packer obtiendrait 75+.

Analyse PE (exécutable Windows)

Les heuristiques PE ciblent les exécutables Windows (.exe, .dll, .scr, .sys) :

VérificationPointsDescription
Entropie élevée des sections10-25Les sections avec une entropie > 7,0 indiquent un packing ou un chiffrement
Imports d'API suspects5-20Les API comme VirtualAllocEx, WriteProcessMemory, CreateRemoteThread
Signatures de packer connus15-25En-têtes UPX, Themida, VMProtect, ASPack, PECompact détectés
Anomalie d'horodatage5-10Horodatage de compilation dans le futur ou avant 2000
Anomalie de nom de section5-10Noms de sections non standard (.rsrc remplacé, chaînes aléatoires)
Anomalie de ressource5-15Fichiers PE intégrés dans les ressources, sections de ressources chiffrées
Anomalie de table d'imports10-15Très peu d'imports (packé), ou combinaisons d'imports suspects
Signature numérique-10Une signature Authenticode valide réduit le score
Callbacks TLS10Entrées de callback TLS anti-débogage
Données d'overlay5-10Données significatives ajoutées après la structure PE

Exemple de résultats PE

Heuristic Analysis: updater.exe
Score: 72/100 [MALICIOUS]

Findings:
  [+25] Section '.text' entropy: 7.91 (likely packed or encrypted)
  [+15] Packer detected: UPX 3.96
  [+12] Suspicious API imports: VirtualAllocEx, WriteProcessMemory,
        CreateRemoteThread, NtUnmapViewOfSection
  [+10] Section name anomaly: '.UPX0', '.UPX1' (non-standard)
  [+10] Compilation timestamp: 2089-01-01 (future date)

Analyse ELF (exécutable Linux)

Les heuristiques ELF ciblent les binaires Linux et les objets partagés :

VérificationPointsDescription
Entropie élevée des sections10-25Sections avec une entropie > 7,0
Références LD_PRELOAD15-20Chaînes référençant LD_PRELOAD ou /etc/ld.so.preload
Persistance cron10-15Références à /etc/crontab, /var/spool/cron, répertoires cron
Persistance systemd10-15Références aux chemins d'unités systemd, systemctl enable
Indicateurs de backdoor SSH15-20Chemins authorized_keys modifiés, chaînes de configuration sshd
Anti-débogage10-15ptrace(PTRACE_TRACEME), vérifications /proc/self/status
Opérations réseau5-10Création de sockets raw, liaisons de ports suspects
Auto-suppression10unlink du propre chemin binaire après exécution
Binaire strippé + haute entropie10Binaire strippé avec haute entropie suggère un logiciel malveillant packé
Redirection /dev/null5Redirection de la sortie vers /dev/null (comportement de démon)

Exemple de résultats ELF

Heuristic Analysis: .cache/systemd-helper
Score: 65/100 [MALICIOUS]

Findings:
  [+20] LD_PRELOAD reference: /etc/ld.so.preload manipulation
  [+15] Cron persistence: writes to /var/spool/cron/root
  [+15] SSH backdoor: modifies /root/.ssh/authorized_keys
  [+10] Self-deletion: unlinks /tmp/.cache/systemd-helper
  [+5]  Network: creates raw socket

Analyse Mach-O (exécutable macOS)

Les heuristiques Mach-O ciblent les binaires macOS, les bundles et les binaires universels :

VérificationPointsDescription
Entropie élevée des sections10-25Sections avec une entropie > 7,0
Injection dylib15-20Références DYLD_INSERT_LIBRARIES, chargement suspect de dylib
Persistance LaunchAgent/Daemon10-15Références à ~/Library/LaunchAgents, /Library/LaunchDaemons
Accès au trousseau10-15Appels API trousseau, utilisation de la commande security
Contournement Gatekeeper10-15Chaînes xattr -d com.apple.quarantine
Contournement TCC de confidentialité10-15Références à la base de données TCC, abus de l'API d'accessibilité
Anti-analyse10Vérifications sysctl pour les débogueurs, chaînes de détection de VM
Anomalie de signature de code5-10Binaire signé ad hoc ou non signé

Exemple de résultats Mach-O

Heuristic Analysis: com.apple.helper
Score: 55/100 [SUSPICIOUS]

Findings:
  [+20] Dylib injection: DYLD_INSERT_LIBRARIES manipulation
  [+15] LaunchAgent persistence: writes to ~/Library/LaunchAgents/
  [+10] Keychain access: SecKeychainFindGenericPassword calls
  [+10] Unsigned binary: no code signature present

Analyse de documents Office

Les heuristiques Office ciblent les formats Microsoft Office (.doc, .docx, .xls, .xlsx, .ppt) :

VérificationPointsDescription
Macros VBA présentes10-15Macros à exécution automatique (AutoOpen, Document_Open, Workbook_Open)
Macro avec exécution shell20-30Shell(), WScript.Shell, invocation PowerShell dans les macros
Champs DDE15-20Champs Dynamic Data Exchange exécutant des commandes
Lien de modèle externe10-15Injection de modèle distant via attachedTemplate
VBA obfusqué10-20Code de macro fortement obfusqué (Chr(), abus de concaténation de chaînes)
Objets OLE intégrés5-10Exécutables ou scripts intégrés comme objets OLE
Métadonnées suspectes5Champs d'auteur avec des chaînes base64 ou des motifs inhabituels

Exemple de résultats Office

Heuristic Analysis: Q3_Report.xlsm
Score: 60/100 [MALICIOUS]

Findings:
  [+15] VBA macro with AutoOpen trigger
  [+25] Macro executes: Shell("powershell -enc JABjAGwA...")
  [+10] Obfuscated VBA: 47 Chr() calls, string concatenation abuse
  [+10] External template: https://evil.example.com/template.dotm

Analyse PDF

Les heuristiques PDF ciblent les documents PDF :

VérificationPointsDescription
JavaScript intégré15-25JavaScript dans les actions /JS ou /JavaScript
Action Launch20-25Action /Launch exécutant des commandes système
Action URI5-10Actions URI suspectes pointant vers des motifs malveillants connus
Flux obfusqués10-15Couches d'encodage multiples (FlateDecode + ASCII85 + hex)
Fichiers intégrés5-10Fichiers exécutables intégrés comme pièces jointes
Soumission de formulaire5-10Formulaires soumettant des données à des URL externes
AcroForm avec JavaScript15Formulaires interactifs avec JavaScript intégré

Exemple de résultats PDF

Heuristic Analysis: shipping_label.pdf
Score: 45/100 [SUSPICIOUS]

Findings:
  [+20] Embedded JavaScript: 3 /JS actions found
  [+15] Obfuscated stream: triple-encoded FlateDecode chain
  [+10] Embedded file: invoice.exe (PE executable)

Référence des résultats courants

Le tableau suivant liste les résultats heuristiques les plus fréquemment déclenchés pour tous les types de fichiers :

RésultatGravitéTypes de fichiersTaux de faux positifs
Section à haute entropieMoyenPE, ELF, Mach-OFaible-Moyen (assets de jeu, données compressées)
Détection de packerÉlevéPETrès faible
Macro à exécution automatiqueÉlevéOfficeFaible (certaines macros légitimes)
Manipulation LD_PRELOADÉlevéELFTrès faible
JavaScript intégréMoyen-ÉlevéPDFFaible
Imports d'API suspectsMoyenPEMoyen (les outils de sécurité déclenchent ceci)
Auto-suppressionÉlevéELFTrès faible

Réduire les faux positifs

Si un fichier légitime déclenche des alertes heuristiques, vous pouvez l'ajouter à la liste d'autorisation par hachage SHA-256 :

bash
sd allowlist add /path/to/legitimate/file

Les fichiers mis en liste d'autorisation ignorent l'analyse heuristique mais sont toujours vérifiés par rapport aux bases de données de hachages et YARA.

Étapes suivantes

Released under the Apache-2.0 License.