2.1.12. Moteur Yara
2.1.12.1. Introduction
2.1.12.1.1. Pour quels types de menaces ce moteur est-il conçu ?
Le moteur Yara permet de détecter les logiciels malveillants à l'aide de règles.
2.1.12.1.2. Comment ce moteur détecte-t-il les menaces ?
2.1.12.1.3. Comment fonctionne le moteur Yara dans le GCenter ?
Le moteur :
récupère les évènements envoyés par le GCap (pour plus de détails, voir les Données saisies du moteur Yara)
analyse les évènements envoyés par le GCap (pour plus de détails, voir le paragraphe Comment ce moteur détecte-t-il les menaces ?)
génère des alertes (pour plus de détails, voir les Événements générés)
2.1.12.1.3.1. Données saisies du moteur Yara
Note
Pour plus d'informations sur les règles de Yara, voir le site https://yara.readthedocs.io/en/stable/writingrules.htmlPour valider les règles, il est possible d'utiliser le validateur (https://yaravalidator.manalyzer.org/).Pour télécharger un ensemble de règles Yara, cliquer sur ce lienyara_ruleset_example.yara
.
2.1.12.2. Événements généré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.Pour filtrer les alertes Yara, taper
`name:"Yara Rule Matched"`
dans le champ de recherche puis valider.- Utiliser le sélecteur
`Group by name`
pour visualiser le nombre d'alertes différentes.Le nom des alertes agrégées et leurs numéros sont affichés. Cliquer sur un groupe d'alertes pour en afficher la liste, si besoin.
- Désactiver le sélecteur
`Group by name`
.Des informations différentes sur la source et la destination sont affichées pour chaque alerte.`Tags`
et`Notes`
sont également visibles et modifiables.Les différentes`Actions`
d'accès rapide sont disponibles pour chaque alerte. - Cliquer sur une alerte.Les informations détaillées de cette alerte sont affichées dans l'Exemple d'alerte Yara dans la WebUI.
- Dans l'interface nommée Kibana UI
Pour visualiser toutes les alertes Yara :
- Dans l'interface principale WebUI, cliquer sur l'icône
`Hunting`
.L'interface principale nommée Web UI est décrite dans la Présentation de la WebUI. Cliquer sur l'onglet
`Malcore`
(2) de la catégorie`Alerts`
(1).Sélectionner l'onglet
`Overview`
(3).- Sélectionner l'intervalle de temps (4) pour afficher les données.Voir la présentation de l'Ecran `Alerts` de la WebUI.
Pour filtrer les alertes Yara dans Kibana, entrer la commande
`event.module : "malcore" and malcore.state : "Yara Rule Matched"`
(5) dans le champ de recherche.Valider avec le bouton
`Refresh`
(6).
Pour consulter des informations sur une alerte spécifique :
- Après avoir sélectionné l'alerte, cliquer sur la commande
`Open malcore file transaction`
du menu`Actions`
.Kibana est ouvert dans l'onglet`Malcore`
de la section`Alerts `
: dans l'onglet`Overview`
la base de données est filtrée sur le paramètre`file.hash.sha256`
(7).L'interface affichée est l'interface nommée Kibana UI (décrite dans l'Interface graphique Kibana).
Cliquer sur l'onglet
`Messages`
(8).- Cliquer sur l'icône (9) à gauche de l'alerte.Le document développé s'affiche.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 Yara).
Un exemple est donné dans la partie source des logs Yara.
2.1.12.2.1. Exemple d'alerte Yara dans la WebUI
`Alert details`
est disponible dans la Fenêtre `Alert details`.2.1.12.2.2. Structure des données des logs Yara
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.12.2.2.1. La partie en-tête des logs Yara
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.12.2.2.2. La partie source des logs Yara
La partie source est définie par "_source" dans les logs.
Note
L'exemple donné ici est un exemple de Kibana.
"@version": "1",
"source": {
"ip": "192.168.122.15",
"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": "gcap1000-s-2.mgmt.qa.gatewatcher.fr",
"ingress": {
"interface": {
"name": "monvirt"
}
},
"version": "2.5.4.0-rc9"
},
"hostname": "gcent9100r2.mgmt.qa.gatewatcher.fr",
"uuid": "72cbafc7-7306-5382-96d2-203a730252a8",
"version": "2.5.3.103",
"log_format_version": "1.0.0"
}
2.1.12.2.2.3. Liste des compteurs de l'alerte
Note
Les compteurs de l'alerte sont visibles :
dans l'écran
`Alert details`
de la WebUIdans l'écran
`Expanded document`
de Kibanadans 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.12.3. Gestion du moteur
2.1.12.3.1. Visualisation de l'état du moteur
L'état du moteur est affiché dans l'Ecran `Health checks`.
2.1.12.3.3. Configuration du moteur
L'interface de gestion est utilisée :
pour activer le moteur
pour charger un ensemble de règles de Yara