TISC Intel Exchange API
Permet aux systèmes externes de partager des données de renseignements sur les menaces avec l’application Centre de sécurité des renseignements sur les menaces (TISC).
Cette API nécessite l’application, qui est disponible sur le Centre de sécurité des renseignements sur les menacesServiceNow Store.
Pour plus d’informations sur , reportez-vous à TISC la section Threat Intelligence Security Center.
Cette API s’exécute dans l’espace de noms sn_sec_tisc . L’utilisateur appelant doit avoir le rôle sn_sec_tisc.api_post_intel.
La version actuelle de cette API est v1.
Échange Intel TISC : POST /sn_sec_tisc/tisc_intel_sharing_api/post_intel
Partage les données de Threat Intelligence à partir d’une source externe avec l’application Centre de sécurité des renseignements sur les menaces (TISC).
Ce point de terminaison crée un enregistrement d’intelligence entrante, ainsi que des enregistrements d’indicateurs, d’objets et d’observables.
Les enregistrements d’indicateurs sont créés dans la table Source d’indicateur [sn_sec_tisc_indicator_source].
- Source de modèle d’attaque [sn_sec_tisc_attack_pattern_source]
- Source de campagne [sn_sec_tisc_campaign_source]
- Déroulement de la source d’action [sn_sec_tisc_course_of_action_source]
- Composant de données [sn_sec_tisc_data_component]
- Source de données [sn_sec_tisc_data_source]
- Source d’identité [sn_sec_tisc_identity_source]
- Source infrastructure [sn_sec_tisc_infrastructure_source]
- Source ensemble d’intrusions [sn_sec_tisc_intrusion_set_source]
- Source emplacement [sn_sec_tisc_location_source]
- Source analyse de programme malveillant [sn_sec_tisc_malware_analysis_source]
- Source programme malveillant [sn_sec_tisc_malware_source]
- Source de définition de marquage [sn_sec_tisc_marking_definition_source]
- Source perception d’objets [sn_sec_tisc_object_sighting_source]
- Source de données observées [sn_sec_tisc_observed_data_source]
- Source acteur de menace [sn_sec_tisc_threat_actor_source]
- Source événement de menace [sn_sec_tisc_threat_event_source]
- Source regroupement de menaces [sn_sec_tisc_threat_grouping_source]
- Source note sur les menaces [sn_sec_tisc_threat_note_source]
- Source opinion sur les menaces [sn_sec_tisc_threat_opinion_source]
- Source rapport sur les menaces [sn_sec_tisc_threat_report_source]
- Source outil [sn_sec_tisc_tool_source]
- Source de vulnérabilité [sn_sec_tisc_vulnerability_source]
- Source d’artefact [sn_sec_tisc_artifact_source]
- Source de numéro AS [sn_sec_tisc_as_number_source]
- Source du répertoire [sn_sec_tisc_directory_source]
- Source de nom de domaine [sn_sec_tisc_domain_name_source]
- Source d’adresse e-mail [sn_sec_tisc_email_address_source]
- Source de message d’e-mail [sn_sec_tisc_email_message_source]
- Source de l’objet de l’e-mail [sn_sec_tisc_email_subject_source]
- Source du fichier [sn_sec_tisc_file_source]
- Source adresse IPv4 [sn_sec_tisc_ipv4_address_source]
- Source CIDR IPv4 [sn_sec_tisc_ipv4_cidr_source]
- Source adresse IPv6 [sn_sec_tisc_ipv6_address_source]
- Source CIDR IPv6 [sn_sec_tisc_ipv6_cidr_source]
- Source adresse MAC [sn_sec_tisc_mac_address_source]
- Source hachage MD5 [sn_sec_tisc_md5_hash_source]
- Source nom Mutex [sn_sec_tisc_mutex_name_source]
- Source de réseau [sn_sec_tisc_network_source]
- Autre source d’observable [sn_sec_tisc_other_observable_source]
- Source de processus [sn_sec_tisc_process_source]
- Source hachage SHA1 [sn_sec_tisc_sha1_hash_source]
- Source hachage SHA256 [sn_sec_tisc_sha256_hash_source]
- Source hachage SHA512 [sn_sec_tisc_sha512_hash_source]
- Source logiciel [sn_sec_tisc_software_source]
- Source de l’URL [sn_sec_tisc_url_source]
- Source compte utilisateur [sn_sec_tisc_user_account_source]
- Source clé de registre Windows [sn_sec_tisc_windows_registry_key_source]
- Source du certificat X.509 [sn_sec_tisc_x_509_certificate_source]
Format d'URL
URL avec version : /api/sn_sec_tisc/{api_version}/tisc_intel_sharing_api/post_intel
URL par défaut : /api/sn_sec_tisc/tisc_intel_sharing_api/post_intel
Paramètres de demande pris en charge
| Nom | Description |
|---|---|
| api_version | Facultatif. Version du point de terminaison auquel accéder. Par exemple, v1 ou v2. Spécifiez uniquement cette valeur pour utiliser une version de point de terminaison autre que la plus récente. Type de données : chaîne |
| Nom | Description |
|---|---|
| Néant |
| Nom | Description |
|---|---|
| <Object> | Charge utile STIX 2.1 ou MISP contenant les données de renseignements sur les menaces à partager avec .TISC Lors de l’utilisation de MISP, il doit s’agir d’un tableau de charges utiles d’événements MISP. |
En-têtes
Les en-têtes de demande et de réponse suivants s’appliquent uniquement à cette action HTTP ou s’appliquent à cette action d’une manière distincte. Pour obtenir la liste des en-têtes généraux utilisés dans l’API REST, consultez En-têtes d’API REST pris en charge.
| En-tête | Description |
|---|---|
| Accepter | Format de données du corps de la réponse. Prend uniquement en charge application/json. |
| GUID de profil | Identificateur unique du profil d’intelligence entrant, configuré dans l’instance de réception avec laquelle les données sont partagées. Pour obtenir l’identificateur unique, accédez à l’onglet Administration de , puis accédez à Profils d’intelligence entrante et cliquez sur le profil que vous souhaitez utiliser. Sur la page de profil, sélectionnez Copier l’ID du profil ou Envoyer par e-mail les détails du profil. |
| Format Intel-partagé | Format des données partagées. Valeurs possibles :
|
| En-tête | Description |
|---|---|
| Type de contenu | Format de données du corps de la réponse. Prend uniquement en charge application/json. |
Codes d'état
Les codes d’état suivants s’appliquent à cette action HTTP. Pour obtenir la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.
| Code d'état | Description |
|---|---|
| 200 | Réussi. La demande a été traitée avec succès. |
| 400 | Demande incorrecte. Erreurs possibles :
|
| 422 | Contenu non traitable. Le corps de la demande ne suit pas le format spécifié par l’en-tête de demande Shared-Intel-Format . |
| 500 | Erreur interne du serveur. Une erreur inattendue s’est produite lors du traitement de la demande. La réponse contient des informations supplémentaires sur l’erreur. |
Paramètres de corps de réponse (JSON)
| Nom | Description |
|---|---|
| erreur | Informations relatives à l’erreur. Ce paramètre n’est renvoyé qu’en cas d’échec de la demande. Type de données : objet |
| message.erreur | Message d’erreur indiquant le motif de l’échec de la demande. Type de données : chaîne |
| erreur.détail | Détails supplémentaires sur le motif d’échec de la demande. Type de données : chaîne |
| résultat | Détails sur les enregistrements qui ont été créés avec succès.Type de données : objet |
| résultat.createdEntitiesCount | Nombre de chaque type d’entité créée.Type de données : objet |
| résultat.createdEntitiesCount.indicators | Nombre d’indicateurs créés. Type de données : nombre |
| résultat.createdEntitiesCount.objects | Nombre d’objets créés. Type de données : nombre |
| résultat.createdEntitiesCount.observables | Nombre d’observables créés. Type de données : nombre |
| résultat.receivedIntelligenceRecord | Numéro d’identification de l’enregistrement de l’intelligence entrante créé. Type de données : chaîne Table : Intelligence entrante [sn_sec_tisc_inbound_intelligence] Colonne : numéro |
Demande cURL
Cet exemple crée des enregistrements pour un indicateur, un objet (programme malveillant) et un observable (nom de domaine) en fonction des données au format STIX 2.1.
curl "https://instancename.service-now.com/api/sn_sec_tisc/v1/tisc_intel_sharing_api/post_intel" \
--request POST \
--header 'Shared-Intel-Format: STIX 2.1' \
--header 'Profile-GUID: a87febc22b80b210ceeaf5486e91bfdb' \
--header 'Content-Type: application/json' \
--user 'username:password' \
--data '{
"type": "bundle",
"objects": [
{
"id": "domain-name--4b5f73f2-1bf2-5250-8926-55f0604bcb0c",
"type": "domain-name",
"defanged": false,
"value": "testdomain.com",
"object_marking_refs": [
"marking-definition--f88d31f6-486f-44da-b317-01333bde0b82"
]
},
{
"id": "indicator--64c35f36-1b32-4250-8926-55f0604bcbaf",
"type": "indicator",
"spec_version": "2.1",
"revoked": false,
"confidence": 74,
"object_marking_refs": [
"marking-definition--f88d31f6-486f-44da-b317-01333bde0b82"
],
"pattern": "[ domain-name:value = 'testdomain.com' ]",
"name": "Test Indicator",
"description": "References to this domain are indicative of the presence of the Test malware in the environment",
"valid_from": "2011-02-11T00:00:00.000Z",
"kill_chain_phases": [
{
"kill_chain_name": "lockheed-martin-cyber-kill-chain",
"phase_name": "exploit"
}
]
},
{
"id": "malware--1ec31776-1b7a-4610-8f18-cb31604bcb36",
"type": "malware",
"spec_version": "2.1",
"revoked": false,
"confidence": 60,
"object_marking_refs": [
"marking-definition--f88d31f6-486f-44da-b317-01333bde0b82"
],
"name": "Test Malware",
"description": "Once infected with this malware, a host becomes part of the Test Botnet",
"is_family": false,
"last_seen": "2023-06-26T08:04:17.000Z",
"aliases": [
"Alias1"
],
"kill_chain_phases": [
{
"kill_chain_name": "lockheed-martin-cyber-kill-chain",
"phase_name": "control"
}
],
"capabilities": [
"anti-vm"
]
}
]
}'
Corps de la réponse.
{
"result": {
"receivedIntelligenceRecord": "IBTI0001001",
"createdEntitiesCount": {
"observables": 1.0,
"indicators": 1.0,
"objects": 1.0
}
}
}
Demande cURL
Cet exemple crée des enregistrements pour les objets et les observables basés sur les données au format MISP.
curl "https://instancename.service-now.com/api/sn_sec_tisc/v1/tisc_intel_sharing_api/post_intel" \
--request POST \
--header 'Shared-Intel-Format: MISP' \
--header 'Profile-GUID: a87febc22b80b210ceeaf5486e91bfdb' \
--header 'Content-Type: application/json' \
--user 'username:password' \
--data '[
{
"Event": {
"id": "134",
"orgc_id": "3",
"org_id": "1",
"date": "2016-03-28",
"threat_level_id": "3",
"info": "OSINT - TREASUREHUNT: A CUSTOM POS MALWARE TOOL",
"published": true,
"uuid": "56f92df0-24f0-4c6e-a297-6f2402de0b81",
"attribute_count": "54",
"analysis": "2",
"timestamp": "1459171202",
"distribution": "3",
"proposal_email_lock": false,
"locked": false,
"publish_timestamp": "1727129707",
"sharing_group_id": "0",
"disable_correlation": false,
"extends_uuid": "",
"protected": null,
"event_creator_email": "user.name@email.com",
"Org": {
"id": "1",
"name": "ORGNAME",
"uuid": "ed6dd3f3-f4a9-4109-974c-4b8da8795b96",
"local": true
},
"Orgc": {
"id": "3",
"name": "EXAMPLE",
"uuid": "55f6ea5e-2c60-40e5-964f-47a8950d210f",
"local": false
},
"Attribute": [
{
"id": "17426",
"type": "link",
"category": "External analysis",
"to_ids": false,
"uuid": "56f92e2a-1be0-4a3a-a3b6-3f2a02de0b81",
"event_id": "134",
"distribution": "5",
"timestamp": "1459170858",
"comment": "",
"sharing_group_id": "0",
"deleted": false,
"disable_correlation": false,
"object_id": "0",
"object_relation": null,
"value": "https://www.example.html",
"Galaxy": [],
"ShadowAttribute": []
},
{
"id": "17429",
"type": "md5",
"category": "Payload delivery",
"to_ids": true,
"uuid": "56f92ea5-2d50-4fc9-92ef-6f2302de0b81",
"event_id": "134",
"distribution": "5",
"timestamp": "1459170981",
"comment": "TREASUREHUNT 0.1",
"value": "cec2810556c63e9c225afb6a5ca58bc1",
"Galaxy": [],
"ShadowAttribute": []
},
{
"id": "17430",
"type": "md5",
"category": "Payload delivery",
"to_ids": true,
"uuid": "56f92ea6-2890-41b3-8059-6f2302de0b81",
"event_id": "134",
"distribution": "5",
"timestamp": "1459170982",
"comment": "TREASUREHUNT 0.1",
"value": "cb75de605c171e36c8a593e337275d8f",
"Galaxy": [],
"ShadowAttribute": []
},
{
"id": "17431",
"type": "md5",
"category": "Payload delivery",
"to_ids": true,
"uuid": "56f92ea6-009c-4348-a0b2-6f2302de0b81",
"event_id": "134",
"distribution": "5",
"timestamp": "1459170982",
"comment": "TREASUREHUNT 0.1",
"value": "6a9348f582b2e121a5d9bff1e8f0935f",
"Galaxy": [],
"ShadowAttribute": []
}
],
"Tag": [
{
"id": "35",
"name": "tlp:white",
"colour": "#ffffff",
"exportable": true
}
]
}
},
{
"Event": {
"id": "646",
"orgc_id": "3",
"org_id": "1",
"date": "2017-03-10",
"threat_level_id": "2",
"info": "OSINT - Wikileaks Vault7 JQJSNICKER code leak",
"published": true,
"uuid": "58c2fcf1-283c-45fa-b289-45ae02de0b81",
"attribute_count": "14",
"analysis": "2",
"timestamp": "1489174168",
"distribution": "3",
"event_creator_email": "user.name@example.com",
"Org": {
"id": "1",
"name": "ORGNAME",
"uuid": "ed6dd3f3-f4a9-4109-974c-4b8da8795b96",
"local": true
},
"Orgc": {
"id": "3",
"name": "CIRCL",
"uuid": "55f6ea5e-2c60-40e5-964f-47a8950d210f",
"local": false
},
"Attribute": [
{
"id": "140266",
"type": "link",
"category": "External analysis",
"to_ids": false,
"uuid": "58c2fd63-b1a4-4f74-aa79-41a602de0b81",
"value": "http://example.com/",
"Tag": [
{
"id": "35",
"name": "tlp:white",
"colour": "#ffffff"
}
]
},
{
"id": "140268",
"type": "filename|sha1",
"category": "Payload delivery",
"to_ids": true,
"uuid": "58c2fdc4-e6d8-4f6e-9eb5-4dbb02de0b81",
"comment": "JQJSNICKER",
"value": "Installer.dll.embedded.core.dll.file|02aa4d3712f324aa4b125056b52a5200691eb62b"
},
{
"id": "140269",
"type": "filename|sha256",
"category": "Payload delivery",
"to_ids": true,
"uuid": "58c2fdc6-5064-49be-b39a-429402de0b81",
"comment": "JQJSNICKER",
"value": "Installer.dll.embedded.core.dll.file|ea042bd3a7df11273e233c423e9740e6b51001911139855ef39501472a1e5fb0"
}
],
"Tag": [
{
"id": "35",
"name": "tlp:white",
"colour": "#ffffff"
}
]
}
}
]'
Corps de la réponse.
{
"result": {
"receivedIntelligenceRecord": "IBTI0001005",
"createdEntitiesCount": {
"observables": 9,
"indicators": 0,
"objects": 2
}
}
}