TISC API
L’API TISC fournit des points de terminaison permettant d’ajouter et de récupérer des données de renseignements sur les menaces dans l’application Centre de sécurité des renseignements sur les menaces (TISC).
Les données récupérées par cette API peuvent être utilisées par d’autres outils de sécurité tels que les systèmes SIEM (Security Information Event Management). Les systèmes SIEM peuvent s’intégrer TISC à l’utilisation de cette API pour récupérer les observables liés aux menaces et TISC détecter et surveiller automatiquement ces menaces au sein du réseau d’une organisation. Cette API permet le partage bidirectionnel d’observables à partir d’outils de sécurité. Les systèmes SIEM observent l’activité anormale dans l’environnement et peuvent fournir une liste des observables associés à l’activité anormale à TISC.
Cette API peut également être utilisée pour enrichir les alertes SIEM avec un contexte de veille sur les menaces. Par exemple, si une alerte SIEM est générée en fonction d’un trafic anormalement élevé provenant d’une adresse IP, TISC cela peut fournir des informations supplémentaires telles que si l’adresse IP ou le domaine impliqué est lié à des activités malveillantes connues. Ces données d’enrichissement permettent aux analystes de sécurité de trier les alertes et d’utiliser les informations contextuelles pour une correction efficace.
Cette API nécessite l’application, qui est disponible sur le Centre de sécurité des renseignements sur les menacesServiceNow Store.
Cette API s’exécute dans l’espace de noms sn_sec_tisc .
La version actuelle de cette API est v1.
Pour plus d’informations sur l’authentification API, reportez-vous à la section Sécurité de l’API REST dans REST APIs.
Pour plus d’informations sur , reportez-vous à TISCThreat Intelligence Security Center.
API TISC : POST /sn_sec_tisc/threat_intel_data/add_observables
Ajoute des enregistrements sources observables à l’application Centre de sécurité des renseignements sur les menaces (TISC).
Les enregistrements sources d’observables sont créés dans la table Source d’observable [sn_sec_tisc_observable_source] et sont traités via la déduplication et l’agrégation dans le flux de données TISC.
Pour accéder à ce point de terminaison, l’appelant doit disposer du rôle sn_sec_tisc.api_obs_write_access, qui est inclus par défaut dans le rôle administrateur de Renseignements sur les menaces (sn_sec_tisc.admin).
Format d'URL
URL versionnée : /api/sn_sec_tisc/{api_version}/threat_intel_data/add_observables
URL par défaut : /api/sn_sec_tisc/threat_intel_data/add_observables
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 différente de la dernière. Type de données : chaîne |
| Nom | Description |
|---|---|
| Aucun |
| Nom | Description |
|---|---|
| observables | Requis. Liste des objets observables à compléter TISC. Pour chaque objet observable, un enregistrement source d’observable est créé si toutes les validations sont réussies, avec la source telle que définie par le source paramètre dans le corps de la demande. Type de données : tableau d’objets |
| Observables.Attributs | Paires champ-valeur contenant des données d’attribut sur l’observable. Les attributs sont spécifiques à un type d’observable, tels que le numéro AS pour une adresse IP ou le type d’embase pour un réseau. Tous les attributs de tous les types d’observables sont pris en charge. Pour obtenir la liste complète des attributs valides, consultez la section Attributs des observables ci-dessous. Type de données : objet |
| observables.<field> | Paires nom-valeur contenant des données générales sur l’observable. Les champs qui peuvent être fournis dans ce paramètre sont communs à tous les types d’observables. Les type champs et value sont requis pour tous les observables. Remarque : Suivez les instructions suivantes pour fournir des valeurs :
Champs valides :
Type de données : chaîne Table : source d’observable [sn_sec_tisc_observable_source] |
| source | Requis. Source ayant détecté les observables à l’origine, telle qu’un système SIEM. La source est utilisée pour tous les observables répertoriés dans la demande d’API. Type de données : chaîne Stocké dans : Les sources fournies dans le corps de la demande sont ajoutées à la table Intégration d’API [sn_sec_tisc_api_integration]. |
En-têtes
Les en-têtes de demande et de réponse suivants s'appliquent à cette action HTTP uniquement 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. |
| Content-Type | Format de données du corps de la demande. Prend uniquement en charge application/json. |
| En-tête | Description |
|---|---|
| Aucun |
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é correctement traitée. |
| 400 | Demande incorrecte. Les paramètres de la demande ne sont pas valides ou le JSON du corps de la demande comporte une erreur syntaxique. Pour afficher les détails de l’erreur, consultez le error paramètre dans le corps de la réponse. |
| 401 | Non autorisé. L’authentification utilisateur n’est pas valide. Vérifiez le nom d’utilisateur et le mot de passe ou le jeton OAuth. |
| 403 | Interdit. Il manque un rôle requis à l’utilisateur appelant. Le rôle sn_sec_tisc.api_obs_write_access est requis pour accéder à ce point de terminaison. |
| 429 | Trop de demandes. Le nombre de demandes d’API dépasse la limite de taux de l’API. Par défaut, la limite est de 100 demandes par heure. |
| 500 | Erreur interne du serveur. Consultez les journaux d’application dans la table Journal [syslog] pour plus d’informations 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 |
| error_records | Détails sur les observables inclus dans la demande qui n’ont pas pu être ajoutés à TISC. Type de données : tableau d’objets |
| error_records.message_erreur | Message d’erreur expliquant pourquoi un enregistrement n’a pas pu être créé pour l’observable. Type de données : chaîne |
| error_records.type | Type d’observable. Pour obtenir la liste complète des types d’observables valides, consultez le champ Valeur dans la table Type d’observable [sn_sec_tisc_observable_type] ou la section Attributs d’observable ci-dessous. Type de données : chaîne |
| error_records.valeur | Valeur associée à l’observable, telle qu’une adresse IP ou une URL. Type de données : chaîne |
| metadonnées | Métadonnées sur le nombre d’enregistrements créés par la demande d’API. Type de données : objet |
| metadata.error_records | Nombre d’observables inclus dans la demande qui n’ont pas pu être ajoutés à TISC. Type de données : nombre |
| metadata.success_records | Nombre d’enregistrements observables créés avec succès dans TISC. Type de données : nombre |
| metadata.total_records | Nombre total d’observables inclus dans la demande. Type de données : nombre |
| état | État de la demande d’API. Valeurs possibles :
Type de données : chaîne |
| success_records | Détails sur les enregistrements observables qui ont été créés avec succès. Type de données : tableau d’objets |
| success_records.sys_id | Sys_id de l’enregistrement de l’observable. Type de données : chaîne |
| success_records.type | Type d’observable. Pour obtenir la liste complète des types d’observables valides, consultez le champ Valeur dans la table Type d’observable [sn_sec_tisc_observable_type] ou la section Attributs d’observable ci-dessous. Type de données : chaîne |
| success_records.valeur | Valeur associée à l’observable, telle qu’une adresse IP ou une URL. Type de données : chaîne |
Attributs des observables
| Type d'observable | Attributs | Type de données |
|---|---|---|
| Artefact | decryption_key | Chaîne |
| encryption_algorithm | Chaîne | |
| md5_hash | Chaîne | |
| mime_type | Chaîne | |
| sha1_hash | Chaîne | |
| sha256_hash | Chaîne | |
| sha512_hash | Chaîne | |
| URL | Chaîne | |
| autonomous_system_number | nom | Chaîne |
| rir | Chaîne | |
| répertoire | directory_creation_time | Date |
| directory_last_accessed_time | Date | |
| directory_last_modified_time | Date | |
| encoded_path | Chaîne | |
| domain_name | is_fqdn (Nom de domaine complet) |
Booléen |
| resolves_to | Chaîne | |
| email_address | display_name | Chaîne |
| email_message | email_body | Chaîne |
| email_recipients_bcc | Chaîne | |
| email_recipients_cc | Chaîne | |
| email_recipients_to | Chaîne | |
| email_sender | Chaîne | |
| email_subject | Chaîne | |
| sent_date | Date | |
| email_subject | Aucun | |
| fichier | encoded_file_name | Chaîne |
| file_created_time | Date | |
| file_last_accessed_time | Date | |
| file_last_modified_time | Date | |
| file_name | Chaîne | |
| magic_number | Chaîne | |
| md5_hash | Chaîne | |
| mime_type | Chaîne | |
| sha1_hash | Chaîne | |
| sha256_hash | Chaîne | |
| sha512_hash | Chaîne | |
| ip_v4_address | as_number | Chaîne |
| mac_address | Chaîne | |
| ip_v4_cidr | as_number | Chaîne |
| mac_address | Chaîne | |
| ip_v6_address | as_number | Chaîne |
| mac_address | Chaîne | |
| ip_v6_cidr | as_number | Chaîne |
| mac_address | Chaîne | |
| mac_address | Aucun | |
| md5_hash | Aucun | |
| mutex_name | Aucun | |
| réseau | destination_bytes_count | Entier |
| destination_packets_count | Entier | |
| destination_port | ||
| end_time | Date | |
| http_message_body_length | Entier | |
| http_request_header | Chaîne | |
| http_request_method | Chaîne | |
| http_request_value | Chaîne | |
| http_request_version | Chaîne | |
| network_source | Chaîne | |
| network_destination | Chaîne | |
| icmp_code_byte | Chaîne | |
| icmp_type_byte | Chaîne | |
| is_network_active | Booléen | |
| is_socket_blocking | Booléen | |
| is_socket_listening | Booléen | |
| network_protocols | Chaîne | |
| socket_address_family | Chaîne Valeurs possibles :
|
|
| socket_descriptor | Entier | |
| socket_handle | Entier | |
| socket_options | Chaîne | |
| socket_type | Chaîne Valeurs possibles :
|
|
| source_bytes_count | Entier | |
| source_packets_count | Entier | |
| source_port | Chaîne | |
| start_time | Date | |
| tcp_destination_flags | Chaîne | |
| tcp_source_flags | Chaîne | |
| autre | Aucun | |
| Processus | aslr_enabled | Booléen |
| command_line | Chaîne | |
| cwd (Répertoire de travail actuel) |
Chaîne | |
| dep_enabled | Booléen | |
| environment_variables | Chaîne | |
| is_hidden | Booléen | |
| owner_sid | Chaîne | |
| pid (ID de processus) |
Chaîne | |
| Priorité | Chaîne | |
| process_created_time | Date | |
| service_descriptions | Chaîne | |
| service_display_name | Chaîne | |
| service_group_name | Chaîne | |
| service_name | Chaîne | |
| service_start_type | Chaîne Valeurs possibles :
|
|
| service_status | Chaîne Valeurs possibles :
|
|
| service_type | Chaîne Valeurs possibles :
|
|
| startup_info | Chaîne | |
| windows_integrity_level | Chaîne Valeurs possibles :
|
|
| window_title | Chaîne | |
| sha1_hash | Aucun | |
| sha256_hash | Aucun | |
| sha512_hash | Aucun | |
| logiciel | cpe (Common Platform Enumeration) |
Chaîne |
| supported_languages | Chaîne | |
| SWID (Identification logicielle) |
Chaîne | |
| vendor | Chaîne | |
| version | Chaîne | |
| URL | Aucun | |
| user_account | account_created_time | Date |
| account_expiry_time | Date | |
| account_type | Chaîne | |
| can_escalate_privileges | Booléen | |
| credentials_last_changed_time | Date | |
| display_name | Chaîne | |
| first_login_time | Date | |
| is_account_disabled | Booléen | |
| is_privileged | Booléen | |
| is_service_account | Booléen | |
| last_login_time | Date | |
| account_login | Chaîne | |
| user_id | Chaîne | |
| windows_registry_key | key_modified_time | Date |
| registry_value | Chaîne | |
| subkeys_count | Entier | |
| x509_certificate | authority_key_identifier | Chaîne |
| basic_constraints | Chaîne | |
| certificate_policies | Chaîne | |
| crl_distribution_points | Chaîne | |
| extended_key_usage | Chaîne | |
| inhibit_any_policy | Chaîne | |
| émetteur | Chaîne | |
| issuer_alternative_name | Chaîne | |
| is_self_signed | Booléen | |
| key_usage | Chaîne | |
| name_constraints | Chaîne | |
| policy_constraints | Chaîne | |
| policy_mappings | Chaîne | |
| private_key_usage_valid_from | Date | |
| private_key_usage_valid_until | Date | |
| signature_algorithm | Chaîne | |
| objet | Chaîne | |
| subject_alternative_name | Chaîne | |
| subject_directory_attributes | Chaîne | |
| subject_key_identifier | Chaîne | |
| subject_public_key_algorithm | Chaîne | |
| subject_public_key_exponent | Entier | |
| subject_public_key_modulus | Chaîne | |
| valid_from | Date | |
| valid_until | Date | |
| version | Chaîne |
Demande cURL
Cet exemple de demande contient trois observables pour lesquels créer des enregistrements dans TISC.
curl 'http://instance.servicenow.com/api/sn_sec_tisc/v1/threat_intel_data/add_observables' \
--request POST \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic YWRtaW46YWRtaW4=' \
--data '{
"source": "Sentinel",
"observables": [
{
"value": "1.2.1.45",
"type": "ip_v4_address",
"reputation": "malicious",
"confidence": "90",
"tags": "critical,important",
"taxonomies": "MITRE: T121",
"attack_phases": "Lockheed Martin: Reconnaissance",
"usage_categories": "Infected Bot",
"first_seen": "2023-10-14T18:01:34.000Z",
"attributes": {
"as_number": "14280"
}
},
{
"value": "https://example.com",
"type": "url",
"tags": "important",
"confidence": "50",
"reputation": "malicious"
},
{
"value": "1.1.1.1",
"type": "ip_add",
"confidence": "50",
"reputation": "malicious"
}
]
}'
Deux des trois observables ont été ajoutés avec succès à TISC. Un enregistrement n’a pas été créé, car le type d’observable n’est pas valide.
{
"status": "partial_success",
"metadata": {
"total_records": 3,
"success_records": 2,
"error_records": 1
},
"success_records": [
{
"value": "1.2.1.45",
"type": "ip_v4_address",
"sys_id": "e519392643e642102164e0ea78b8f29d"
},
{
"value": "https://example.com",
"type": "url",
"sys_id": "ad1979ae43ea42102164e0ea78b8f241"
}
],
"error_records": [
{
"value": "1.1.1.1",
"type": "ip_va",
"error_message": "The 'type' field value is invalid"
}
]
}
API TISC : POST /sn_sec_tisc/threat_intel_data/observables
Récupère les données des observables, y compris les relations entre les observables et d’autres données de Threat Intelligence telles que les objets STIX (Structured Threat Information Expression).
Les observables renvoyés dans la réponse sont triés sys_id par ordre croissant.
Pour plus d’informations sur les observables et les objets STIX, reportez-vous à la section IoC Repository.
Pour accéder à ce point de terminaison, l’appelant doit disposer du rôle sn_sec_tisc.api_obs_read_access, qui est inclus par défaut dans le rôle administrateur de Renseignements sur les menaces (sn_sec_tisc.admin).
Format d'URL
URL versionnée : /api/sn_sec_tisc/{api_version}/threat_intel_data/observables
URL par défaut : /api/sn_sec_tisc/threat_intel_data/observables
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 différente de la dernière. Type de données : chaîne |
| Nom | Description |
|---|---|
| Aucun |
| Nom | Description |
|---|---|
| included_fields | Champs à renvoyer pour les observables, les références observables et les objets STIX dans la réponse. Différents champs peuvent être renvoyés pour les observables, les références et chaque type d’objet STIX. ServiceNow Les champs système, à l’exception de sys_created_on, sys_updated_on et sys_id, ne sont pas renvoyés dans la réponse. Type de données : objet |
| included_fields.Observable | Champs à renvoyer pour les observables. Type de données : objet Par défaut : renvoie les champs syd_id, type et valeur pour tous les types d’observables. |
| included_fields.observable.attributs | Champs à renvoyer pour les types d’observables spécifiés. Type de données : objet Par défaut : aucun champ spécifique à un type d’observable n’est renvoyé. Seuls les champs syd_id, type et valeur sont renvoyés. |
| included_fields.attributs.observables.<observable_type> | Champs à renvoyer pour un type d’observable. Type de données : objet Remplacez |
| included_fields.attributs.observables.<observable_type>.include_all_fields | Marqueur indiquant s’il faut renvoyer tous les champs disponibles pour le type d’observable. Valeurs valides :
Type de données : booléennes |
| included_fields.attributs.observables.<observable_type>.valeurs | Liste des champs à renvoyer pour le type d’observable. N’utilisez ce paramètre que si la valeur de include_all_fields est faux. Type de données : tableau de chaînes Les champs fournis doivent être column_names de la table pour le type d’observable. Les tables suivantes sont utilisées pour les types d’observables.
|
| included_fields.observable.common_fields | Champs à renvoyer pour tous les types d’observables. Les champs doivent provenir de la table Observable [sn_sec_tisc_observable] car ils doivent être communs à tous les types d’observables. Type de données : objet Par défaut : renvoie les champs syd_id, type et valeur pour tous les types d’observables. |
| included_fields.observable.common_fields.include_all_fields | Marqueur indiquant s’il faut renvoyer tous les champs de la table Observable [sn_sec_tisc_observable] pour tous les types d’observables. Valeurs valides :
Type de données : booléennes |
| included_fields.observable.common_fields.values | Liste des champs à renvoyer pour tous les types d’observables. N’utilisez ce paramètre que si la valeur de common_fields.include_all_fields est faux. Type de données : tableau de chaînes Les champs fournis doivent être des noms de colonnes de la table Observable [sn_sec_tisc_observable]. |
| included_fields.référence | Champs à renvoyer pour les références d’observables. Les références d’observable sont des références externes utilisées pour décrire les pointeurs vers des informations représentées en dehors de STIX. Type de données : objet Par défaut : renvoie les champs reference_source, sys_id et url. |
| included_fields.reference.include_all_fields | Marqueur indiquant s’il faut renvoyer tous les champs disponibles pour les références observables. Valeurs valides :
Type de données : booléennes |
| included_fields.valeurs.référence | Liste des champs à renvoyer pour les références observables. N’utilisez ce paramètre que si la valeur de reference.include_all_fields est faux. Type de données : tableau de chaînes Les champs fournis doivent être des noms de colonnes de la table Référence observable [sn_sec_tisc_observable_reference]. |
| included_fields.<stix_object> | Objet contenant des champs à renvoyer pour un type d’objet STIX. Type de données : objet Remplacez Types d’objets STIX valides :
Par défaut : renvoie l’ID, le nom et l’sys_id des champs. |
| included_fields.<stix_object>.include_all_fields | Marqueur indiquant s’il faut renvoyer tous les champs disponibles pour le type d’objet STIX. Valeurs valides :
Type de données : booléennes |
| included_fields.<stix_object>.valeurs | Liste des champs à renvoyer pour le type d’objet STIX. N’utilisez ce paramètre que si la valeur de include_all_fields est faux. Type de données : tableau de chaînes Les champs fournis doivent être column_names de la table pour le type d’objet STIX. Les tableaux suivants sont utilisés pour les objets STIX.
|
| observable_filters | Filtres à appliquer aux observables. Seuls les observables qui correspondent aux critères de filtre sont renvoyés dans la réponse. Type de données : objet Par défaut : objet vide (aucun filtre appliqué) |
| observable_filters.boolean_operator | Opérateur booléen à utiliser pour les conditions de filtre. Valeurs valides :
Type de données : chaîne |
| observable_filters.filtres | Filtres à appliquer aux observables. Chaque objet de filtre peut être simple ou complexe.
Type de données : tableau d’objets |
| nom_champ.filtres.observable_filters | Nom du champ à utiliser pour filtrer les observables. Valeurs valides :
Type de données : chaîne |
| observable_filters.filters.operator | Opérateur à utiliser pour le filtre. Pour plus d’informations sur les opérateurs, reportez-vous à la section Operators available for filters and queries. Le type de données du champ de filtre détermine les opérateurs valides. Les opérateurs suivants sont valides pour chaque type de données.
Type de données : chaîne |
| observable_filters.filters.field_value | Valeur du champ. Pour les champs de choix, la valeur doit être la valeur interne et non la valeur d’affichage. Pour les champs de date et d’heure, la valeur doit être au format ISO dans le fuseau horaire UTC. Remarque : Ce paramètre n’est pas requis lors de l’utilisation des opérateurs ISEMPTY ou ISNOTEMPTY. Type de données : chaîne |
| page_size | Limite le nombre d’observables renvoyés dans la réponse API. Utilisé pour la pagination. Type de données : chaîne Par défaut : 100 Valeur maximale : 1000 |
| page_token | Utilisé pour obtenir des données observables pour la page actuelle. Pour obtenir la première page, ce paramètre peut être omis ou la valeur de ce paramètre doit être une chaîne vide. Pour obtenir la page suivante dans la demande suivante, utilisez la next_page_token valeur du corps de la réponse comme valeur pour ce paramètre. Type de données : chaîne Valeur par défaut : chaîne vide |
| Relations | Types de relations à renvoyer pour chaque observable dans la réponse. Les relations peuvent être avec un autre observable, une référence observable ou un objet STIX (Structured Threat Information Expression). Valeurs valides :
Par exemple, la transmission du tableau Type de données : tableau Par défaut : tableau vide (aucune relation renvoyée) |
En-têtes
Les en-têtes de demande et de réponse suivants s'appliquent à cette action HTTP uniquement 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. |
| Content-Type | Format de données du corps de la demande. Prend uniquement en charge application/json. |
| En-tête | Description |
|---|---|
| Aucun |
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é correctement traitée. |
| 400 | Demande incorrecte. Les paramètres de la demande ne sont pas valides ou le JSON du corps de la demande comporte une erreur syntaxique. Pour afficher les détails de l’erreur, consultez le error paramètre dans le corps de la réponse. |
| 401 | Non autorisé. L’authentification utilisateur n’est pas valide. Vérifiez le nom d’utilisateur et le mot de passe ou le jeton OAuth. |
| 403 | Interdit. Il manque un rôle requis à l’utilisateur appelant. Le rôle sn_sec_tisc.api_obs_read_access est requis pour accéder à ce point de terminaison. |
| 429 | Trop de demandes. Le nombre de demandes d’API dépasse la limite de taux de l’API. Par défaut, la limite est de 500 demandes par heure. |
| 500 | Erreur interne du serveur. Consultez les journaux d’application dans la table Journal [syslog] pour plus d’informations 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 |
| is_last_page | Marqueur indiquant s’il s’agit de la dernière page de données d’observables. Valeurs valides :
Type de données : booléennes |
| next_page_token | Utilisez cette valeur dans la demande d’API suivante pour obtenir la page suivante de données observables. Fournissez cette valeur dans le page_token paramètre du corps de la demande. Type de données : chaîne |
| observables | Objets observables. Type de données : tableau d’objets Chaque objet observables comprend également les champs spécifiés par le included_fields.observable.common_fields paramètre dans le corps de la demande. |
| Observables.Attributs | Paires nom-valeur pour les champs spécifiés par le included_fields.observable.attributes.<observable_type> paramètre dans le corps de la demande. Type de données : objet |
| observables.relations | Relations pour l’observable. Les types de relations renvoyées sont spécifiés par le relationships paramètre dans le corps de la demande, et les champs renvoyés pour chaque relation sont spécifiés par le included_fields paramètre dans le corps de la demande. Cet exemple montre la structure de base de ce paramètre. Toutefois, les types de relations et les champs renvoyés varient en fonction des paramètres du corps de la demande. Type de données : objet |
| observables.sys_id | Sys_id de l’observable. Type de données : chaîne Table : observable [sn_sec_tisc_observable] |
| Observables.Type | Type d’observable. Pour obtenir la liste complète des types d’observables valides, consultez le champ Valeur dans la table Type d’observable [sn_sec_tisc_observable_type]. Type de données : chaîne |
| observables.valeur | Valeur associée à l’observable, telle qu’une adresse IP ou une URL. Type de données : chaîne |
| origine | Application d’origine de la réponse, qui est Centre de sécurité des renseignements sur les menaces (TISC). La valeur de ce paramètre est sn_sec_tisc.Cette valeur peut éventuellement être utilisée par les SIEM qui consomment la réponse API pour déterminer si les renseignements ont TISC entraîné la création d’incidents de sécurité. Type de données : chaîne |
| page_size | Nombre maximal d’observables renvoyés dans la réponse. Utilisé pour la pagination. Type de données : chaîne |
| état | État de la demande d’API. Valeurs possibles :
Si la demande a échoué, consultez le error paramètre dans le corps de la réponse pour plus d’informations sur l’erreur. Type de données : chaîne |
Demande cURL
Cet exemple renvoie la première page de données d’observables. Le observable_filters paramètre spécifie de renvoyer uniquement les observables qui correspondent à la condition état = actif ET [threat_score >= 70 OU confiance >= 50].
curl 'http://instance.servicenow.com/api/sn_sec_tisc/v1/threat_intel_data/observables' \
--request POST \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic YWRtaW46YWRtaW4=' \
--data '{
"page_size": "100",
"page_token": "",
"relationships": [
"observable",
"threat_actor",
"indicator",
"reference",
"attack_pattern"
],
"included_fields": {
"observable": {
"common_fields": {
"include_all_fields": false,
"values": [
"value",
"reputation",
"confidence"
]
},
"attributes": {
"ip_v4_address": {
"include_all_fields": false,
"values": [
"as_number"
]
},
"artifact": {
"include_all_fields": false,
"values": [
"mime_type",
"encryption_algorithm"
]
}
}
},
"threat_actor": {
"include_all_fields": false,
"values": [
"name",
"aliases",
"description",
"threat_actor_roles"
]
},
"attack_pattern": {
"include_all_fields": true
},
"indicator": {
"include_all_fields": false,
"values": [
"name",
"pattern",
"pattern_type",
"indicator_types"
]
},
"reference": {
"include_all_fields": true,
"values": [
"description"
]
}
},
"observable_filters": {
"boolean_operator": "AND",
"filters": [
{
"field_name": "status",
"operator": "=",
"field_value": "active"
},
{
"boolean_operator": "OR",
"filters": [
{
"field_name": "threat_score",
"operator": ">=",
"field_value": "70"
},
{
"field_name": "confidence",
"operator": ">=",
"field_value": "50"
}
]
}
]
}
}'
Corps de la réponse.
{
"status": "success",
"observables": [
{
"sys_id": "792e3d1543a0421060eee0ea78b8f227",
"type": "url",
"value": "https://www.example.com",
"confidence": "60",
"reputation": "",
"relationships": {
"observable": [
{
"sys_id": "ccadb19143a0421060eee0ea78b8f25a",
"type": "ip_v4_address",
"value": "1.1.1.1",
"confidence": "20",
"reputation": "malicious"
}
],
"indicator": [
{
"id": "indicator--294d97754364c21060eee0ea78b8f2ae",
"indicator_types": "",
"name": "Poison Ivy",
"pattern": "",
"pattern_type": "sigma",
"sys_id": "a54d97754364c21060eee0ea78b8f2ae",
"type": "indicator"
}
],
"attack_pattern": [
{
"name": "Phishing",
"sys_id": "010d5bf14364c21060eee0ea78b8f2ac",
"id": "attack-pattern--810d5bf14364c21060eee0ea78b8f2ac",
"type": "attack-pattern"
}
],
"reference": [
{
"description": "phishing",
"reference_source": "CAPEC-98",
"sys_created_on": "2024-02-25T03:34:45.000Z",
"sys_id": "a42d97354364c21060eee0ea78b8f28c",
"sys_updated_on": "2024-02-25T03:34:45.000Z",
"url": " https://capec.mitre.org/data/98.html "
}
]
},
"attributes": {
"encryption_algorithm": "mime-type-indicated",
"mime_type": "application/zip"
}
},
{
"sys_id": "ccadb19143a0421060eee0ea78b8f2242",
"type": "ip_v4_address",
"value": "1.2.2.1",
"confidence": "70",
"reputation": "",
"relationships": {}
},
{
"sys_id": "7ccd359143a0421060eee0ea78b8f264",
"type": "artifact",
"value": "pom.xml",
"confidence": "",
"reputation": "",
"relationships": {}
}
],
"page_size": "100",
"next_page_token": "drejvfgbresg|7ccd359143a0421060eee0ea78b8f264",
"is_last_page": true,
"origin": "sn_sec_tisc"
}