Collecter les journaux Recorded Future IOC

Compatible avec :

Ce document explique comment ingérer des journaux Recorded Future d'IOC dans Google Security Operations à l'aide d'une API. L'analyseur transforme les données au format JSON en modèle de données unifié (UDM). Il extrait les détails des IOC, les mappe aux champs UDM, catégorise les menaces en fonction de leur criticité et enrichit les données avec des codes temporels et des informations sur les fournisseurs.

Avant de commencer

Assurez-vous de remplir les conditions suivantes :

  • Instance Google SecOps
  • Accès privilégié à un compte Recorded Future Enterprise

Obtenir le jeton de l'API Recorded Future

  1. Connectez-vous à Recorded Future.
  2. Cliquez sur votre avatar en haut à droite, puis sélectionnez Paramètres utilisateur.
  3. Dans le menu de navigation, cliquez sur Accès à l'API.
  4. Cliquez sur Generate New API Token (Générer un jeton d'API).
  5. Copiez la longue chaîne qui s'affiche (par exemple, RF-1234567890abcdef...).
    • Vous pouvez créer plusieurs clés. Attribuez-leur un nom descriptif, tel que Google SecOps.
  6. Copiez et enregistrez le jeton dans un emplacement sécurisé. Le jeton API ne s'affiche plus.

Configurer des flux

  1. Accédez à Paramètres SIEM> Flux.
  2. Cliquez sur + Ajouter un flux.
  3. Dans le champ Nom du flux, saisissez un nom pour le flux (par exemple, Recorded Future IOC).
  4. Sélectionnez API tierce comme Type de source.
  5. Sélectionnez le type de journal Recorded Future.
  6. Cliquez sur Suivant.
  7. Spécifiez les valeurs des paramètres d'entrée suivants :
    • En-tête HTTP d'authentification
      • X-RFToken:<your-api_key>
      • Veillez à remplacer <your-api_key> par la clé que vous avez copiée à l'étape précédente.
    • Espace de noms de l'élément : espace de noms de l'élément.
    • Libellés d'ingestion : libellé appliqué aux événements de ce flux.
  8. Cliquez sur Suivant.
  9. Vérifiez la configuration du flux sur l'écran Finaliser, puis cliquez sur Envoyer.

Table de mappage UDM

Champ de journal Mappage UDM Logique
Details.EvidenceDetails.Criticality
Details.EvidenceDetails.CriticalityLabel
Details.EvidenceDetails.EvidenceString ioc.description La valeur du champ "EvidenceString" est mappée à ce champ.
Details.EvidenceDetails.EvidenceString entity.metadata.threat.description La valeur du champ "EvidenceString" est mappée à ce champ.
Details.EvidenceDetails.MitigationString
Details.EvidenceDetails.Rule ioc.categorization La valeur du champ "Règle" est mappée à ce champ.
Details.EvidenceDetails.Rule entity.metadata.threat.rule_name La valeur du champ "Règle" est mappée à ce champ.
Details.EvidenceDetails.Timestamp
Risque ioc.confidence_score La valeur du champ "Risque" est convertie en chaîne et mappée à ce champ.
Risque entity.metadata.threat.severity_details La valeur du champ "Risque" est concaténée avec la chaîne "Risque - " et mappée à ce champ.
Valeur entity.entity.hostname Si le champ "Valeur" est un nom de domaine, il est mappé sur ce champ.
Valeur ioc.domain_and_ports.domain Si le champ "Valeur" est un nom de domaine, il est mappé sur ce champ.
Valeur ioc.ip_and_ports.ip_address Si le champ "Valeur" est une adresse IP, il est mappé sur ce champ.
entity.entity.ip La valeur du champ "Valeur" est analysée en tant qu'adresse IP et associée à ce champ.
ioc.feed_name La valeur "Recorded Future IOC" est attribuée à ce champ.
ioc.raw_severity La valeur est générée en concaténant le champ "Risk" (Risque) avec le champ "CriticalityLabel" (Libellé de criticité), séparés par un deux-points.
entity.metadata.collected_timestamp La valeur du champ "Details.EvidenceDetails.Timestamp" est analysée en tant que code temporel ISO8601 et mappée à ce champ.
entity.metadata.entity_type La valeur est définie sur "DOMAIN_NAME" si le champ "Value" (Valeur) est un nom de domaine, et sur "IP_ADDRESS" (Adresse IP) s'il s'agit d'une adresse IP.
entity.metadata.interval.end_time La valeur "253402300799" (qui représente la valeur maximale du code temporel) est attribuée à ce champ.
entity.metadata.interval.start_time La valeur du champ "Details.EvidenceDetails.Timestamp" est analysée en tant que code temporel ISO8601 et mappée à ce champ.
entity.metadata.threat.category La valeur est déterminée en fonction du champ "CriticalityLabel" : "Malicious" correspond à "SOFTWARE_MALICIOUS", "Suspicious" correspond à "SOFTWARE_SUSPICIOUS" et toute autre valeur correspond à "UNKNOWN_CATEGORY".
entity.metadata.threat.category_details La valeur est générée en concaténant les chaînes "Criticality - ", "Criticality", ":" et "CriticalityLabel", avec les valeurs correspondantes des données d'entrée.
entity.metadata.threat.severity La valeur est déterminée en fonction du champ "CriticalityLabel" : "Malicious" correspond à "HIGH", "Suspicious" correspond à "MEDIUM" et toute autre valeur correspond à "LOW".
entity.metadata.threat.threat_feed_name La valeur "Recorded Future IOC" est attribuée à ce champ.
entity.metadata.vendor_name La valeur "RECORDED_FUTURE_IOC" est attribuée à ce champ.

Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.