TISC API
L’API TISC fournit des points de terminaison pour ajouter et 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 de gestion des événements d’information de sécurité (SIEM). 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 Security. Les systèmes SIEM observent une 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 contexte de renseignements sur les menaces. Par exemple, si une alerte SIEM est générée en fonction d’un trafic anormalement élevé à partir d’une adresse IP, TISC 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.
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 .
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 API REST.
API TISC : POST /sn_sec_tisc/threat_intel_data/add_observables
Ajoute des enregistrements sources d’observables à l’application Centre de sécurité des renseignements sur les menaces (TISC).
Les enregistrements source observable sont créés dans la table Source observable [sn_sec_tisc_observable_source] et sont traités par déduplication et 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, par défaut, est inclus dans le rôle d’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 autre que la plus récente. Type de données : chaîne |
| Nom | Description |
|---|---|
| Néant |
| Nom | Description |
|---|---|
| observables | Requis. Liste des objets observables à ajouter à TISC. Pour chaque objet observable, un enregistrement source 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 pour tous les types d’observables sont pris en charge. Pour obtenir la liste complète des attributs valides, reportez-vous à 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 champs et typevalue sont obligatoires 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 qui a détecté les observables à l’origine, comme 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 de l’API [sn_sec_tisc_api_integration]. |
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. |
| Type de contenu | Format des données du corps de la demande. Prend uniquement en charge application/json. |
| En-tête | Description |
|---|---|
| Néant |
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. 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. Un rôle requis est manquant pour 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 qui explique 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 |
| metadata | 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 d’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 |
| statut | Statut de la demande d’API. Valeurs possibles :
Type de données : chaîne |
| success_records | Détails sur les enregistrements d’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 | Néant | |
| 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 | Néant | |
| md5_hash | Néant | |
| mutex_name | Néant | |
| 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 | Néant | |
| Processus | aslr_enabled | Booléen |
| command_line | Chaîne | |
| Encéphalopathie des plaques (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 | Néant | |
| sha256_hash | Néant | |
| sha512_hash | Néant | |
| logiciel | cpe (Common Platform Enumeration) |
Chaîne |
| supported_languages | Chaîne | |
| Numéro SWID (Identification logicielle) |
Chaîne | |
| vendor | Chaîne | |
| version | Chaîne | |
| URL | Néant | |
| 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. Aucun enregistrement n’a é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 renseignements sur les menaces telles que les objets STIX (Structured Threat Information Expression).
Les observables renvoyés dans la réponse sont triés par sys_id 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 d’administrateur de Renseignements sur les menaces (sn_sec_tisc.admin).
Format d'URL
URL avec version : /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 autre que la plus récente. Type de données : chaîne |
| Nom | Description |
|---|---|
| Néant |
| 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.Attributs.observables | 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 à retourner 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 fausse. Type de données : tableau de chaînes Les champs fournis doivent être column_names à partir 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 appartenir à 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 fausse. 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 observables 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 d’observables. N’utilisez ce paramètre que si la valeur de reference.include_all_fields est fausse. 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 la 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 fausse. 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 tables suivantes sont utilisées 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 |
| observable_filters.filters.field_name | Nom du champ à utiliser pour filtrer les observables. Valeurs valides :
Type de données : chaîne |
| observable_filters.filtres.opérateur | 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 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. |
| Type de contenu | Format des données du corps de la demande. Prend uniquement en charge application/json. |
| En-tête | Description |
|---|---|
| Néant |
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. 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. Un rôle requis est manquant pour l’utilisateur appelant. Le rôle sn_sec_tisc.api_obs_read_access est nécessaire 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 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. Indiquez cette valeur dans le page_token paramètre dans le corps de la demande. Type de données : chaîne |
| observables | Objets observables. Type de données : tableau d’objets Chaque objet observable inclut é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 utilisent 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 |
| statut | Statut 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 observables. Le observable_filters paramètre spécifie de renvoyer uniquement les observables qui correspondent à la condition status = active AND [threat_score >= 70 OR confidence >= 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"
}