1. Présentation

Les moteurs de détection MALCORE et RETROACT permettent:

  • La détection des malwares par une analyse statique et heuristique multi-moteurs en temps réel des fichiers.

  • L'analyse via 16 moteurs Anti-Virus.

  • Une performance d’analyse à plus de 6 millions de fichiers par 24h.

  • La détection des malwares par une ré-analyse des fichiers à potentiel malicieux, après leur passage, avec de nouvelles signatures et méthodes heuristiques.

2. Configuration

Menu : Administrators > GCenter > Malcore Management

L'interface de management MALCORE permet de modifier les paramètres d'analyse du GCENTER. Depuis cette section, l'administrateur pourra ajuster les paramètres globaux de détection du GCENTER :

2.1. Global settings

Menu : Administrators > GCenter > Malcore Management > Global Settings

Le moteur d'analyse RETROACT permet une détection en post compromission en réanalysant a posteriori les fichiers dont le potentiel malicieux a été suspecté par l'analyse heuristique de MALCORE. Ces analyses ultérieures se font sur une période paramétrable, plusieurs jours/semaines/mois après le passage du fichier, avec les nouvelles signatures et méthodes heuristiques.

Number of days between rescans : Cela correspond au nombre de jours passés entre chaque réanalyse de fichiers.

Number of rescans : correspond au nombre de rescans à effectuer.

Par exemple, si Number of days between rescans est fixé à 3 et Number of rescans à 3, le fichier suspicieux sera réanalysé à J+3, J+6 et J+9.

Enable automatic GBOX analysis : permet à l'administrateur d'activer l'envoi automatique de tous les fichiers infectés ou suspicieux à l'équipement GBOX si le lien est opérationnel.

2.2. Profiles

Menu : Administrators > GCenter > Malcore Management > Profiles

L'ensemble des profils MALCORE apparaît sur cette vue.

Chaque profil peut cependant être modifié selon les besoins via le bouton Configure.

Le profil Default sera utilisé pour traiter des fichiers envoyés pour analyse par les gcaps.

Le profil Gscan sera utilisé pour l'analyse des fichiers soumis par l'interface gscan

Enable archive handling : permet d'activer le scan de tous types d'archive par MALCORE (.zip, .rar, .upx).

Max recursion level : indique le niveau de profondeur maximum dans lequel MALCORE va continuer à scanner les fichiers. Par exemple, un .zip contient un dossier, qui contient un dossier, qui contient des fichiers. Dans ce cas, il y trois niveaux de profondeur d'archives. Si on indique deux dans le niveau maximum de récursion possible, alors tous les fichiers dans des niveaux supérieurs ne seront pas scannés par MALCORE. Définir une limite ici permet de ne pas surcharger MALCORE mais en contrepartie il n'analysera pas tous les niveaux de fichiers. Par défaut cette valeur est à 5.

Number of files : il s'agit du nombre maximum de fichiers que MALCORE peut analyser par archive. Si ce nombre est dépassé, alors MALCORE suspectera quelque chose. Le nombre par défaut est de 50 fichiers.

Scan Original Un-extracted File : demande à MALCORE que l'archive soit considérée en elle-même en tant que fichier.

Microsoft Office Documents : demande à MALCORE de considérer les documents Office comme des documents Office (.docx, .xlsx) et non comme une archive.

Detect file type mismatch : si cette option est cochée, lorsqu'il y aura un décalage entre le type de fichier et son extension, le fichier apparaîtra en Mismatch au niveau des dashboards dans l'interface WEB GCENTER.

Maximum size of scanned files (in MB): : correspond à la taille maximale des fichiers qui sont analysés par MALCORE.

Chacune de ces informations sont prises en compte après que l'administrateur ait sauvegardé les modifications en appuyant sur 'Save'.

2.3. Liste d'exceptions

Menu : Administrators > GCenter > Malcore Management > White list / Black List

Il est possible, dans les paramètres de Malcore, de gérer des listes d'exceptions nommées Whitelist (pour les hash autorisés) et Blacklist (pour les hash interdit).

Dans le cas où un fichier qui doit être analysé a un hash SHA256 présent dans la Blacklist, le résultat de l'analyse apparaitra comme ceci:

Dans le cas d'une Whitelist:

Il est possible d'ajouter un hash dans ces listes soit unitairement via l'interface du GCenter soit par lot, en injectant un fichier CSV.

En cliquant sur Add a single file, il est possible d'ajouter un hash de manière unitaire en renseignant le champ Sha256 et un commentaire (optionnel) pour davantage de détails dans le champ Comment.

Chacune de ces informations est prise en compte après que l'administrateur ait sauvegardé les modifications en appuyant sur Save.

En cliquant sur Add a set of files, l'administrateur peut, en sélectionnant sur son poste un fichier en csv, ajouter une liste de hash en cliquant sur le bouton du champ List of SHA256. Il faudra utiliser des ';' pour séparer les différents éléments de la liste.

L'administrateur peut décider de supprimer la liste précédente en cochant la case Clean previous list? et sauvegarder toutes les modifications en cliquant sur Save.

Tous les ajouts et modifications faits depuis les sections White List et Black List des paramètres de configuration du moteur MALCORE seront pris en compte dans l'analyse du flux ainsi que pour les fichiers scannés via le GScan.

3. Détection

3.1. Inspectra

Menu : Operators > Inspectra > Malcore

Depuis la section 'OPERATORS - Inspectra - Malcore', l'opérateur accède à un tableau recensant les fichiers vus comme étant suspicieux ou infectés au travers du moteur de détection MALCORE.

Le module RETROACT sera chargé de mettre en évidence, si la fonctionnalité est activée, les fichiers suspicieux.

L'état suspicieux est dû aux moteurs heuristiques. Ces derniers arrivent à détecter des éléments anormaux. Dans le cas de fichiers suspicieux, ces derniers seront reanalysés par RETROACT.

Les fichiers suspicieux sont détectés grâce aux différents moteurs antiviraux ( 1 en version CIE et 16 dans les autres versions ) fonctionnant en parallèle. Ces moteurs ont été sélectionnés pour leur complémentarité et la pertinence de leur détection commune, leur technologie de détection, et l'origine des informations de sécurité utilisées.

De la fenêtre au-dessus de ce tableau, l'opérateur peut cliquer dans le champ 'From - To' pour définir la plage de temps (au format jj/mm/aaaa HH:MM) des données qui s'affichent.

'Number of results max:' est le nombre maximum de fichiers (lignes) affichés dans le tableau.

'State' permet de sélectionner l'état des alertes affichées en fonction de la recherche souhaitée.

État Description
All but Clean Tous les résultats, aucune menace.
All Tous les résultats, toutes menaces.
Infected Infecté, connu.
Suspicious Suspect, classé comme menace possible mais non identifié comme menace spécifique.
Failed to Scan Échec du scan, la numérisation n'est pas entièrement effectuée (par exemple, fichier non valide ou lecture non permise). Si aucun moteur n'est inclus et que l'analyse est activée, ce sera le résultat final.
Cleaned / Deleted Nettoyé, supprimé. La menace est trouvée et le fichier est réparé ou supprimé.
Unknown Signature inconnue, utilisé dans la recherche de hash multiple. Pour le hashage unique, les réponses de scan ne sont pas retournées.
Quaranted Le fichier est mis en quarantaine.
Skipped Clean L'analyse est ignorée car ce type de fichier est en liste blanche.
Skipped Dirty L'analyse est ignorée car ce type de fichier est en liste noire.
Exceeded Archive Depth Pas de menace détectée mais le niveau d'archive dépasse le seuil fixé. L'archive na pas été entièrement analysée.
Not Scanned / No scan results Pas de résultat, le scan est ignoré par les moteurs en raison d'une mise à jour d'un moteur pour une raison spécifique. Si l'analyse est désactivée, ce sera le résultat final.
Aborted L'analyse en cours a été arrêtée par le serveur
Encrypted Le fichier n'est pas analysé car le type de fichier est détecté chiffré (protégé par un mot de passe). Si la bibliothèque d'archives interne est activée, Malcore ne retournera pas de résultat puisque les moteurs n'effectuent plus aucun scan. Si la bibliothèque d'archive interne est désactivée, Malcore passera les fichiers cryptés aux moteurs directement en contournant la détection.
Exceeded Archive Size La taille de l'archive ou du fichier est trop volumineux pour être analysé.
Exceeded Archive File Number Dépassement du nombre de fichiers présents dans l'archive par rapport au nombre configuré dans le serveur.
Password Protected Document Document protégé par un mot de passe (par exemple, les documents Office ou PDFs nécessitant un mot de passe pour afficher son contenu). Si un fichier est un document protégé par un mot de passe, aucune désinfection ne sera appliquée. Malcore prend en charge la détection de document protégé par un mot de passe. Les extensions dont la détection fonctionne PDF, DOCX, DOC, DOCM, DOTX, DOTM, POINT, PPTX, PPT, POT, POTM, POTX, PPS, PPSM, PPSX, PPTM, PPTX, XLSX, XLS, XLSM, XLSB, XLS, XLTX, XLTM, XLT, XLAM, XLA.
Mismatch L'extension du fichier ne correspond pas au type de fichier détecté. Seulement applicable lors de l'utilisation des flux de travail.
Potentially Vulnerable File Potentiellement un fichier vulnerable.

Les colonnes du tableau sont déplaçables et des recherches dynamiques peuvent être faites sur chacune d'entre elles:

L'opérateur peut choisir la visibilité des colonnes dans le tableau en cliquant sur le bouton Column visibility:

De plus, une vision verticale de l'alerte s'affiche grâce à un clic droit de la souris.

Une exportation rapide en CSV des données en fonction de la date de décision sélectionnée:

Une analyse interactive de l'élément est possible grâce à un clic droit de la souris. Avec 'Download malware' il est possible de télécharger le malware et l'enregistrer sur le poste dans un fichier protégé par un mot de passe au format .zip. Ce mot de passe est modifiable ici.

TRACKWATCH est capable de fournir une analyse plus approfondie du malware détecté grâce à la fonctionnalité de Remote analysis'. Si la configuration est préalablement faite, l'opérateur peut décider que l'échantillon soit analysé dans la plateforme https://intelligence.gatewatcher.com/, soit un serveur GBOX.

Le rapport d'analyse résultant de l'envoi du fichier infecté pour une analyse plus approfondie peut être téléchargé avec 'Download analysis report'.

Les paramètres d'analyse du moteur MALCORE sont modifiables dans les paramètres du profil par défaut.

3.2. Dashboards

Menu : Operators > Dashboards > Malcore

En plus des informations déjà présentes dans le tableau Inspectra, les données collectées par Malcore sont également disponibles dans le dashboard Kibana de Malcore.

On y retrouvera les données mises en forme

4. Événements générés

 attention:: Les id des moteurs sont susceptibles de changer au cours du temps.

4.1. Exemple de log

json
{
    "engine_id": {
      "714eca0a6475fe7d2bf9a24bcae343f657b230ff68acd544b019574f1392de77": "Trojan.Win32.Vebzenpak.iwgiuz",
      "312a189607571ec2c7544636be405f10889e73d061e0ed77ca0eca97a470838d": "Gen:Variant.Graftor.961641",
      "054a20c51cbe9d2cc7d6a237d6cd4e08ab1a67e170b371e632995766d3ba81af": "Trojan/Win.Generic",
      "0ff95ddb1117d8f36124f6eac406dbbf9f17e3dd89f9bb1bd600f6ad834c25db": "Trojan.Multi",
      "ecc47e2309be9838d6dc2c5157be1a840950e943f5aaca6637afca11516c3eaf": "W32/VBKrypt.AVU.gen!Eldorado",
      "fe665976a02d03734c321007328109ab66823b260a8eea117d2ab49ee9dfd3f1": "Trojan.Win32.Injector",
      "b14014e40c0e672e050ad9c210a68a5303ce7facabae9eb2ee07ddf97dc0da0e": "Trojan.Wacatac",
      "527db072abcf877d4bdcd0e9e4ce12c5d769621aa65dd2f7697a3d67de6cc737": "Trojan.Vebzenpak.Win32.4817",
      "32f2f45e6d9faf46e6954356a710208d412fac5181f6c641e34cb9956a133684": "a variant of Win32/Injector.EPML trojan",
      "038e407ba285f0e01dd30c6e4f77ec19bad5ed3dc866a2904ae6bf46baa14b74": "Trojan.Agent (A)",
      "4ca73ae4b92fd7ddcda418e6b70ced0481ac2d878c48e61b686d0c9573c331dc": "Trojan ( 0057dc101 )",
      "3bfeb615a695c5ebaac5ade948ffae0c3cfec3787d4625e3abb27fa3c2867f53": "Trojan.Win32.Vebzenpak.afnw",
      "af6868a2b87b3388a816e09d2b282629ccf883b763b3691368a27fbd6f6cd51a": "TR/Injector.vdnis",
      "ad05e0dc742bcd6251af91bd07ef470c699d5aebbb2055520b07021b14d7380c": "TR/Injector.vdnis"
    },
    "@version": "1",
    "detail_scan_time": 289,
    "timestamp_detected": "2021-07-05T18:14:45.354Z",
    "SHA256": "9f07b7d90dc159c18619741bbbe05a2eb512a53865ba5101ba9f5668ec01c427",
    "timestamp_last_malcore_analysis": "2021-07-05T18:15:35.546Z",
    "file": "1198",
    "detail_scan_result_i": 1,
    "retroact": "None",
    "app_proto": "http",
    "src_port": "80",
    "type": "malcore",
    "detail_wait_time": 88,
    "@timestamp": "2021-07-05T18:15:48.857Z",
    "event_type": "malware",
    "filename": "/Im/HBB.exe",
    "total_found": "14/15",
    "scans_history": [
      {
        "code": 1,
        "total_found": "14/15",
        "timestamp_analyzed": "2021-07-05T18:15:35.542Z",
        "state": "Infected"
      }
    ],
    "size": "110592",
    "meta": "CLOSED",
    "MD5": "31bbac78b447abc5a1138f5b0f3bb1ae",
    "uuid": "857a9a3f-99e6-4b28-abdd-32a7c28f0295",
    "magic": "PE32 executable (GUI) Intel 80386, for MS Windows",
    "reporting_token": "",
    "severity": 1,
    "detail_threat_found": "Infected : Trojan/Win.Generic, TR/Injector.vdnis, Gen:Variant.Graftor.961641, W32/VBKrypt.AVU.gen!Eldorado, a variant of Win32/Injector.EPML trojan, Trojan.Agent (A), Trojan.Win32.Injector, Trojan ( 0057dc101 ), Trojan.Win32.Vebzenpak.afnw, Trojan.Win32.Vebzenpak.iwgiuz, Trojan.Multi, Trojan.Wacatac, Trojan.Vebzenpak.Win32.4817",
    "detail_def_time": "2021-06-23T00:43:00.000Z",
    "nb_rescans": "Not reanalyzed",
    "dest_ip": "10.7.0.15",
    "replica": false,
    "timestamp_analyzed": "2021-07-05T18:15:48.857Z",
    "code": 1,
    "src_ip": "192.185.92.26",
    "gcap": "gcap-int-ppo-164.domain.local",
    "host": "gcap-int-ppo-164.domain.local",
    "state": "Infected",
    "GCenter": "gcenter-int-ppo-237.domain.local",
    "dest_port": "54325",
    "_internal_doc_id": "qPzhd3oBnng1PLWX9yKE",
    "flow_id": 1191592708119283,
    "try_count": 0
  }

4.2. Tableau récapitulatif des champs

Champs Requis Description Valeurs
MD5 Oui Hash MD5 du fichier analysé. -
SHA256 Oui Hash SHA256 du fichier analysé. -
app_proto Oui Protocole applicatif du flux de provenance du fichier. http, ftp, smtp, smb
code Oui Code de retour de l’analyse malcore. 0, 1, 2, 3, 7, 8, 9, 10, 12, 13, 14, 16, 17, 18, 255
dest_ip Oui Adresse IP de destination. -
dest_port Oui Port de destination. -
detail_def_time Non Date de mise à jour de la base de signature malcore. Ce champ doit apparaître pour toutes les analyses -
detail_scan_result_i Non Code de retour de l’analyse malcore. 0, 1, 2, 3, 7, 8, 9, 10, 12, 13, 14, 16, 17, 18, 255
detail_scan_time Non Temps d’analyse du fichier (ms) par les moteurs malcore. -
detail_threat_found Oui Type de menace. -
engine_id Non Liste des moteurs malcore qui ont analysé le fichier avec le résultat associé. -
event_type Oui Type d’évènement. malware
file Oui Identifiant du fichier. -
fileinfo_potentially_involved Non Ce champ apparaît seulement dans le cas de retroact - il indique la liste des _id de doc de moins de 24h qui sont concernés par le rescan. -
filename Oui Nom du fichier. -
flow_id Non Identifiant unique du flux. Permet de retrouver le fileinfo associé. -
gcap Oui Nom du gcap associé à l’alerte. -
gcenter Oui Nom du GCenter associé à l’alerte. -
host Oui Nom du gcap associé à l’alerte. -
magic Oui Type de payload. -
nb_rescans Oui Nombre d’analyse par retroact "Not reanalyzed", 1, 2 .. n
replica Oui Champ à False si le fichier est vu pour la première fois et True si c’est un réplica. True, False
reporting_token Oui Token utilisé avec la Gbox. -
retroact Oui Résultat de l’analyse par retroact. Par défaut ce champ est à NONE. Seul les fichiers suspicious seront réanalysés par retroact. None ou advanced malware (si retroact déclare le fichier comme infecté)
severity Oui Code du résultat de l’analyse malcore. Dois être compris entre 0 et 3. 0=clean, 1=infected, 2=suspicious, 3=Other
size Oui Taille du fichier. -
src_ip Oui Adresse IP source. -
src_port Oui Port source. -
state Oui Résultat de l’analyse par les moteurs malcore. No Threat Detected
Infected
Suspicious
Failed Scan
Skipped - Whitelisted Scan
Skipped – Blacklisted
Not Scanned
Exceeded Archive Depth
Encrypted Archive
Exceeded Archive Size
Exceeded Archive File Number
Exceeded Archive Timeout
Filetype Mismatch
Potentially Vulnerable File
In Progress
0 dans le cas d'un fichier whitelisté
1 dans le cas d'un fichier blacklisté
timestamp_analyzed Oui Timestamp du traitement de l'alerte par le GCenter (correspond au passage dans logstash) -
timestamp_detected Oui Timestamp de la capture du fichier par le gcap -
timestamp_last_malcore_analysis Oui Timestamp de la dernière analyse du fichier par malcore. Les replicas ne sont pas réanalysés, donc le "timestamp_last_malcore_analysis" peut être plus ancien que le "timestamp_analyzed" -
total_found Oui Nombre de moteurs qui ont détecté le fichier comme infecté. - XX/YY avec YY entre 0 et 16 et XX entre 0 et YY. YY=nombre de moteurs qui ont analysé le fichier. XX: nombre de moteurs dont le résultat était différent de "clean".
- "File size exceeded the maximum size" si le fichier était trop gros pour être analysé par malcore. (cf. Administrators > malcore management > profile > Default > Maximum size of scanned files)
- "Black list", ou "White list" dans le cas des blacklist/whitelist de malcore (cf. Administrators > malcore management > whitelist/blacklist)
try_count Non Tentatives d'enrichissement. Champ interne au fonctionnement du GCenter -
type Oui Type d’évènement. malcore
detail_wait_time Non wait_time: time elapsed between sending file to node and receiving the result from the engine in milliseconds -
meta Oui Complétude du fichier analysé (CLOSED) sinon TRUNCATED. CLOSED, TRUNCATED
scan_time_average Non Temps d’analyse du fichier (ms) par les moteurs malcore. Ce champ est sensé apparaitre systématiquement -
scans_history.code Oui Code du résultat de l’analyse malcore. 0, 1, 2, 3, 7, 8, 9, 10, 12, 13, 14, 16, 17, 18, 255
scans_history.state Oui Résultat de l’analyse par les moteurs malcore. No Threat Detected
Infected
Suspicious
Failed Scan
Skipped - Whitelisted Scan
Skipped – Blacklisted
Not Scanned
Exceeded Archive Depth
Encrypted Archive
Exceeded Archive Size
Exceeded Archive File Number
Exceeded Archive Timeout
Filetype Mismatch
Potentially Vulnerable File
In Progress
scans_history.timestamp_analyzed Oui Timestamp de l’analyse du fichier. -
scans_history.total_found Oui Nombre de moteurs qui ont détecté le fichier comme infecté. identique à total_found
_internal_doc_id Non Champ utilisé pour le fonctionnement interne du Gcenter _id de documents elasticsearch

L'export syslog possède des champs additionnels :

  • smtp.mail_from,

  • smtp.rcpt_to,

  • email.from, email.to,

  • email.cc,

  • email.bcc,

  • email.in_reply_to,

  • http.hostname,

  • http.url,

  • http.http_refer,

  • http.http_user_agent.

Avertissement

Ces champs sont affectés par un bug connu (voir release note.)

Avertissement

L'enrichissement à l'origine de ces champs sera déprécié en v2.5.3.102.

5. Détection par gscan

Menu : Operators > GScan > Malware Scanning

Note

Dans le cas d'un déploiement dans un environnement soumis à la LPM, la fonctionnalité GScan est désactivée

Gscan permet à un opérateur de soumettre un fichier via l'interface web du GCenter afin qu'il soit analysé par malcore

Afin de lancer l'analyse d'un fichier, il suffit de glisser le fichier dans la zone DRAG and DROP or SELECT FILES TO SCAN ou de cliquer sur cette zone afin d'envoyer vos exécutables suspects.

Attention la taille maximale du fichier ne doit pas dépasser les 10MB. Il n'y a pas de limitation du nombre d'analyses de fichiers. Le résultat du scan montre quasi instantanément le statut de l'échantillon après analyse. Ce résultat peut-être à l'état : Clean ou Infected au travers des 16 moteurs.