Notes de mise à jour
1.5.2 (Required minimum CE version for this is 7.0.0)
Added
- Support ajouté pour les IOC CIDR IPv4 et IPv6.
1.5.1
Fixed
- Correction d’un problème où excludeDecayed=1 était envoyé même lorsque la valeur du paramètre « Seuil de score en décomposition » n’était pas fournie dans les paramètres de configuration.
1.5.0
Added
- Added support for IoC(s) Retraction.
- Ajout de la prise en charge de l’étiquetage des sources d’IoC.
- Support ajouté pour récupérer le nom d’hôte, l’IP de destination (ip-dst), l’IP|Port de destination (ip-dst|port), le domaine|IP (domain|ip), l’IP|Port source (ip-src|port) et le nom d’hôte|port (hostname|port) à partir de MISP.
1.4.1
Added
- Support ajouté pour accepter plusieurs événements dans le paramètre « Exclure les IoC de l’événement ».
1.4.0
Added
- Prise en charge ajoutée de la récupération des indicateurs sur la base du seuil de score de dégradation, des ID de modèle de dégradation, des événements publiés, de l’indicateur IDS et de l’indicateur d’application de la liste d’avertissement des IOC.
- Ajout de la prise en charge de la division de l'URL par type (domaine, IPv4, IPv6) à partir de CE v5.0.1.
- Ajout de la balise « netskope-ce » lors du partage des IOC pour résoudre le problème de création du cycle IOC dans Cloud Exchange.
1.3.0
Added
- Ajout d’optimisations supplémentaires pour un grand nombre d’indicateurs.
1.2.0
Added
- Ajout du traitement par lots de 2 500 dans la fonctionnalité de transfert.
- Ajout de New paramètres de configuration pour définir le mécanisme d'extraction (incrémentiel ou rétrospectif) et la période de rétrospection en heures.
1.1.0
Added
- Ajout de New paramètres de configuration.
1.0.0
Added
- Initial release.
Ce document explique comment configurer le plugin MISP v1.5.2 avec le module Threat Exchange de la plate-forme Netskope Cloud Exchange. Ce plugin est utilisé pour récupérer des attributs d'événement depuis MISP (Malware Information Sharing Platform) et extraire des indicateurs de type SHA256, MD5, URL, Domaine, IP (IPv4 et IPv6) et Nom d'hôte à partir de ceux-ci. Il peut également partager les indicateurs de type SHA256, MD5, URL, Domaine (Domaine et FQDN), Nom d'hôte, IP (IPv4 et IPv6) en tant qu'attributs vers des événements personnalisés MISP. Pour obtenir les détails requis pour créer une New configuration, allez sur https://<misp-url>/events/automation.
Conditions préalables
Pour compléter cette configuration, vous avez besoin de :
- Un locataire Netskope (ou plusieurs, par exemple des instances de production et de développement/test) qui est déjà configuré dans Cloud Exchange.
- Un profil de fichier sur votre locataire Netskope.
- A URL List on your Netskope tenant.
- A Destination Profile on your Netskope tenant.
- A Private App on your Netskope tenant.
- A DNS Profile on your Netskope Tenant
- A Netskope Cloud Exchange tenant with the Tenant plugin and Threat Exchange plugin already configured.
- Une instance du DMU.
- Connectivité à l’hôte suivant : la plateforme MISP (https://<misp-URL>)
Support du plugin MISP
Ce plugin est utilisé pour récupérer des attributs d'événement depuis MISP (Malware Information Sharing Platform) et extraire des indicateurs de type SHA256, MD5, URL, Domaine, IP (IPv4 et IPv6) et Nom d'hôte à partir de ceux-ci. Il peut également partager les indicateurs de type SHA256, MD5, URL, Domaine (Domaine et FQDN), Nom d'hôte, IP (IPv4 et IPv6) en tant qu'attributs vers des événements personnalisés MISP. Pour obtenir les détails requis pour créer une New configuration, allez sur https://<misp-url>/events/automation.
| Types d'indicateurs prédéfinis | Types d'indicateurs partagés |
|---|---|
| MD5, SHA256, URL (IP source|Port [ip-src|port], IP de destination|Port [ip-dst|port] et Nom d’hôte|Port [hostname|port]), Domaine, IPv4 et IPv6 (IP source [ip-src] et IP de destination [ip-dst]), Domaine ( Domaine|IP), Nom d’hôte, CIDR IPv4 et IPv6 | MD5, SHA256, URL, Domaine (domaine, FQDN et nom d’hôte), IP (IPv4 et IPv6) |
Retrait de l'IoC
IoC Retraction (Pull): les IoC supprimés sur MISP ou non soumis à l'intervalle de rétractation défini dans la configuration du plugin ou non soumis au type d'attribut MISP sélectionné, à la catégorie d'attribut MISP, aux tags d'attribut MISP, aux noms d'événement, aux IoC à exclure des événements, au type d'événement IoC, au seuil de score de décomposition, aux ID de modèle de décomposition, au filtre sur l'indicateur IDS et aux IoC de la liste d'avertissement appliqués seront marqués comme rétractés dans Cloud Exchange.
IoC Retraction (Push): les indicateurs rétractés présents sur CE seront supprimés de MISP lors du partage.
| Type de rétraction | Type de rétraction supportée |
|---|---|
| IOC Retraction (Pull) | Oui |
| IOC Retraction (Push) | Oui |
Mises en correspondance
Cartographie des tractions
| Champs de Cloud Exchange | Champs de réponse de l'API MISP |
|---|---|
| value | value |
| type | type : md5, sha256, url, domain, ip-src, ip-dst, ip-src|port, ip-dst|port, hostname|port, domain|ip types d'IoC ipv4_cidr et ipv6_cidr (MISP ne possède pas ces types ; lors de la récupération de données à partir de MISP, le plugin traite les valeurs CIDR et les stocke sous forme d'ipv4_cidr et ipv6_cidr dans CE). |
| first_seen | first_seen |
| last_seen | last_seen |
| Comment | Commentaire | Score de décroissance : <DecayingModel.score>, ID de modèle de décroissance : <DecayingModel.id>, Nom du modèle de décroissance : <DecayingModel.name> |
| tags | Tag + MISPCATEGORY-<category> |
| extendedInformation | <Base URL>//events/view/<event_id> |
Cartographie par poussée
| Champs de Cloud Exchange | Champs de réponse de l'API MISP |
|---|---|
| value | value |
| type | type : md5, sha256, ip-src, url, domain, hostname Notez que le domaine, le FQDN et le nom d'hôte dans CE seront partagés en tant que domaine avec la plate-forme MISP. |
| comment | comment |
| first_seen | firstSeen |
| last_seen | lastSeen |
| Tag | netskope-ce Netskope CE | <Source Plugin Name> |
Permissions
Des autorisations d'administrateur sont nécessaires pour générer une clé d'authentification.
Détails de l'API
Liste des API utilisées
| Point final de l'API | Méthode | Cas d'utilisation |
|---|---|---|
| /events/restSearch | PUBLIER | Vérifier l'existence d'un événement |
| /attributes/restSearch | PUBLIER | Attributs de traction |
| /attributs/supprimerSélectionnés/<ID de l’événement><Event ID> | PUBLIER | Supprimer/rétracter des attributs précédemment poussés de MISP (rétractation de poussée) |
| /tags/search/<Tag name> | PUBLIER | Vérifier l'existence de la balise |
| /tags/add | PUBLIER | Create tag |
| /events/edit/<Event ID> | PUBLIER | Partager les indicateurs avec les événements existants |
| /events/add | PUBLIER | Partager les indicateurs sur New event |
Vérifier l'existence d'un événement
API Endpoint: /events/restSearch
Method: PUBLICATION
Headers
| Clé | Value |
|---|---|
| User-Agent | netskope-ce-7.0.0-cte-misp-v1.5.2 |
| Authorization | Clé API |
| Accept | application/json |
| Content-Type | application/json |
Parameters
| Clé | Value |
|---|---|
| returnFormat | json |
| limit | 1 |
| page | 1 |
| eventinfo | <Event Name><Nom de l’événement> |
| metadata | true |
Sample API Response
{
"response": [
{
"Event": {
"id": "1517",
"orgc_id": "1",
"org_id": "1",
"date": "2024-06-25",
"threat_level_id": "4",
"info": "new",
"published": false,
"uuid": "09502561-a07f-41e9-8359-59394878e47d",
"attribute_count": "11",
"analysis": "0",
"timestamp": "1719493608",
"distribution": "1",
"proposal_email_lock": false,
"locked": false,
"publish_timestamp": "0",
"sharing_group_id": "0",
"disable_correlation": false,
"extends_uuid": "",
"protected": null,
"event_creator_email": "admin@admin.test",
"Org": {
"id": "1",
"name": "ORGNAME",
"uuid": "45d545a3-859f-4645-9139-0d8fb8730f18",
"local": true
},
"Orgc": {
"id": "1",
"name": "ORGNAME",
"uuid": "45d545a3-859f-4645-9139-0d8fb8730f18",
"local": true
},
"RelatedEvent": [
{
"Event": {
"id": "1325",
"date": "2024-07-05",
"threat_level_id": "4",
"info": "new5",
"published": false,
"uuid": "3508388f-b6a6-4be2-9b99-de05825cc304",
"analysis": "0",
"timestamp": "1720177270",
"distribution": "1",
"org_id": "1",
"orgc_id": "1",
"Org": {
"id": "1",
"name": "ORGNAME",
"uuid": "45d545a3-859f-4645-9139-0d8fb8730f18"
},
"Orgc": {
"id": "1",
"name": "ORGNAME",
"uuid": "45d545a3-859f-4645-9139-0d8fb8730f18"
}
}
},
{
"Event": {
"id": "1324",
"date": "2024-07-02",
"threat_level_id": "4",
"info": "new4",
"published": false,
"uuid": "e8d24ff9-2955-4eb6-80f1-5f276fae2e42",
"analysis": "0",
"timestamp": "1720424260",
"distribution": "1",
"org_id": "1",
"orgc_id": "1",
"Org": {
"id": "1",
"name": "ORGNAME",
"uuid": "45d545a3-859f-4645-9139-0d8fb8730f18"
},
"Orgc": {
"id": "1",
"name": "ORGNAME",
"uuid": "45d545a3-859f-4645-9139-0d8fb8730f18"
}
}
},
{
"Event": {
"id": "1319",
"date": "2024-06-27",
"threat_level_id": "4",
"info": "420test",
"published": false,
"uuid": "1e1f4455-8d0e-43dd-95ba-0fd4f7eb6abf",
"analysis": "0",
"timestamp": "1720418522",
"distribution": "1",
"org_id": "1",
"orgc_id": "1",
"Org": {
"id": "1",
"name": "ORGNAME",
"uuid": "45d545a3-859f-4645-9139-0d8fb8730f18"
},
"Orgc": {
"id": "1",
"name": "ORGNAME",
"uuid": "45d545a3-859f-4645-9139-0d8fb8730f18"
}
}
},
{
"Event": {
"id": "1315",
"date": "2024-03-12",
"threat_level_id": "4",
"info": "test",
"published": false,
"uuid": "dceaa84e-156f-4a31-b0b2-a3ae0778d72a",
"analysis": "0",
"timestamp": "1720175425",
"distribution": "1",
"org_id": "1",
"orgc_id": "1",
"Org": {
"id": "1",
"name": "ORGNAME",
"uuid": "45d545a3-859f-4645-9139-0d8fb8730f18"
},
"Orgc": {
"id": "1",
"name": "ORGNAME",
"uuid": "45d545a3-859f-4645-9139-0d8fb8730f18"
}
}
},
{
"Event": {
"id": "1308",
"date": "2015-01-01",
"threat_level_id": "1",
"info": "testevent",
"published": false,
"uuid": "0c3d5017-8edf-483b-a829-426bb2c56c92",
"analysis": "0",
"timestamp": "1699523309",
"distribution": "0",
"org_id": "1",
"orgc_id": "1",
"Org": {
"id": "1",
"name": "ORGNAME",
"uuid": "45d545a3-859f-4645-9139-0d8fb8730f18"
},
"Orgc": {
"id": "1",
"name": "ORGNAME",
"uuid": "45d545a3-859f-4645-9139-0d8fb8730f18"
}
}
}
],
"Galaxy": [],
"CryptographicKey": [],
"Tag": [
{
"id": "251",
"name": "workflow:todo=\"create-missing-misp-galaxy-cluster\"",
"colour": "#770040",
"exportable": true,
"user_id": "0",
"hide_tag": false,
"numerical_value": null,
"is_galaxy": false,
"is_custom_galaxy": false,
"local_only": false,
"local": 0,
"relationship_type": null
}
]
}
}
]
}
Attributs de traction
API Endpoint: /attributes/restSearch
Method: POST
Headers
| Clé | Value |
|---|---|
| User-Agent | netskope-ce-7.0.0-cte-misp-v1.5.2 |
| Authorization | Clé API |
| Accept | application/json |
| Content-Type | application/json |
Parameters
| Clé | Value | Comment |
|---|---|---|
| returnFormat | json | Le format dans lequel les données doivent être renvoyées. par exemple json, csv, etc. |
| limit | 1 | Nombre maximal d'enregistrements à renvoyer |
| page | 1 | Numéro de page |
| eventid | < Event ID>< ID de l'événement> | ID de l'événement |
| horodatage | [ <Start Time>, <End Time>] | Restreindre les résultats en fonction de l'horodatage (dernière modification) |
| category | [<Categories Name>] | Catégories d'attributs à extraire. |
| type | ["md5″, "sha256″, "ip-src", "domain", "ip-src|port", "ip-dst", "ip-dst|port", "domain|ip", "hostname", "hostname|port"]. | Type d'indicateurs à extraire |
| tags | [“!netskope-ce”] | Inclure ou exclure des attributs avec certaines balises. |
| includeDecayScore | 1 | Si cette valeur est fixée à 1, les informations relatives au score de désintégration seront incluses pour les attributs affectés par la désintégration. |
| decayingModel | [1,2] | Permet de définir le(s) modèle(s) de désintégration à utiliser pour calculer le score de désintégration. |
| excludeDecayed | 1 | Filtrez tous les IoC expirés. |
| modelOverrides.threshold | 30 | JSON qui peut être utilisé pour modifier les paramètres du modèle à la volée. |
| published | 1 | Indique si les événements publiés ou non publiés doivent être renvoyés Valeurs acceptées 0 ou 1. |
| to_ids | 1 | Par défaut (0), tous les attributs correspondant aux autres paramètres de filtrage sont renvoyés, quel que soit leur paramètre to_ids. |
| enforceWarninglist | 1 | Supprimez tous les attributs du résultat qui pourraient entraîner l'apparition d'une entrée sur la liste d'avertissement. |
Sample API Response
{
"response": {
"Attribute": [
{
"id": "347224",
"event_id": "1315",
"object_id": "0",
"object_relation": null,
"category": "Network activity",
"type": "ip-src",
"to_ids": true,
"uuid": "567ac850-6337-4266-a646-9317661f8974",
"timestamp": "1719987636",
"distribution": "5",
"sharing_group_id": "0",
"comment": "",
"deleted": false,
"disable_correlation": false,
"first_seen": null,
"last_seen": null,
"value": "efd:2dbe:3d3:b9ac:71e1:fd4f:5d2:2de7",
"decay_score": [
{
"score": 30.478404654276954,
"base_score": 90,
"decayed": false,
"DecayingModel": {
"id": "2",
"name": "NIDS Simple Decaying Model Updated"
}
}
],
"Event": {
"org_id": "1",
"distribution": "1",
"id": "1315",
"info": "test",
"orgc_id": "1",
"uuid": "dceaa84e-156f-4a31-b0b2-a3ae0778d72a"
}
}
]
}
}
Supprimer/rétracter des attributs précédemment poussés de MISP (rétractation de poussée)
API Endpoint: /attributes/deleteSelected/<Event ID>
Method: PUBLIER
Headers
| Clé | Value |
|---|---|
| User-Agent | netskope-ce-7.0.0-cte-misp-v1.5.2 |
| Authorization | Clé API |
| Accept | application/json |
| Content-Type | application/json |
Payload
| Clé | Value |
|---|---|
| id | [“attribute_id”] |
| event_id | « event_id » |
Sample API Response
{
"saved": true,
"success": true,
"name": "1 attribute deleted.",
"message": "1 attribute deleted.",
"url": "/attributes/deleteSelected/141",
"id": "141"
}
Vérifier l'existence d'une étiquette sur MISP
API Endpoint: /tags/search/<Tag name>
Method: POST
Headers
| Clé | Value |
|---|---|
| User-Agent | netskope-ce-7.0.0-cte-misp-v1.5.2 |
| Authorization | Clé API |
| Accept | application/json |
| Content-Type | application/json |
Parameters
| Clé | Value |
|---|---|
| limit | 5000 |
| offset | “” |
Sample API Response
{
"Tag": {
"id": "1399",
"name": "netskope-ce",
"colour": "#ff0000",
"exportable": true,
"org_id": "0",
"user_id": "0",
"hide_tag": false,
"numerical_value": null,
"is_galaxy": false,
"is_custom_galaxy": false,
"local_only": false
}
}
]
Créer une étiquette sur MISP
API Endpoint: /tags/add
Method: POST
Headers
| Clé | Value |
|---|---|
| User-Agent | netskope-ce-7.0.0-cte-misp-v1.5.2 |
| Authorization | Clé API |
| Accept | application/json |
| Content-Type | application/json |
Parameters
| Clé | Value |
|---|---|
| name | <Tag Name><Nom de l'étiquette> |
| colour | #ff0000 |
Sample API Response
{
"Tag": {
"id": "1400",
"name": "netskooe-ce",
"colour": "#ff0000",
"exportable": true,
"org_id": "0",
"user_id": "0",
"hide_tag": false,
"numerical_value": null,
"is_galaxy": false,
"is_custom_galaxy": false,
"local_only": false
}
}
Partager des indicateurs avec un événement existant (Mise à jour d'un événement)
API Endpoint: /events/edit/<Event ID>
Method: POST
Headers
| Clé | Value |
|---|---|
| User-Agent | netskope-ce-7.0.0-cte-misp-v1.5.2 |
| Authorization | Clé API |
| Accept | application/json |
| Content-Type | application/json |
Parameters
| Clé | Value | Comment |
|---|---|---|
| type | sha256 | Type d'indicateur |
| value | 56af10adb647b1e675f3f486c7941fbf637ebd0c6632e86e6dc9879d2214441a | Valeur SHA256 |
| comment | Test IoC | |
| first_seen | 05-07-2024T09:48:51.585000 | Première vue de l'IoC |
| last_seen | 05-07-2024T09:48:51.585000 | Première vue de l'IoC |
| Tag.name | netskope-ce | <Source Plugin name> |
Sample Payload
{
"Attribute": [
{
"type": "sha256",
"value": "56af10adb647b1e675f3f486c7941fbf637ebd0c6632e86e6dc9879d2214441a",
"comment": "Test IoC.",
"first_seen": "2024-07-05T09:48:51.585000",
"last_seen": "2024-07-05T09:48:51.585000",
"Tag": [
{
"name": "netskope-ce"
}
]
}
]
}
Sample API Response
{
"Event": {
"id": "1317",
"orgc_id": "1",
"org_id": "1",
"date": "2024-06-25",
"threat_level_id": "4",
"info": "new",
"published": false,
"uuid": "09502561-a07f-41e9-8359-59394878e47d",
"attribute_count": "12",
"analysis": "0",
"timestamp": "1720443083",
"distribution": "1",
"proposal_email_lock": false,
"locked": false,
"publish_timestamp": "0",
"sharing_group_id": "0",
"disable_correlation": false,
"extends_uuid": "",
"protected": null,
"event_creator_email": "admin@admin.test",
"Org": {
"id": "1",
"name": "ORGNAME",
"uuid": "45d545a3-859f-4645-9139-0d8fb8730f18",
"local": true
},
"Orgc": {
"id": "1",
"name": "ORGNAME",
"uuid": "45d545a3-859f-4645-9139-0d8fb8730f18",
"local": true
},
"Attribute": [
{
"id": "1488555",
"type": "sha256",
"category": "Payload delivery",
"to_ids": true,
"uuid": "343b7c36-beb7-4197-945e-4b35c8179426",
"event_id": "1317",
"distribution": "5",
"timestamp": "1720443083",
"comment": "Test IoC.",
"sharing_group_id": "0",
"deleted": false,
"disable_correlation": false,
"object_id": "0",
"object_relation": null,
"first_seen": "2024-07-05T09:48:51.585000+00:00",
"last_seen": "2024-07-05T09:48:51.585000+00:00",
"value": "56af10adb647b1e675f3f486c7941fbf637ebd0c6632e86e6dc9879d2214441a",
"Galaxy": [
],
"ShadowAttribute": [
],
"Tag": [
{
"id": "1399",
"name": "netskope-ce",
"colour": "#ff0000",
"exportable": true,
"user_id": "0",
"hide_tag": false,
"numerical_value": null,
"is_galaxy": false,
"is_custom_galaxy": false,
"local_only": false,
"local": 0,
"relationship_type": null
}
]
}
],
"ShadowAttribute": [
],
"RelatedEvent": [
{
"Event": {
"id": "1325",
"date": "2024-07-05",
"threat_level_id": "4",
"info": "new5",
"published": false,
"uuid": "3508388f-b6a6-4be2-9b99-de05825cc304",
"analysis": "0",
"timestamp": "1720177270",
"distribution": "1",
"org_id": "1",
"orgc_id": "1",
"Org": {
"id": "1",
"name": "ORGNAME",
"uuid": "45d545a3-859f-4645-9139-0d8fb8730f18"
},
"Orgc": {
"id": "1",
"name": "ORGNAME",
"uuid": "45d545a3-859f-4645-9139-0d8fb8730f18"
}
}
},
{
"Event": {
"id": "1324",
"date": "2024-07-02",
"threat_level_id": "4",
"info": "new4",
"published": false,
"uuid": "e8d24ff9-2955-4eb6-80f1-5f276fae2e42",
"analysis": "0",
"timestamp": "1720424260",
"distribution": "1",
"org_id": "1",
"orgc_id": "1",
"Org": {
"id": "1",
"name": "ORGNAME",
"uuid": "45d545a3-859f-4645-9139-0d8fb8730f18"
},
"Orgc": {
"id": "1",
"name": "ORGNAME",
"uuid": "45d545a3-859f-4645-9139-0d8fb8730f18"
}
}
},
{
"Event": {
"id": "1319",
"date": "2024-06-27",
"threat_level_id": "4",
"info": "420test",
"published": false,
"uuid": "1e1f4455-8d0e-43dd-95ba-0fd4f7eb6abf",
"analysis": "0",
"timestamp": "1720418522",
"distribution": "1",
"org_id": "1",
"orgc_id": "1",
"Org": {
"id": "1",
"name": "ORGNAME",
"uuid": "45d545a3-859f-4645-9139-0d8fb8730f18"
},
"Orgc": {
"id": "1",
"name": "ORGNAME",
"uuid": "45d545a3-859f-4645-9139-0d8fb8730f18"
}
}
},
{
"Event": {
"id": "1315",
"date": "2024-03-12",
"threat_level_id": "4",
"info": "test",
"published": false,
"uuid": "dceaa84e-156f-4a31-b0b2-a3ae0778d72a",
"analysis": "0",
"timestamp": "1720175425",
"distribution": "1",
"org_id": "1",
"orgc_id": "1",
"Org": {
"id": "1",
"name": "ORGNAME",
"uuid": "45d545a3-859f-4645-9139-0d8fb8730f18"
},
"Orgc": {
"id": "1",
"name": "ORGNAME",
"uuid": "45d545a3-859f-4645-9139-0d8fb8730f18"
}
}
},
{
"Event": {
"id": "1308",
"date": "2015-01-01",
"threat_level_id": "1",
"info": "testevent",
"published": false,
"uuid": "0c3d5017-8edf-483b-a829-426bb2c56c92",
"analysis": "0",
"timestamp": "1699523309",
"distribution": "0",
"org_id": "1",
"orgc_id": "1",
"Org": {
"id": "1",
"name": "ORGNAME",
"uuid": "45d545a3-859f-4645-9139-0d8fb8730f18"
},
"Orgc": {
"id": "1",
"name": "ORGNAME",
"uuid": "45d545a3-859f-4645-9139-0d8fb8730f18"
}
}
}
],
"Galaxy": [
],
"Object": [
],
"EventReport": [
],
"CryptographicKey": [
],
"Tag": [
{
"id": "251",
"name": "workflow:todo=\"create-missing-misp-galaxy-cluster\"",
"colour": "#770040",
"exportable": true,
"user_id": "0",
"hide_tag": false,
"numerical_value": null,
"is_galaxy": false,
"is_custom_galaxy": false,
"local_only": false,
"local": 0,
"relationship_type": null
}
]
}
}
Partager des indicateurs avec un événement New (Créer un événement)
API Endpoint: /events/add
Method: POST
Headers
| Clé | Value |
|---|---|
| User-Agent | netskope-ce-7.0.0-cte-misp-v1.5.2 |
| Authorization | Clé API |
| Accept | application/json |
| Content-Type | application/json |
Parameters
| Clé | Value | Comment |
|---|---|---|
| type | sha256 | Type d'indicateur |
| value | 56af10adb647b1e675f3f486c7941fbf637ebd0c6632e86e6dc9879d2214441a | Valeur SHA256 |
| comment | Test IoC. | |
| first_seen | 05-07-2024T09:48:51.585000 | Première vue de l'IoC |
| last_seen | 05-07-2024T09:48:51.585000 | Première vue de l'IoC |
| Tag.name | netskope-ce |
Sample Payload
{
"info": "test"
"Attribute": [
{
"type": "sha256",
"value": "56af10adb647b1e675f3f486c7941fbf637ebd0c6632e86e6dc9879d2214441a",
"comment": "Test IoC.",
"first_seen": "2024-07-05T09:48:51.585000",
"last_seen": "2024-07-05T09:48:51.585000",
"Tag": [
{
"name": "netskope-ce"
}
]
}
]
}
Sample API Response
{
"Tag": {
"id": "1400",
"name": "netskope-ce",
"colour": "#ff0000",
"exportable": true,
"org_id": "0",
"user_id": "0",
"hide_tag": false,
"numerical_value": null,
"is_galaxy": false,
"is_custom_galaxy": false,
"local_only": false
}
}
Matrice de performance
Voici la lecture des performances réalisée en tirant et en partageant 100 000 indicateurs de/vers MISP sur une grande pile CE avec ces spécifications.
| Description | Spécifications |
|---|---|
| Détails de la pile | Taille : Grande RAM : 32 GB CPU : 16 cœurs |
| Indicateurs extraits de la plateforme MISP | ~18K per minute |
| Indicateurs partagés avec la plateforme MISP | ~8K per minute |
Agent utilisateur
netskope-ce-7.0.0-cte-misp-v1.5.2
Workflow
- Obtenez votre URL MISP et votre clé API.
- Configurez le plugin MISP.
- Configurez une règle de gestion.
- Configurez le partage entre Netskope et MISP.
- Validez le plugin MISP.
Regardez une vidéo
Cliquez sur "play" pour regarder une vidéo :
Obtenez votre URL d'instance et votre clé d'authentification
- Votre clé API MISP sera générée. Faites une copie de cette valeur pour pouvoir configurer le plugin.
Configurer le plugin MISP
-
Dans Cloud Exchange, allez dans Settings > Plugin Store. Recherchez et sélectionnez le plugin MISP v1.5.2 (CTE).

-
Saisissez et sélectionnez les informations de base :
- Configuration Name: Nom de la configuration du plugin
- Sync Interval: Intervalle de récupération des données de cette source de plugin.
- Aging Criteria: Les indicateurs expirent après une période déterminée.
- Override Reputation: Définissez la valeur pour ignorer la réputation des indicateurs reçus de cette configuration. Laissez vide pour conserver la valeur par défaut.
- Enable SSL Validation: Activez/désactivez la validation du certificat SSL en fonction des exigences de votre plate-forme.
- Use System Proxy: Utiliser le proxy système configuré dans les Paramètres.

-
Cliquez sur Next et entrez les paramètres de configuration :
- MISP Base URL: URL de base de l’instance MISP. (
https://<misp-url>) - Authentication Key: Clé API générée à partir de la plateforme MISP.
- MISP Attribute Type: Select le type d'attribut MISP (MD5, SHA256, URL (IP source|Port (ip-src|port), IP de destination|Port (ip-dst|port), et Nom d'hôte|Port (hostname|port)), Domaine, IPv4 et IPv6 (IP source (ip-src) et IP de destination (ip-dst)), Domaine( Domaine|IP), Nom d'hôte), les indicateurs des types d'attributs spécifiés uniquement seront récupérés. Laissez vide pour récupérer les indicateurs de tous les types. Plusieurs types sont acceptés.
- MISP attribute Category: Select la catégorie d'attribut MISP ; seuls les indicateurs des catégories d'attributs spécifiées seront récupérés. Laisser vide pour récupérer les indicateurs de toutes les catégories. Plusieurs catégories sont acceptées.
- MISP Attribute Tags: Saisissez les balises d'attributs MISP ; seuls les indicateurs des balises spécifiées, séparées par des virgules, seront récupérés. Laisser vide pour récupérer les indicateurs de toutes les étiquettes. Les valeurs dynamiques sont acceptées.
- Event Names: Laissez Noms des événements vides pour récupérer des indicateurs de tous les événements, ou entrez-les séparément par une virgule pour récupérer uniquement les indicateurs qui appartiennent à cet événement. Pour l'instant, nous le laissons vide.
- Exclude IoCs from Event: Dans le champ Exclure les IoC de l'événement, saisissez le nom de l'événement dont vous souhaitez exclure les IoC de la récupération. Les indicateurs associés aux événements séparés par des virgules fournis seront ignorés lors de l'extraction des données de MISP. La valeur attendue est une liste de noms d'événements ou d'identifiants d'événements séparés par des virgules.
- Ioc Event Type: Les indicateurs seront récupérés en fonction du type d’événement sélectionné. Il est possible de sélectionner les événements publiés, non publiés ou les deux types. Laissez vide pour récupérer tous les types
- Decaying Score Threshold: Seuls les indicateurs dont le score de décroissance est supérieur à la valeur fournie seront récupérés. La valeur doit être comprise entre 0 et 100.
- Decaying Model IDs: Le score de décroissance des seuls modèles de décroissance spécifiés séparés par des virgules sera suivi. Laissez vide pour récupérer les scores de tous les modèles de décroissance activés qui s'appliquent au type d'attribut. Les identifiants des modèles de décroissance peuvent être trouvés dans Action globale > Lister les modèles de décroissance.
- Filter on IDS Flag: Extrait les IoC en fonction de l’option Sélectionnée pour les IDS. Un indicateur IDS activé, un indicateur IDS désactivé ou les deux types d’indicateurs peuvent être sélectionnés. Gardez vide pour récupérer tous les indicateurs.
- Enforce Warning List IoCs: Select Oui pour supprimer tout IoC des événements qui provoquerait une correspondance sur une entrée de liste d’avertissement. Les listes d’avertissement se trouvent sous Filtres d’entrée > Listes d’avertissement.
- Pulling Mechanism: Select un mécanisme de extraction
- Incremental (Default): Le plugin récupérera les données en utilisant le point de contrôle stocké, comme
last_run_atdu plugin. - Look Back: Le plugin récupérera les données en soustrayant la valeur de rétrovision de l'heure d'exécution du plugin à chaque synchronisation. Par ex. : si la valeur fournie est de 72 heures, il récupérera 72 heures d'IoC à partir de maintenant à chaque synchronisation.
- Incremental (Default): Le plugin récupérera les données en utilisant le point de contrôle stocké, comme
- Look Back (in hours): Saisissez la valeur de rétrovision (en heures) pour extraire les indicateurs de période historique à partir de maintenant à chaque synchronisation du plugin. La valeur par défaut est vide et ne sera utilisée que si vous sélectionnez Rétrovision dans Mécanisme d'extraction.
- Retraction Interval (in days): Nombre de jours de l'intervalle de rétractation pour effectuer la rétractation des IoC pour les indicateurs MISP. Remarque : Ce paramètre ne sera pris en compte que si Rétractation des IoC est activé dans les paramètres Threat Exchange. La valeur minimale attendue pour la rétractation sera de 1. Si la valeur de rétractation n'est pas ajoutée et que Rétractation des IoC est activé dans le paramètre global, la rétractation ne sera pas effectuée pour le plugin.
- Enable Tagging: Le plugin extraira les balises associées aux IoC si Activer le marquage est Oui. Si vous ne voulez pas extraire les balises avec les IoC, gardez Activer le marquage comme Non.
- Initial Range (in days): Nombre de jours pour extraire les données pour l'exécution initiale. Notez que ce paramètre ne sera pris en compte que si le mécanisme d'extraction est défini sur Incrémentiel.



- MISP Base URL: URL de base de l’instance MISP. (
-
Cliquez sur Save.

Note
Les indicateurs de compromission (IoC) stockés dans Netskope CE afficheront la date et l'heure actuelles en tant que Last_Seen plutôt que la dernière date d'observation indiquée par MISP.

Configurer une règle de gestion Threat Exchange pour MISP
Une règle de gestion est utilisée pour filtrer les indicateurs qui doivent être partagés. Pour partager des objets de confiance avec MISP, créez une règle de gestion en suivant les étapes suivantes :
-
Dans Threat Exchange, allez à Business Rules et cliquez sur Create New Rule.
-
Entrez un nom de règle et sélectionnez les champs pour lesquels vous souhaitez filtrer les IoC comme décrit dans les deux étapes suivantes.

-
Cliquer sur Create New Rule. Saisissez un nom de règle et sélectionnez les champs pour lesquels vous souhaitez filtrer les IoC. Par exemple, les IoC par sources sont égales à CTE Netskope. Cliquer sur Save.

-
Cliquer sur Create New Rule. Entrez un nom de règle et sélectionnez les champs pour lesquels vous souhaitez filtrer les IoC. IoC par sources est égal à CTE MISP. Cliquer sur Save.

Configurer le partage de Threat Exchange pour MISP
-
Dans Threat Exchange, allez à Sharing et cliquez sur Add Sharing Configuration.

-
Select la configuration source (source à partir de laquelle vous souhaitez partager des données vers MISP), Select une règle métier et Select la destination (plugin MISP).
-
Select la valeur cible Add to Event.

-
Saisissez le nom de l'événement que vous souhaitez utiliser pour pousser les IoC sur la plate-forme MISP.
-
Select le type de partage des IoC IPv4/IPv6/CIDR vers MISP.
-
Cliquez sur Save.

Note
Reportez-vous au guide du plugin Netskope Threat Exchange pour plus d'informations sur le partage sur Netskope Tenant. Comme le plugin MISP prend en charge l'extraction de SHA256, MD5, URL, Domaine, IPv4, IPv6 et Nom d'hôte, nous pouvons effectuer les actions suivantes sur Netskope en utilisant ces indicateurs :
- Pour URL, domaine, IPv4, IPv6 et nom d'hôte
- Ajouter à la liste des URL
- Ajouter à l'application privée
- Add to Destination Profile
- Add to DNS Profile
- Pour SHA256 et MD5
- Ajouter à la liste de hachage des fichiers
Valider le plugin MISP
Valider le retrait
Les indicateurs de MISP sont extraits de : Event Actions > List Attributes.

Les indicateurs stockés dans Cloud Exchange peuvent être vérifiés à partir de la page Threat Exchange > Threat IoCs.
Recherchez les modules MISP IoC en filtrant les indicateurs sur la page Threat IoCs avec le nom de source Configured MISP Plugin.
Exemple : Ajoutez une requête sur la page IoCs Menace comme"sources.source Is equal "CTE MISP" && type IN ("< IOC_TYPE<IOC_TYPE> >")"







Vous pouvez également vérifier les indicateurs extraits dans Cloud Exchange à partir des journaux disponibles sur Logging.

Pour vérifier les IoC rétractés de MISP, vérifiez les journaux de rétractation des IoC. Par exemple : message comme "CTE MISP [CTE MISP] [Retraction] :"


Lorsque les éléments de configuration partagés entre le MISP et une tierce partie seront retirés, ils seront marqués comme "<plugin-config-name>: retracted " dans le résultat de la rétractation. Si elles ne sont pas supprimées par le tiers, le résultat de la rétractation sera en attente.
Note
Les documents de référence qui sont supprimés sur le MISP et qui tombent sous l'intervalle de rétractation seront marqués comme rétractés dans Cloud Exchange.

Valider le push
Les IoC partagés avec MISP peuvent être vérifiés à partir des journaux disponibles à l'adresse Logging dans Cloud Exchange.

Les IoC partagés sur MISP peuvent être vérifiés à partir de Event Actions > List Events.
Cliquez sur l'ID de l'événement que vous avez utilisé lors de la configuration du partage pour afficher tous les IoC partagés.

L'étiquetage IoC est ajouté à chacun des IoC qui sont partagés/poussés vers MISP à partir de Cloud Exchange, au format suivant : "Netskope CE | <plugin-name>".

L'étiquetage de l'article de confiance pour les articles de confiance partagés sera ajouté en tant que partie des étiquettes sur MISP ; il peut également être vérifié par le journal disponible dans Cloud Exchange Logging pendant que les articles de confiance sont partagés sur MISP.

Dépannage du plugin MISP
Erreur lors de la mise à jour du dépôt de plugins
Lorsque vous essayez de mettre à jour un plugin, si vous recevez l'erreur suivante, suivez les étapes indiquées.

What to do:
- Cliquez sur Skip et allez à Home > Threat Exchange > Plugins.
- Modifiez le plugin car il sera désactivé en raison d'une erreur survenue lors de la mise à jour du plugin.
- Cliquez sur Next.

- Faites défiler vers le bas jusqu'aux paramètres nouvellement ajoutés (Mécanisme de récupération et Regarder en arrière) et sélectionnez la méthode de récupération et sélectionnez Regarder en arrière comme mécanisme de récupération.

- Cliquez sur Save et activez le plugin.
Impossible de tirer/envoyer des données vers le plugin MISP
Si vous n'êtes pas en mesure de partager des IoC de Netskope vers MISP, il se peut que la clé d'authentification de MISP ait expiré ou ait été supprimée de la plateforme MISP.
What to do:
Assurez-vous que la clé d'authentification du MISP n'a pas expiré. Assurez-vous également que la clé n'est pas supprimée du DMU. La clé d'authentification et ses détails se trouvent dans Administration > List Auth Keys.
Les domaines et les adresses IP extraits sont stockés sous forme d'URL dans Cloud Exchange.
Si vous avez des données extraites de MISP et que les IoC de type domaine, IPv4 et IPv6 sont stockés en tant qu'URL dans Cloud Exchange, cela peut être dû à l'une des raisons suivantes :
- Le plugin n'est pas mis à jour à la version 1.4.0
- La version du plugin est v1.4.0 mais le noyau n'est pas mis à jour vers v5.0.1
- Le type d'IoC sur le MISP est l'URL
What to do:
- La bifurcation d'URL pour le plugin MISP est disponible à partir du plugin MISP v1.4.0. Si votre plugin est une version inférieure, la mise à jour de la bifurcation ne sera pas disponible.
- La bifurcation d'URL est supportée dans Cloud Exchange à partir de la version 5.0.1, si votre Cloud Exchange n'est pas mis à jour à la version supportée, la bifurcation ne sera pas disponible et tous les domaines et IPs tirés de la plateforme seront stockés en tant qu'URL. Si vous souhaitez extraire des données en fonction de la bifurcation des URL, la version de votre plugin doit être v1.4.0 ou supérieure et la version du noyau doit être v5.0.1 ou supérieure.
- Si votre cœur et votre plugin sont tous deux mis à jour et que peu d’IoC de type domaine, IPv4 et IPv6 sont stockés comme URL dans Cloud Exchange, cela doit être dû au type IoC de l’indicateur sur MISP. Si l’IoC sur MISP a un type comme URL pour les domaines/IP, il sera extrait et stocké en tant qu’URL dans Cloud Exchange. Si MISP a un domaine comme type IOC, il sera extrait et stocké comme domaine dans Cloud Exchange. Le type IoC pour les IP sur MISP est
ip-src.
Limitation
Decaying Score is not in sync with MISP for Incremental Pulling Mechanism
- Si l'utilisateur utilise le mécanisme d'extraction incrémentielle, après qu'un indicateur de conformité a été retiré du MISP avec son score décroissant, l'indicateur de conformité ne sera à nouveau extrait de Cloud Exchange que si l'horodatage de cet indicateur est mis à jour sur le MISP. Dans le cas contraire, la partition en cours de décomposition restera telle qu'elle était au moment où elle a été tirée.
- Il s'agit d'une limitation de la plateforme MISP : lors de la mise à jour du score de décroissance, l'horodatage associé à l'attribut n'est pas mis à jour. Dans Cloud Exchange, nous utilisons les champs d'horodatage des attributs MISP pour capturer uniquement les indicateurs mis à jour. Par conséquent, si la valeur de l'horodatage n'est pas mise à jour, l'objet de contrôle ne sera jamais réintroduit dans Cloud Exchange.
- Pour résoudre ce problème, l'utilisateur peut utiliser le mécanisme de tirage Look Back pour tirer tous les indicateurs sur la base de la période Look Back spécifiée dans les paramètres de configuration pour chaque tirage.
Comportement connu
Difference in response displayed on the UI in case Decaying Model IDs field is left empty and when all Model IDs are added
- Si aucun ID de modèle n'est fourni dans le champ ID de modèle de décroissance, les scores de décroissance associés à l'attribut seront récupérés dans Cloud Exchange. Par exemple, s'il y a trois modèles dans l'instance MISP et qu'un seul modèle est attaché à l'attribut, seul le score de décroissance pour ce modèle spécifique sera récupéré dans Cloud Exchange.
- Toutefois, si des identifiants de modèle spécifiques sont fournis, qu'ils soient associés ou non à l'attribut, les scores de tous les modèles disponibles seront renvoyés via l'API. Dans l'interface utilisateur MISP, seuls les modèles associés sont affichés.




