Le Cyber Threat Intelligence (CTI) de SEKOIA.IO comprend des indicateurs conçus pour les besoins particuliers de détection et de qualification des cybermenaces génériques et avancées. Cet article montre une solution simple pour utiliser le CTI de SEKOIA.IO pour enrichir une infrastructure de gestion de logs opérée avec Graylog.
La solution décrite ajoute un indicateur de qualification de menace aux événements qui sont liés d’une manière ou d’une autre à une infrastructure, un outil, un exploit, un logiciel malveillant ou une campagne utilisée par une cybermenace dans le cadre de ses activités malveillantes. Pour y parvenir, nous branchons les indicateurs de SEKOIA.IO dans Graylog au moyen d’une table de consultation alimentée en permanence avec le CTI de SEKOIA.
TLDR ; le lecteur français peut également se référer à la version originale de cette documentation éditée par le Computer Emergency Response Team (CERT) du Crédit Mutuel ARKEA sur son blog.
Créer une table de recherche SEKOIA.IO
tables de recherche dans Graylog peuvent être utilisées pour rechercher les valeurs des messages par rapport à un source d’information externe. Un exemple simple consiste à utiliser un fichier CSV statique pour mapper les adresses IP aux noms d’hôte. La création d’une table de correspondance nécessite la configuration d’un adaptateur de données, d’un cache et enfin la création de la table de correspondance en elle-même pour lier tous ces composants entre eux.
L’adaptateur de données est le composant qui produit l’enrichissement en fonction d’une valeur de champ. Dans le cadre de ce cas d’utilisation, nous voulons que l’adaptateur interroge le SEKOIA.IO Threat Intelligence API RESTPour ce faire, Graylog fournit l’adaptateur de données « HTTP JSONPath », qui peut être configuré pour récupérer la catégorie de la menace qui peut représenter un IPv4. Pour être fonctionnel, l’adaptateur nécessite une clé API SEKOIA.IO avec les autorisations appropriées pour interroger le CTI de SEKOIA. On peut se référer à la documentation de SEKOIA.IO pour le récupérer.
- Titre : adaptateur SEKOIA.IO IPv4
- Description : adaptateur SEKOIA.IO pour IPv4
- Nom : sekoia-io-ipv4-adapter
- URL de recherche : https://api.sekoia.io/v2/inthreat/indicators?type=ipv4-addr&value=$ {clé}
- Valeur unique JSONPath : $.items[0].indicator_types[0] En
- -têtes HTTP :
- Nom :
- Valeur d’autorisation : Porteur YOUR-SEKOIAIO-API-KEY
Une fois configuré, un adaptateur peut facilement être testé en fournissant simplement une adresse IP dans le panneau « Tester la recherche ».
Il convient de noter que SEKOIA.IO fournit également divers enrichissements pour les données telles que les adresses e-mail, les url, les noms de domaine, les noms de fichiers et les adresses ipv6. Cet exemple se concentre sur les adresses IPv4 mais le lecteur intéressé peut se référer à la documentation de SEKOIA.IO pour une liste exhaustive.
Pour rationaliser le nombre de requêtes sur les API SEKOIA.IO et améliorer les performances de votre instance, nous vous recommandons d’attacher une stratégie de cache à la table de correspondance. Cette stratégie peut être configurée pour conserver dans la mémoire du nœud graylog, les mille dernières réponses de l’API SEKOIA.IO pendant une heure (3600sec).
- Titre : SEKOIA.IO CACHE
- Description : Cache SEKOIA.IO
- Nom : sekoia-io-cache
- Nombre maximal d’entrées : 1000
- Expire après l’accès : 3600 secondes
La dernière étape de configuration indique la création du composant de table de recherche qui relie l’adaptateur de données créé précédemment et cache. La table de recherche créée peut ensuite être utilisée par les extracteurs, les convertisseurs, les fonctions de pipeline et les décorateurs de Graylog.
- Titre : SEKOIA.IO CTI
- Description : Lookup SEKOIA.IO CTI
- Nom : sekoia-io-lookup
- Adaptateur de données : sekoia-io-ipv4-adapter
- Cache : sekoia-io-cache
Dans cette section, nous avons détaillé comment créer une table de recherche optimisée pour Adresses IPv4. La section suivante décrit l’utilisation de cette table de recherche dans le cadre d’un pipeline de traitement d’événements.
de la table de recherche
Graylog propose deux solutions différentes pour tirer parti d’une table de recherche d’enrichissement : les extracteurs et les règles de pipeline. Le premier peut être configuré au niveau de l’entrée de Graylog pour extraire la valeur de certains champs spécifiques à enrichir ultérieurement par rapport à une table de recherche. La dernière solution est configurée dans le cadre d’un pipeline de traitement qui peut déjà exister dans une instance.
Nous recommandons d’utiliser l’approche par extracteur si les entrées ont des formats très distincts avec des noms de champs spécifiques à enrichir. D’autre part, les instances de graylog avec diverses sources de données d’entrée homogènes peuvent bénéficier d’un seul pipeline d’enrichissement.
Extractor-way
Une entrée dans Graylog accepte la configuration des extracteurs pour rechercher la valeur d’un champ de message dans une table de recherche et écrire le résultat dans un nouveau champ ou écraser un champ existant.
Dans le cadre de cet exemple, on peut simplement configurer un extracteur pour les champs de son message qui héberge une adresse IPv4. Comme illustré dans la figure ci-dessous, l’extracteur peut stocker les résultats de la recherche dans un nouveau champ d’événements nommé « indicator_type ».
Pipeline Rules-way
Un pipeline Graylog comprend des règles et peut être connecté à un ou plusieurs flux pour lier ensemble les multiples étapes de traitement que nous voulons appliquer à un flux de messages. Les règles de pipeline peuvent être utilisées pour enrichir un flux d’événements en tirant parti de notre nouvelle table de recherche.
Par conséquent, une règle de pipeline peut utiliser la fonction lookup() pour rechercher la valeur de chaîne du champ `dst_ip` par rapport à une table de recherche et stocker le résultat dans un nouveau champ nommé `indicator_type`.
La dernière étape consiste à configurer une de nos étapes de pipeline avec la Pipeline Rule.
Conclusion
Dans cet article, nous avons décrit l’utilisation de SEKOIA.IO comme enrichisseur dans une infrastructure Graylog. Cette intégration apporte beaucoup de valeur à une gestion des logs avec l’enrichissement automatique des logs pour aider les opérateurs de sécurité à protéger leurs actifs. Les grandes choses avec des plates-formes comme Graylog sont leur capacité à interagir à grande échelle avec diverses sources de données. Merci CERT Crédit Mutuel ARKEA pour le cas d’usage et Graylog pour votre incroyable technologie ❤️
À lire aussi sur le blog :