2.1.8. Moteur Active CTI

2.1.8.1. Présentation du module CTI

Le module CTI utilise les indices de compromission (IOC) pour générer des alertes.
Le module CTI est composé de :
  • une base de données d’indices de compromission nommée Gatewatcher CTI

  • le moteur Active CTI : il génère des règles Sigflow sur la base de la base de données des indices de compromission afin de lever des alertes

  • le moteur Retrohunt : il recherche les indices de compromission (définis dans la base) dans les métadonnées (correspondant au flux réseau capturé par Sigflow)

Note

Une licence supplémentaire est nécessaire pour activer ce module. Il n’est donc pas activé automatiquement dans la solution.


2.1.8.2. Introduction

2.1.8.2.1. Pour quels types de menaces ce moteur est-il conçu ?

Le rôle du moteur Active CTI est de détecter :

  • les URL malveillants

  • les noms de domaine malveillants


2.1.8.2.2. Comment ce moteur détecte-t-il les menaces ?

Le moteur Active CTI génère des règles Sigflow spécifiques basées sur les indices de compromission de la plateforme Gatewatcher CTI.
Ces règles configurent le moteur Sigflow pour qu'il émette des alertes s'il trouve des URL ou des noms de domaine malveillants dans le flux réseau qu'il surveille.

2.1.8.2.3. Comment fonctionne le moteur Active CTI dans le GCenter ?

Le GCenter reçoit régulièrement des preuves de compromission de la part de la plateforme Gatewatcher CTI.
Sur la base de ces informations, le moteur Active CTI produit quotidiennement de nouvelles règles Sigflow.
Ces règles sont regroupées dans une nouvelle source appelée Active_CTI et peuvent donc être incluses dans un ensemble de règles avec d'autres sources de règles.
Cet ensemble de règles est ensuite intégré dans le GCap Profile envoyé au moteur Sigflow pour le configurer.
Ces règles lui permettent d'émettre des alertes lorsque ces règles correspondent au flux.
Lorsqu'une alerte est levée, elle est affichée dans les différents tableaux de bord : NDR et Kibana.

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

Les événements générés par le moteur sont des alertes du type Sigflow.
Ils seront donc disponibles dans les tableaux de bord ACTIVE CTI.
Ces éléments sont affichés :
  • Dans l’interface principale nommée Web UI du GCenter, dans l’écran `Alerts`
    L’interface principale nommée Web UI est décrite dans la Présentation de la WebUI.
  • Dans l'interface nommée Kibana UI :
    • Dans l'interface principale WebUI, cliquer sur l'icône `Hunting`.
      L'interface affichée est l'interface nommée Kibana UI (décrite dans l'Interface graphique Kibana).
    • Cliquer sur la catégorie `Active CTI` de la section `Alerts` puis sur l'onglet `Overview` ou `Messages`.
  • Pour consulter des informations sur une alerte spécifique :

    • Cliquer sur l'icône (1) à gauche de l'alerte.
      Le document développé (2) s'affiche.
      ../../_images/GCE103_CTI_ALERT_02.PNG
      Les informations détaillées de cette alerte peuvent être consultées sous forme de tableau ou au format json (voir la Structure des données des logs Active CTI).
      Les compteurs affichés sont donnés dans l'annexe Structure des données du journal de bord du moteur.
      Les alertes Active CTI sont des alertes qui peuvent être filtrées en recherchant le terme event.module: active_cti dans la barre de recherche de Kibana.

    Note

    L'interface KibanaUI est également accessible sans filtre via l'icône `Hunting` sur la barre de menu de gauche dans la WebUI.


2.1.8.3.1. Exemple d'alerte Active CTI detect dans Kibana

../../_images/GCE103_CTI_ALERT_01.png
La présentation des détails de l'écran `Alert details` est disponible dans la Fenêtre `Alert details`.
Les compteurs sont donnés dans l'annexe Structure des données du journal de bord du moteur.

2.1.8.3.2. Structure des données des logs Active CTI

Les logs sont composés de différentes parties :

  • la partie en-tête

  • la partie source définie par "_source"

  • la partie champs définie par "_fields"

Ces informations sont affichées dans l'écran `Expanded document` de Kibana.


2.1.8.3.2.1. La partie en-tête des logs Active CTI

La partie en-tête contient :

"_index": "engines_alerts-2025.02.04-000001",
"_id": "odx80JQB3WGd7COqasTr",
"_version": 1,
"_score": 0,

Les informations détaillées sont données dans le tableau (Compteurs de la partie en-tête des journaux).


2.1.8.3.2.2. La partie source des logs Active CTI

La partie source est définie par "_source" dans les logs.

Note

Les données affichées dans la WebUI (fenêtre de détails des alertes) font partie des données affichées dans l'écran `Extended document` de l'interface Kibana.
Toutes les données peuvent être exportées vers un SIEM via syslog (un exemple d'alerte exportée est présenté).
Les informations détaillées sont données dans le tableau (Compteurs de la partie en-tête des journaux).

L'exemple donné ici est un exemple de Kibana.

"@version": "1",
"source": {
  "ip": "x.y.z.a",
  "port": 53,
  "mac": "00:11:22:33:44:55"
},
"network": {
  "protocol": "dns",
  "tx_id": 193630,
  "flow_id": 2201432362562192,
  "transport": "udp",
  "timestamp": "2025-02-04T10:22:36.248783+0000"
},
"destination": {
  "ip": "8.8.8.8",
  "port": 53,
  "mac": "00:55:44:33:22:11"
},
"@timestamp": "2025-02-04T10:22:36.248Z",
"event": {
  "dataset": "alert",
  "created": "2025-02-04T10:22:36.248783+0000",
  "kind": "alert",
  "severity": 1,
  "module": "active_cti",
  "category": [
    "network",
    "intrusion_detection"
  ],
  "id": "d79bff72-01b6-4639-979c-efcb5e6faf23"
},
"sigflow": {
  "payload": "3+YBAAABAAAAAAAADjkyNzU4LWNvaW5iYXNlA2NvbQAAAQAB",
  "signature_id": 1300000773,
  "metadata": {
    "risk": [
      "highly suspicious"
    ],
    "signature_severity": [
      "2"
    ],
    "ioc": [
      "fffc7e75-cb75-4210-a244-669cba3cae06"
    ],
    "updated_at:": [
      "2025_02_04"
    ],
    "created_at:": [
      "2025_02_04"
    ]
  },
  "gid": 1,
  "action": "allowed",
  "rev": 0,
  "stream": 0,
  "payload_printable": ".............92758-coinbase.com.....",
  "signature": "Active CTI - Host - Unknown/Unknown - Unknown family - Unknown threat actor - fffc7e75-cb75-4210-a244-669cba3cae06",
  "category": "Active CTI"
},
"flow": {
  "bytes_toclient": 10843280,
  "pkts_toclient": 96815,
  "bytes_toserver": 7551648,
  "pkts_toserver": 96816,
  "start": "2025-02-04T10:20:39.242320+0000"
},
"ecs": {
  "version": "8.6.0"
},
"dns": {
  "query": [
    {
      "rrname": "92758-coinbase.com",
      "rrtype": "A",
      "tx_id": 193630,
      "opcode": 0,
      "type": "query",
      "id": 57318
    }
  ]
},
"observer": {
  "product": "gcenter",
  "vendor": "gatewatcher",
  "gcap": {
    "hostname": "gcap.gatewatcher.fr",
    "ingress": {
      "interface": {
        "name": "monvirt"
      }
    },
    "version": "2.5.x"
  },
  "hostname": "gcenter.gatewatcher.fr",
  "uuid": "72cbafc7-96d2-203a730252a8",
  "version": "2.5.x",
  "log_format_version": "1.0.0"

2.1.8.3.2.3. Liste des compteurs de l'alerte

Note

Les compteurs de l'alerte sont visibles :

  • dans l'écran `Alert details` de la WebUI

  • dans l'écran `Expanded document` de Kibana

  • dans l'export vers le SIEM

Les informations détaillées sont données dans le tableau (Compteurs de la partie source des journaux).


2.1.8.4. Gestion du moteur

2.1.8.4.1. Visualisation de l'état du moteur

La visualisation de l'état courant du moteur est donnée dans l' Ecran `Health checks`.


2.1.8.4.2. Mise à jour CTI

2.1.8.4.2.1. La base de données des indicateurs de compromission

Si un fichier malveillant n'a pas été détecté comme tel par Malcore lors de son analyse (parce qu'il était trop récent pour la base de données antivirus de Malcore par exemple), si l'un des indices correspond au hachage du fichier en question dans les métadonnées, une alerte sera émise.

Note

La corrélation des indices et des métadonnées dépend du temps de rétention des données configuré sur le GCenter.

L'analyse des correspondances entre les indices et les métadonnées est déclenchée lors de la mise à jour de la base de données des indices.
Il n'est donc possible de déclencher l'analyse des correspondances que manuellement, en mettant à jour la base de données des indicateurs de compromission.
Cette base de données d'indicateurs de compromission est incluse dans le fichier CTI.gwp.
Il existe trois façons différentes de mettre à jour cette base de données :
  • mise à jour manuelle avec le paquet cti.gwp

  • mise à jour Online : le téléchargement est effectué périodiquement en fonction du paquet affiché par Gatewatcher

  • mise à jour Local : le téléchargement est effectué périodiquement en fonction des paquets présents dans le dépôt local

La fréquence de mise à jour dépend des paramètres de mise à jour de la Threat DB.

Note

Afin d'optimiser la mise en oeuvre de la mise à jour de la base de données en mode Local, il est nécessaire que le dépôt local récupère le paquet cti.gwp toutes les heures.
Dans le cas contraire, la mise à jour et la recherche de correspondance ne seront effectuées qu'en fonction de la fréquence de récupération du paquet sur le dépôt local.

2.1.8.4.2.2. Mise à jour du moteur Active CTI

Le moteur est mis à jour à chaque nouvelle version du GCenter.


2.1.8.4.3. Configuration du moteur Active CTI

L'interface de configuration est utilisée pour :

  • activer le moteur Active CTI

  • modifier les paramètres du moteur

L'interface de gestion est décrite dans l'Ecran `Active CTI`.
La procédure est décrite dans la procédure de Réglage du moteur Active CTI.

2.1.8.5. Analyse des alertes

Les alertes sont affichées sur un écran spécifique décrit dans l' Ecran `Alerts` de la WebUI.
La procédure générale de l’analyse des alertes est décrite dans l' Utilisation des tableaux de bord NDR.
La procédure spécifique de l’analyse des alertes Active CTI est décrite dans l'Analyse des alertes Active CTI.