Intégrer Anomali à Google SecOps
Ce document explique comment intégrer Anomali à Google Security Operations (Google SecOps).
Version de l'intégration : 12.0
Avant de commencer
Pour obtenir votre clé API personnelle, procédez comme suit :
Connectez-vous à votre compte Anomali ThreatStream.
Cliquez sur Mes clés API.
Copiez la valeur de la clé API et collez-la dans le champ du paramètre "Clé API" de la boîte de dialogue Configurer l'instance dans Google SecOps.
Réseau
Fonction | Port par défaut | Direction | Protocole |
---|---|---|---|
API | Valeurs multiples | Sortant | apikey |
Paramètres d'intégration
Utilisez les paramètres suivants pour configurer l'intégration :
Nom du paramètre | Type | Valeur par défaut | Obligatoire | Description |
---|---|---|---|---|
Nom de l'instance | Chaîne | N/A | Non | Nom de l'instance pour laquelle vous souhaitez configurer l'intégration. |
Description | Chaîne | N/A | Non | Description de l'instance. |
Racine de l'API | Chaîne | https://api.threatstream.com/api | Oui | Adresse de l'instance Anomali. |
Nom d'utilisateur | Chaîne | user@domain.com |
Oui | Adresse e-mail de l'utilisateur à utiliser pour se connecter à Anomali. |
Mot de passe | Mot de passe | N/A | Oui | Mot de passe de l'utilisateur correspondant. |
Clé API | Chaîne | N/A | Oui | Clé API générée dans la console AlienVault. |
Exécuter à distance | Case à cocher | Décochée | Non | Cochez le champ pour exécuter l'intégration configurée à distance. Une fois la case cochée, l'option permettant de sélectionner l'utilisateur distant (agent) s'affiche. |
Pour obtenir des instructions sur la configuration d'une intégration dans Google SecOps, consultez Configurer des intégrations.
Vous pourrez apporter des modifications ultérieurement, si nécessaire. Une fois que vous avez configuré une instance d'intégration, vous pouvez l'utiliser dans des playbooks. Pour savoir comment configurer et prendre en charge plusieurs instances, consultez Prise en charge de plusieurs instances.
Actions
Pour en savoir plus sur les actions, consultez Répondre aux actions en attente depuis Votre bureau et Effectuer une action manuelle.
Obtenir des informations sur les menaces
Enrichissez les entités à l'aide des informations d'Anomali ThreatStream. Entités acceptées : adresse IP, URL, hachage, adresses e-mail (entités utilisateur correspondant à l'expression régulière d'adresse e-mail).
Paramètres
Nom du paramètre | Type | Valeur par défaut | Obligatoire | Description |
---|---|---|---|---|
Limite | Chaîne | 10 | Oui | Indiquez le nombre d'enregistrements à renvoyer par entité. |
Seuil de gravité | LDD | Moyenne Valeurs possibles :
|
Non | Spécifiez le seuil de gravité pour l'entité afin de la marquer comme suspecte. Si plusieurs enregistrements sont trouvés pour la même entité, l'action prendra la gravité la plus élevée parmi tous les enregistrements disponibles. |
Seuil de confiance | Integer | 50 | Non | Spécifiez le seuil de confiance de l'entité pour la marquer comme suspecte. Remarque : Le nombre maximal est de 100. Si plusieurs enregistrements sont trouvés pour l'entité, l'action prendra la moyenne. Les enregistrements actifs sont prioritaires. Valeur par défaut : 50. |
Ignorer l'état de faux positif | Case à cocher | Décochée | Non | Si cette option est activée, l'action ignore l'état de faux positif et marque l'entité comme suspecte en fonction des seuils de gravité et de confiance. Si cette option est désactivée, l'action ne marquera jamais les entités faussement positives comme suspectes, qu'elles remplissent ou non les conditions de seuil de gravité et de seuil de confiance. |
Date d'exécution
Cette action s'applique aux entités suivantes :
- Adresse IP
- URL
- Hash
- Adresses e-mail (entités utilisateur correspondant à l'expression régulière d'adresse e-mail)
Résultats de l'action
Enrichissement d'entités
Nom | Logique : quand l'appliquer ? |
---|---|
id | Renvoie la valeur si elle existe dans le résultat JSON. |
état | Renvoie la valeur si elle existe dans le résultat JSON. |
itype | Renvoie la valeur si elle existe dans le résultat JSON. |
expiration_time | Renvoie la valeur si elle existe dans le résultat JSON. |
ip | Renvoie la valeur si elle existe dans le résultat JSON. |
feed_id | Renvoie la valeur si elle existe dans le résultat JSON. |
confiance | Renvoie la valeur si elle existe dans le résultat JSON. |
uuid | Renvoie la valeur si elle existe dans le résultat JSON. |
retina_confidence | Renvoie la valeur si elle existe dans le résultat JSON. |
trusted_circle_ids | Renvoie la valeur si elle existe dans le résultat JSON. |
source | Renvoie la valeur si elle existe dans le résultat JSON. |
latitude | Renvoie la valeur si elle existe dans le résultat JSON. |
type | Renvoie la valeur si elle existe dans le résultat JSON. |
description | Renvoie la valeur si elle existe dans le résultat JSON. |
tags | Renvoie la valeur si elle existe dans le résultat JSON. |
threat_score | Renvoie la valeur si elle existe dans le résultat JSON. |
source_confidence | Renvoie la valeur si elle existe dans le résultat JSON. |
modification_time | Renvoie la valeur si elle existe dans le résultat JSON. |
org_name | Renvoie la valeur si elle existe dans le résultat JSON. |
asn | Renvoie la valeur si elle existe dans le résultat JSON. |
creation_time | Renvoie la valeur si elle existe dans le résultat JSON. |
tlp | Renvoie la valeur si elle existe dans le résultat JSON. |
pays | Renvoie la valeur si elle existe dans le résultat JSON. |
longitude | Renvoie la valeur si elle existe dans le résultat JSON. |
de gravité, | Renvoie la valeur si elle existe dans le résultat JSON. |
subtype | Renvoie la valeur si elle existe dans le résultat JSON. |
Résultat du script
Nom du résultat du script | Options de valeur | Exemple |
---|---|---|
success | Vrai ou faux | success:False |
Résultat JSON
{
"Entity": "ENTITY_ID",
"EntityResult": {
"Info": [{
"source_created": null,
"status": "inactive",
"itype": "mal_domain",
"expiration_ts": "2020-11-28T13:29:57.000Z",
"ip": "192.0.2.1",
"is_editable": false,
"feed_id": 1111111,
"update_id": 1111111111,
"longitude": -0.1223454,
"is_public": true,
"threat_type": "malware",
"workgroups": [],
"rdns": null,
"confidence": 11111,
"uuid": "UUID",
"retina_confidence": 1111111,
"trusted_circle_ids": null,
"id": 111111111111111110000,
"source": "COVID19 Cyber Threat Coalition Blocklist - Domains",
"owner_organization_id": 111,
"import_session_id": null,
"source_modified": null,
"type": "domain",
"sort": [1607193157800, "56224953198"],
"description": null,
"tags": [{
"id": "wu6",
"name": "Blocklist"
}, {
"id": "pvj",
"name": "Coronavirus"
}, {
"id": "01i",
"name": "COVID-19"
}, {
"id": "o70",
"name": "Malicious"
}, {
"id": "fk0",
"name": "Source:COVID19-Cyber-Threat-Coalition"
}],
"threatscore": 11111,
"source_reported_confidence": 11111,
"modified_ts": "2020-12-05T18:32:37.800Z",
"org": "Namecheap",
"asn": "11111111",
"created_ts": "2020-10-29T13:33:24.904Z",
"tlp": null,
"is_anonymous": false,
"latitude": 51.4964,
"country": "GB",
"can_add_public_tags": false,
"value": "VALUE",
"subtype": null,
"meta": {
"registration_updated": "2020-10-24T22:16:59+00:00",
"detail2": "bifocals_deactivated_on_2020-12-05_18:30:00.085789",
"severity": "high",
"registration_created": "2020-10-24T22:16:42+00:00"
},
"resource_uri": "/api/v2/intelligence/"
}],
"Campaigns": [{
"association_info": [{
"comment": null,
"created": "2020-10-29T13:33:29.200283",
"from_id": "ID"
}],
"can_add_public_tags": true,
"circles": [],
"created_ts": "2020-03-15T04:24:55.428496",
"end_date": "2020-03-23T16:05:00.761000",
"feed_id": 0,
"id": "ID",
"is_anonymous": true,
"is_cloneable": "yes",
"is_public": true,
"modified_ts": "2021-02-02T02:38:19.892072",
"name": "Coronavirus (COVID-19)",
"objective": null,
"organization": {
"id": 0,
"name": "Analyst",
"title": "Analyst"
},
"publication_status": "published",
"published_ts": "2020-04-06T21:40:24.452312",
"resource_uri": "/api/v1/campaign/",
"source_created": null,
"source_modified": null,
"start_date": "2020-01-30T13:10:00.070000",
"status": {
"display_name": "Ongoing",
"id": 1,
"resource_uri": "/api/v1/campaignstatus/1/"
},
"tags": ["Malware", "Fraud", "Phishing", "COVID-19", "Coronavirus", "Scams"],
"tags_v2": [{
"id": "wqe",
"name": "Coronavirus"
}, {
"id": "hlg",
"name": "COVID-19"
}, {
"id": "74i",
"name": "Phishing"
}, {
"id": "0y2",
"name": "Malware"
}, {
"id": "u63",
"name": "Scams"
}, {
"id": "1er",
"name": "Fraud"
}],
"tlp": "white",
"uuid": "UUID",
"workgroups": []
}],
"Tip": [{
"all_circles_visible": true,
"association_info": [{
"comment": null,
"created": "2020-10-29T13:33:29.212118",
"from_id": "ID"
}],
"body_content_type": "richtext",
"campaign": null,
"can_add_public_tags": true,
"circles": [],
"created_ts": "2020-03-19T04:23:35.714929",
"feed_id": 0,
"id": "ID",
"is_anonymous": true,
"is_cloneable": "yes",
"is_editable": true,
"is_email": false,
"is_public": true,
"modified_ts": "2021-02-02T02:38:20.061912",
"name": "Coronavirus (COVID-19) Cyber Threats",
"original_source": null,
"original_source_id": null,
"owner_org": {
"id": 0,
"name": "Analyst",
"title": "Analyst"
},
"parent": null,
"published_ts": "2020-05-25T18:39:36.890647",
"resource_uri": "/api/v1/ID/",
"source_created": null,
"source_modified": null,
"starred_by_me": false,
"starred_total_count": 5,
"status": "published",
"tags": ["Scams", "HCL-", "Malware"],
"tags_v2": [{
"id": "ID",
"name": "Coronavirus"
}, {
"id": "ID",
"name": "COVID-19"
}, {
"id": "ID",
"name": "Phishing"
}],
"threat_actor": null,
"tlp": "white",
"ttp": null,
"uuid": "UUID",
"votes": {
"me": null,
"total": 0
},
"watched_by_me": false,
"watched_total_count": 11111,
"workgroups": []
}],
"Actors": [],
"Incidents": [],
"TTP": []
}
}
Mur des cas
Type de résultat | Description | Type |
---|---|---|
Message de sortie* | Si des données sont disponibles pour une entité (is_success=true) : "Informations renvoyées avec succès sur les entités suivantes depuis Anomali ThreatStream : {entity.identifier}" Si aucune donnée n'est disponible pour une entité (is_success=true) : "L'action n'a pas pu renvoyer d'informations sur les entités suivantes d'Anomali ThreatStream : {entity.identifier}" Si l'enrichissement n'est pas disponible pour toutes les entités (is_success=false) : "Aucune entité n'a été enrichie. Erreur critique (échec) : erreur lors de l'exécution de l'action "Obtenir des informations sur la menace". Motif : {error traceback}" |
Général |
Ping
Testez la connectivité à Anomali ThreatStream.
Paramètres
N/A
Date d'exécution
Cette action s'exécute sur toutes les entités.
Résultats de l'action
Résultat du script
Nom du résultat du script | Options de valeur | Exemple |
---|---|---|
success | Vrai ou faux | success:False |
Obtenir les associations associées
Récupérez les associations liées aux entités à partir d'Anomali ThreatStream.
Paramètres
Nom du paramètre | Type | Valeur par défaut | Obligatoire | Description |
---|---|---|---|---|
Campagnes de retour | Case à cocher | Cochée | Non | Si cette option est activée, l'action récupère les campagnes associées et des informations les concernant. |
Retourner les bulletins sur les menaces | Case à cocher | Cochée | Non | Si cette option est activée, l'action récupère les bulletins de menace associés et des informations les concernant. |
Acteurs de retour | Case à cocher | Cochée | Non | Si cette option est activée, l'action récupère les acteurs associés et des informations les concernant. |
Schémas d'attaque de retour | Case à cocher | Cochée | Non | Si cette option est activée, l'action récupère les schémas d'attaque associés et des informations les concernant. |
Renvoyer les plans d'action | Case à cocher | Cochée | Non | Si cette option est activée, l'action récupère les cours d'action associés et des informations les concernant. |
Identités de retour | Case à cocher | Cochée | Non | Si cette option est activée, l'action récupère les identités associées et des informations les concernant. |
Retourner les incidents | Case à cocher | Cochée | Non | Si cette option est activée, l'action récupère les incidents associés et des informations les concernant. |
Infrastructure de retour | Case à cocher | Cochée | Non | Si cette option est activée, l'action récupère l'infrastructure associée et des informations la concernant. |
Retourner les ensembles d'intrusion | Case à cocher | Cochée | Non | Si cette option est activée, l'action récupère les ensembles d'intrusion associés et des informations les concernant. |
Renvoyer un logiciel malveillant | Case à cocher | Cochée | Non | Si cette option est activée, l'action récupère les logiciels malveillants associés et des informations les concernant. |
Signatures de retour | Case à cocher | Cochée | Non | Si cette option est activée, l'action récupère les signatures associées et des informations les concernant. |
Outils de retour | Case à cocher | Cochée | Non | Si cette option est activée, l'action récupère les outils associés et des informations les concernant. |
Tactiques, techniques et procédures de retour | Case à cocher | Cochée | Non | Si cette option est activée, l'action récupère les TTP associés et des informations les concernant. |
Retourner les failles | Case à cocher | Cochée | Non | Si cette option est activée, l'action récupère les failles associées et des informations les concernant. |
Créer une entité de campagne | Case à cocher | Décochée | Non | Si cette option est activée, l'action crée une entité à partir des associations de campagne disponibles. |
Créer une entité "Acteurs" | Case à cocher | Décochée | Non | Si cette option est activée, l'action crée une entité à partir des associations d'acteurs disponibles. |
Créer une entité de signature | Case à cocher | Décochée | Non | Si cette option est activée, l'action créera une entité à partir des associations de signatures disponibles. |
Créer une entité de failles | Case à cocher | Décochée | Non | Si cette option est activée, l'action crée une entité à partir des associations de failles disponibles. |
Nombre maximal d'associations à renvoyer | Integer | 5 | Non | Spécifiez le nombre d'associations à renvoyer par type. |
Date d'exécution
Cette action s'applique aux entités suivantes :
- Hash
- Adresse IP
- URL
Résultats de l'action
Résultat du script
Nom du résultat du script | Options de valeur | Exemple |
---|---|---|
success | Vrai ou faux | success:False |
Résultat JSON
{
"campaign": [
{
"name": "Example 1",
"id": 1
},
{
"name": "Example 2",
"id": 2
}
],
"actor": [
{
"name": "Actor 1",
"id": 1
},
{
"name": "Actor 2",
"id": 2
}
],
"attackpattern": [
{
"name": "Pattern 1",
"id": 1
},
{
"name": "Pattern 2",
"id": 2
}
],
"courseofaction": [
{
"name": "Course of Action 1",
"id": 1
},
{
"name": "Course Of Action 2",
"id": 2
}
],
"identity": [
{
"name": "Identity 1",
"id": 1
},
{
"name": "Identity 2",
"id": 2
}
],
"incident": [
{
"name": "Incident 1",
"id": 1
},
{
"name": "Incident 2",
"id": 2
}
],
"infrastructure": [
{
"name": "Infrustructure 1",
"id": 1
},
{
"name": "Infrustructure 2",
"id": 2
}
],
"intrusionset": [
{
"name": "Intrusion set 1",
"id": 1
},
{
"name": "Intrusion set 2",
"id": 2
}
],
"malware": [
{
"name": "Malware 1",
"id": 1
},
{
"name": "Malware 2",
"id": 2
}
],
"signature": [
{
"name": "Signature 1",
"id": 1
},
{
"name": "Signature 2",
"id": 2
}
],
"tool": [
{
"name": "Tool 1",
"id": 1
},
{
"name": "Tool 2",
"id": 2
}
],
"ttp": [
{
"name": "TTP 1",
"id": 1
},
{
"name": "TTP 2",
"id": 2
}
],
"vulnerability": [
{
"name": "Vulnerability 1",
"id": 1
},
{
"name": "Vulnerability 2",
"id": 2
}
],
}
Mur des cas
Type de résultat | Description | Type |
---|---|---|
Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook : Si l'opération réussit et qu'au moins une association entre les entités est trouvée (is_success=true) : "Associations associées récupérées avec succès depuis Anomali" Si aucune association n'est trouvée (is_success=false) : "Aucune association connexe n'a été trouvée." Message asynchrone : "En attente de la récupération de tous les détails de l'association" L'action doit échouer et arrêter l'exécution d'un playbook : Si une erreur fatale est signalée (par exemple, des identifiants incorrects, une absence de connexion au serveur ou autre) : "Erreur lors de l'exécution de l'action "Obtenir l'association associée". Raison : {0}''.format(error.Stacktrace) |
Général |
Tableau du mur des cas | Nom de la table : "Associations associées" Colonnes du tableau :
|
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.