TISC
. TISC A API fornece endpoints para adicionar e recuperar dados de inteligência contra ameaças no Central de segurança de inteligência contra ameaças( TISC).
Os dados recuperados por esta API podem ser usados por outras ferramentas de segurança, como sistemas SIEM (Security Information Event Management). Os sistemas SIEM podem se integrar ao TISC Usando esta API para recuperar observáveis relacionados a ameaças em TISC e detectar e monitorar automaticamente essas ameaças na rede de uma organização. Esta API permite o compartilhamento bidirecional de observáveis de ferramentas de segurança. Os sistemas SIEM observam atividades anômalas no ambiente e podem fornecer uma lista de observáveis associados à atividade anômala para TISC.
Esta API também pode ser usada para enriquecer alertas DE SIEM com contexto de inteligência contra ameaças. Por exemplo, se um alerta DE SIEM for gerado com base em tráfego excepcionalmente alto de um endereço IP, TISC Pode fornecer informações adicionais, como se o endereço IP ou o domínio envolvido está vinculado a atividades mal-intencionadas conhecidas. Esses dados de aprimoramento permitem que os analistas de segurança façam a triagem dos alertas e usem as informações contextuais para correção eficiente.
Esta API requer Central de segurança de inteligência contra ameaças, que está disponível no ServiceNow Store.
Esta API é executada no sn_sec_tisc namespace.
A versão atual desta API é v1 .
Para obter informações sobre autenticação de API, consulte a seção Segurança de REST API em REST APIs.
Para obter informações adicionais sobre TISC, consulte Threat Intelligence Security Center.
TISC - POST /sn_sec_tisc/threat_intel_data/add_observables
Adiciona registros de origem observável ao Central de segurança de inteligência contra ameaças( TISC).
. registros de origem do observável São criados na tabela Origem do observável [sn_sec_tisc_observable_source] e são processados por desduplicação e agregação no Fluxo de dados do TISC .
Para acessar este endpoint, o solicitante deve ter a função sn_sec_tisc.api_obs_write_access, que por padrão está incluída na função de administrador do Inteligência contra ameaças (sn_sec_tisc.admin).
Formato de URL
URL com controle de versão: /api/sn_sec_tisc//threat_intel_data/add_observables
URL padrão: /api/sn_sec_tisc/threat_intel_data/add_observables
Parâmetros de solicitação compatíveis
| Nome | Descrição |
|---|---|
| api_version | Opcional. Versão do endpoint a ser acessado. Por exemplo, v1 ou v2 . Especifique este valor somente para usar uma versão de endpoint diferente da mais recente. Tipo de dados: Cadeia de caracteres |
| Nome | Descrição |
|---|---|
| Nenhum(a) |
| Nome | Descrição |
|---|---|
| observáveis | Obrigatório. Lista de objetos observáveis a serem adicionados TISC. Para cada objeto observável, um registro de origem do observável será criado se todas as validações forem aprovadas, com a origem conforme definido por sourceparâmetro no corpo da solicitação. Tipo de dados: Matriz de objetos |
| observáveis.atributos | Pares de valor de campo que contêm dados de atributo sobre o observável. Os atributos são específicos de um tipo de observável, como o número de AS de um endereço IP ou o tipo de soquete de uma rede. Todos os atributos de todos os tipos de observáveis são compatíveis. Para obter uma lista completa de atributos válidos, consulte a seção Atributos observáveis abaixo. Tipo de dados: Objeto |
| observables.<field> | Pares nome-valor que contêm dados gerais sobre o observável. Os campos que podem ser fornecidos neste parâmetro são comuns a todos os tipos de observáveis. . typee. valueos campos são obrigatórios para todos os observáveis. Nota: Siga estas diretrizes para fornecer valores:
Campos válidos:
Tipo de dados: Cadeia de caracteres Tabela: Origem do observável [sn_sec_tisc_observable_source] |
| origem | Obrigatório. Origem que detectou originalmente os observáveis, como um sistema SIEM. A origem é usada para todos os observáveis listados na solicitação de API. Tipo de dados: Cadeia de caracteres Armazenado em: As origens fornecidas no corpo da solicitação são adicionadas à tabela Integração de API [sn_sec_tisc_api_integration]. |
Cabeçalhos
Os cabeçalhos de solicitação e resposta a seguir se aplicam somente a esta ação HTTP ou se aplicam a esta ação de maneira distinta. Para obter uma lista de cabeçalhos gerais usados na REST API, consulte Cabeçalhos de REST API compatíveis .
| Cabeçalho | Descrição |
|---|---|
| Aceitar | Formato de dados do corpo da resposta. Oferece suporte somente a application/json. |
| Tipo de conteúdo | Formato de dados do corpo da solicitação. Oferece suporte somente a application/json. |
| Cabeçalho | Descrição |
|---|---|
| Nenhum(a) |
Códigos de status
Os seguintes códigos de status se aplicam a esta ação HTTP. Para obter uma lista de possíveis códigos de status usados na REST API, consulte Códigos de resposta HTTP da REST API .
| Código do status | Descrição |
|---|---|
| 200 | Bem-sucedido. A solicitação foi processada com sucesso. |
| 400 | Solicitação incorreta. Os parâmetros da solicitação são inválidos ou o JSON do corpo da solicitação tem um erro sintático. Para exibir detalhes sobre o erro, consulte errorparâmetro no corpo da resposta. |
| 401 | Não autorizado. A autenticação do usuário é inválida. Verifique o nome de usuário e a senha ou o token OAuth. |
| 403 | Proibido. O usuário chamador não tem uma função necessária. A função sn_sec_tisc.api_obs_write_access é necessária para acessar este endpoint. |
| 429 | Excesso de solicitações. O número de solicitações de API excede o limite de taxa da API. Por padrão, o limite é de 100 solicitações por hora. |
| 500 | Erro interno do servidor. Verifique os logs da aplicação na tabela Log [syslog] para obter mais informações sobre o erro. |
Parâmetros do corpo da resposta (JSON)
| Nome | Descrição |
|---|---|
| erro | Informações de erro. Este parâmetro só será retornado se a solicitação falhar. Tipo de dados: Objeto |
| mensagem.erro | Mensagem de erro que contém o motivo da falha na solicitação. Tipo de dados: Cadeia de caracteres |
| error.detail | Detalhes adicionais sobre o motivo da falha da solicitação. Tipo de dados: Cadeia de caracteres |
| error_records | Detalhes sobre os observáveis incluídos na solicitação que não puderam ser adicionados TISC. Tipo de dados: Matriz de objetos |
| error_records.error_message | Mensagem de erro que explica por que um registro não pôde ser criado para o observável. Tipo de dados: Cadeia de caracteres |
| error_records.type | Tipo de observável. Para obter uma lista completa de tipos de observáveis válidos, consulte Valor Campo na tabela Tipo de observável [sn_sec_tisc_observable_type] ou na seção Atributos do observável abaixo. Tipo de dados: Cadeia de caracteres |
| error_records.value | Valor associado ao observável, como um endereço IP ou URL. Tipo de dados: Cadeia de caracteres |
| metadados | Metadados sobre o número de registros criados pela solicitação de API. Tipo de dados: Objeto |
| metadata.error_records | Número de observáveis incluídos na solicitação que não puderam ser adicionados TISC. Tipo de dados: Número |
| success_records | Número de registros observáveis que foram criados com sucesso em TISC. Tipo de dados: Número |
| metadata.total_records | Número total de observáveis incluídos na solicitação. Tipo de dados: Número |
| status | Status da solicitação de API. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| success_records | Detalhes sobre os registros observáveis que foram criados com sucesso. Tipo de dados: Matriz de objetos |
| success_records.sys_id | Sys_id do registro observável. Tipo de dados: Cadeia de caracteres |
| success_records.type | Tipo de observável. Para obter uma lista completa de tipos de observáveis válidos, consulte Valor Campo na tabela Tipo de observável [sn_sec_tisc_observable_type] ou na seção Atributos do observável abaixo. Tipo de dados: Cadeia de caracteres |
| success_records.value | Valor associado ao observável, como um endereço IP ou URL. Tipo de dados: Cadeia de caracteres |
Atributos observáveis
| Tipo de observável | Atributos | Tipo de dados |
|---|---|---|
| artefato | deccription_key | Cadeia de caracteres |
| encryption_algorithm | Cadeia de caracteres | |
| md5_hash | Cadeia de caracteres | |
| mime_type | Cadeia de caracteres | |
| sha1_hash | Cadeia de caracteres | |
| sha256_hash | Cadeia de caracteres | |
| sha512_hash | Cadeia de caracteres | |
| URL | Cadeia de caracteres | |
| autonomous_system_number | nome | Cadeia de caracteres |
| rir | Cadeia de caracteres | |
| diretório | directory_creation_time | Data |
| directory_last_accessed_time | Data | |
| directory_last_modified_time | Data | |
| encoded_path | Cadeia de caracteres | |
| domain_name | is_fqdn (Nome de domínio totalmente qualificado) |
Booliano |
| resolves_to | Cadeia de caracteres | |
| email_address | display_name | Cadeia de caracteres |
| email_message | email_body | Cadeia de caracteres |
| e-mail_destinatários_bcc | Cadeia de caracteres | |
| e-mail_destinatários_cc | Cadeia de caracteres | |
| email_destinatários_para | Cadeia de caracteres | |
| email_sender | Cadeia de caracteres | |
| email_subject | Cadeia de caracteres | |
| sent_date | Data | |
| email_subject | Nenhum(a) | |
| arquivo | encoded_file_name | Cadeia de caracteres |
| file_created_time | Data | |
| file_last_accessed_time | Data | |
| file_last_modified_time | Data | |
| file_name | Cadeia de caracteres | |
| magic_number | Cadeia de caracteres | |
| md5_hash | Cadeia de caracteres | |
| mime_type | Cadeia de caracteres | |
| sha1_hash | Cadeia de caracteres | |
| sha256_hash | Cadeia de caracteres | |
| sha512_hash | Cadeia de caracteres | |
| ip_v4_address | as_number | Cadeia de caracteres |
| mac_address | Cadeia de caracteres | |
| ip_v4_cidr | as_number | Cadeia de caracteres |
| mac_address | Cadeia de caracteres | |
| ip_v6_address | as_number | Cadeia de caracteres |
| mac_address | Cadeia de caracteres | |
| ip_v6_cidr | as_number | Cadeia de caracteres |
| mac_address | Cadeia de caracteres | |
| mac_address | Nenhum(a) | |
| md5_hash | Nenhum(a) | |
| mutex_name | Nenhum(a) | |
| rede | destination_bytes_count | Inteiro |
| destination_packets_count | Inteiro | |
| destination_port | ||
| end_time | Data | |
| http_message_body_length | Inteiro | |
| http_request_header | Cadeia de caracteres | |
| http_request_method | Cadeia de caracteres | |
| http_request_value | Cadeia de caracteres | |
| http_request_version | Cadeia de caracteres | |
| network_source | Cadeia de caracteres | |
| network_destination | Cadeia de caracteres | |
| icmp_code_byte | Cadeia de caracteres | |
| icmp_type_byte | Cadeia de caracteres | |
| _network_active | Booliano | |
| _socket_blocking | Booliano | |
| _socket_listening | Booliano | |
| network_protools | Cadeia de caracteres | |
| socket_address_family | Cadeia de caracteres Valores possíveis:
|
|
| socket_descritor | Inteiro | |
| socket_handle | Inteiro | |
| socket_options | Cadeia de caracteres | |
| socket_type | Cadeia de caracteres Valores possíveis:
|
|
| source_bytes_count | Inteiro | |
| source_packets_count | Inteiro | |
| source_port | Cadeia de caracteres | |
| start_time | Data | |
| tcp_destination_flags | Cadeia de caracteres | |
| tcp_source_flags | Cadeia de caracteres | |
| outro | Nenhum(a) | |
| processo | aslr_enabled | Booliano |
| command_line | Cadeia de caracteres | |
| cwd (Diretório de trabalho atual) |
Cadeia de caracteres | |
| dep_enabled | Booliano | |
| environment_variables | Cadeia de caracteres | |
| is_hidden | Booliano | |
| owner_sid | Cadeia de caracteres | |
| PID (ID do processo) |
Cadeia de caracteres | |
| prioridade | Cadeia de caracteres | |
| process_created_time | Data | |
| service_descriptions | Cadeia de caracteres | |
| service_display_name | Cadeia de caracteres | |
| service_group_name | Cadeia de caracteres | |
| service_name | Cadeia de caracteres | |
| service_start_type | Cadeia de caracteres Valores possíveis:
|
|
| service_status | Cadeia de caracteres Valores possíveis:
|
|
| service_type | Cadeia de caracteres Valores possíveis:
|
|
| startup_info | Cadeia de caracteres | |
| windows_integrity_level | Cadeia de caracteres Valores possíveis:
|
|
| window_title | Cadeia de caracteres | |
| sha1_hash | Nenhum(a) | |
| sha256_hash | Nenhum(a) | |
| sha512_hash | Nenhum(a) | |
| software | cpe (Enumeração de plataforma comum) |
Cadeia de caracteres |
| supported_languages | Cadeia de caracteres | |
| swid (Identificação de software) |
Cadeia de caracteres | |
| fornecedor | Cadeia de caracteres | |
| versão | Cadeia de caracteres | |
| URL | Nenhum(a) | |
| user_account | account_created_time | Data |
| account_expiry_time | Data | |
| account_type | Cadeia de caracteres | |
| can_escalate_privilégios | Booliano | |
| credentials_last_changed_time | Data | |
| display_name | Cadeia de caracteres | |
| first_login_time | Data | |
| _account_disabled | Booliano | |
| _privileged | Booliano | |
| _service_account | Booliano | |
| last_login_time | Data | |
| account_login | Cadeia de caracteres | |
| user_id | Cadeia de caracteres | |
| windows_registry_key | key_modified_time | Data |
| registry_value | Cadeia de caracteres | |
| subkeys_count | Inteiro | |
| x509_certificate | authority_key_identifier | Cadeia de caracteres |
| basic_constraints | Cadeia de caracteres | |
| certificate_policies | Cadeia de caracteres | |
| crl_distribution_points | Cadeia de caracteres | |
| extended_key_usage | Cadeia de caracteres | |
| inib_any_policy | Cadeia de caracteres | |
| emissor | Cadeia de caracteres | |
| emissor_alternative_name | Cadeia de caracteres | |
| _self_signed | Booliano | |
| key_usage | Cadeia de caracteres | |
| name_constraints | Cadeia de caracteres | |
| policy_constraints | Cadeia de caracteres | |
| policy_mapping | Cadeia de caracteres | |
| private_key_usage_valid_from | Data | |
| private_key_usage_valid_until | Data | |
| signature_algorithm | Cadeia de caracteres | |
| assunto | Cadeia de caracteres | |
| subject_alternative_name | Cadeia de caracteres | |
| subject_directory_attributes | Cadeia de caracteres | |
| subject_key_identifier | Cadeia de caracteres | |
| subject_public_key_algorithm | Cadeia de caracteres | |
| subject_public_key_expoent | Inteiro | |
| subject_public_key_modulus | Cadeia de caracteres | |
| valid_from | Data | |
| valid_until | Data | |
| versão | Cadeia de caracteres |
Solicitação de curl
Esta solicitação de exemplo contém três observáveis para criar registros para em 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"
}
]
}'
Dois dos três observáveis foram adicionados com sucesso ao TISC. Um registro não foi criado porque o tipo de observável é inválido.
{
"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"
}
]
}
TISC - POST /sn_sec_tisc/threat_intel_data/observables
Recupera dados de observáveis, incluindo relacionamentos entre observáveis e outros dados de inteligência contra ameaças, como objetos Stix (Structured Threat Information Expression).
Observáveis retornados na resposta são classificados por sys_idem ordem crescente.
Para obter mais informações sobre observáveis e objetos STIX, consulte IoC Repository.
Para acessar este endpoint, o solicitante deve ter a função sn_sec_tisc.api_obs_read_access, que por padrão está incluída na função de administrador do Inteligência contra ameaças (sn_sec_tisc.admin).
Formato de URL
URL com controle de versão: /api/sn_sec_tisc/
URL padrão: /api/sn_sec_tisc/threat_intel_data/observables
Parâmetros de solicitação compatíveis
| Nome | Descrição |
|---|---|
| api_version | Opcional. Versão do endpoint a ser acessado. Por exemplo, v1 ou v2 . Especifique este valor somente para usar uma versão de endpoint diferente da mais recente. Tipo de dados: Cadeia de caracteres |
| Nome | Descrição |
|---|---|
| Nenhum(a) |
| Nome | Descrição |
|---|---|
| included_fields | Campos a serem retornados para observáveis, referências de observáveis e objetos STIX na resposta. Campos diferentes podem ser retornados para observáveis, referências e cada tipo de objeto STIX. ServiceNow os campos do sistema, exceto sys_created_on, sys_updated_on e sys_id, não são retornados na resposta. Tipo de dados: Objeto |
| included_fields.observable | Campos a serem retornados para observáveis. Tipo de dados: Objeto Padrão: Retorna os campos syd_id, tipo e valor para todos os tipos de observável. |
| included_fields.observable.attributes | Campos a serem retornados para os tipos de observáveis especificados. Tipo de dados: Objeto Padrão: Nenhum campo específico para um tipo de observável é retornado. Somente os campos syd_id, type e value são retornados. |
| included_fields.observable.attributes.<observable_type> | Campos a serem retornados para um tipo de observável. Tipo de dados: Objeto Substituir |
| included_fields.observable.attributes.<observable_type>.include_all_fields | Sinalizador que indica se todos os campos disponíveis devem ser retornados para o tipo de observável. Valores válidos:
Tipo de dados: Booliano |
| included_fields.observable.attributes.<observable_type>.values | Lista de campos a serem retornados para o tipo de observável. Use este parâmetro somente se o valor de include_all_fieldsfalso. Tipo de dados: Matriz de cadeias de caracteres Os campos fornecidos devem ser column_names da tabela para o tipo de observável. As tabelas a seguir são usadas para tipos de observáveis.
|
| included_fields.observable.common_fields | Campos a serem retornados para todos os tipos de observáveis. Os campos devem ser da tabela Observable [sn_sec_tisc_observable] porque devem ser comuns a todos os tipos de observável. Tipo de dados: Objeto Padrão: Retorna os campos syd_id, tipo e valor para todos os tipos de observável. |
| included_fields.observable.common_fields.include_all_fields | Sinalizador que indica se todos os campos da tabela observável [sn_sec_tisc_observable] devem ser retornados para todos os tipos de observável. Valores válidos:
Tipo de dados: Booliano |
| included_fields.observable.common_fields.values | Lista de campos a serem retornados para todos os tipos de observáveis. Use este parâmetro somente se o valor de common_fields.include_all_fieldsfalso. Tipo de dados: Matriz de cadeias de caracteres Os campos fornecidos devem ser nomes de coluna da tabela Observable [sn_sec_tisc_observable]. |
| included_fields.reference | Campos a serem retornados para referências observáveis. Referências observáveis são referências externas usadas para descrever indicadores para informações representadas fora do STIX. Tipo de dados: Objeto Padrão: Retorna os campos reference_source, sys_id e url. |
| included_fields.reference.include_all_fields | Sinalizador que indica se todos os campos disponíveis para referências de observáveis devem ser retornados. Valores válidos:
Tipo de dados: Booliano |
| included_fields.reference.values | Lista de campos a serem retornados para referências de observáveis. Use este parâmetro somente se o valor de reference.include_all_fieldsfalso. Tipo de dados: Matriz de cadeias de caracteres Os campos fornecidos devem ser nomes de coluna da tabela Referência do observável [sn_sec_tisc_observable_reference]. |
| included_fields.<stix_object> | Objeto que contém campos a serem retornados para um tipo de objeto STIX. Tipo de dados: Objeto Substituir Tipos de objeto STIX válidos:
Padrão: Retorna o ID dos campos, o nome e o sys_id. |
| included_fields.<stix_object>.include_all_fields | Sinalizador que indica se todos os campos disponíveis devem ser retornados para o tipo de objeto STIX. Valores válidos:
Tipo de dados: Booliano |
| included_fields.<stix_object>.values | Lista de campos a serem retornados para o tipo de objeto STIX. Use este parâmetro somente se o valor de include_all_fieldsfalso. Tipo de dados: Matriz de cadeias de caracteres Os campos fornecidos devem ser column_names da tabela para o tipo de objeto STIX. As tabelas a seguir são usadas para objetos STIX.
|
| observable_filters | Filtros a serem aplicados aos observáveis. Somente observáveis que correspondem aos critérios de filtro são retornados na resposta. Tipo de dados: Objeto Objeto vazio (nenhum filtro aplicado) |
| observable_filters.boolian_operator | Operador booliano a ser usado para as condições de filtro. Valores válidos:
Tipo de dados: Cadeia de caracteres |
| observable_filters.filters | Filtros a serem aplicados aos observáveis. Cada objeto de filtro pode ser simples ou complexo.
Tipo de dados: Matriz de objetos |
| observable_filters.filters.field_name | Nome do campo a ser usado para filtrar os observáveis. Valores válidos:
Tipo de dados: Cadeia de caracteres |
| observable_filters.filters.operator | Operador a ser usado para o filtro. Para obter mais informações sobre operadores, consulte Operators available for filters and queries. O tipo de dados do campo de filtro determina os operadores válidos. Os operadores a seguir são válidos para cada tipo de dados.
Tipo de dados: Cadeia de caracteres |
| observable_filters.filters.field_value | Valor do campo. Para campos de opção, o valor deve ser o valor interno, não o valor de exibição. Para campos de data/hora, o valor deve estar no formato ISO no fuso horário UTC. Nota: Este parâmetro não é necessário ao usar os operadores ISEMPTY ou ISNOTEMPTY. Tipo de dados: Cadeia de caracteres |
| page_size | Limita o número de observáveis retornados na resposta da API. Usado para paginação. Tipo de dados: Cadeia de caracteres Padrão: 100 Valor máximo: 1000 |
| page_token | Usado para obter dados de observáveis para a página atual. Para obter a primeira página, este parâmetro pode ser omitido ou o valor desse parâmetro deve ser uma cadeia de caracteres vazia. Para obter a próxima página na solicitação a seguir, use next_page_tokenvalor do corpo da resposta como o valor deste parâmetro. Tipo de dados: Cadeia de caracteres Cadeia de caracteres vazia |
| relacionamentos | Tipos de relacionamento a serem retornados para cada observável na resposta. Os relacionamentos podem ser com outro observável, uma referência de observável ou um objeto Stix (Structured Threat Information Expression). Valores válidos:
Por exemplo, passando a matriz Tipo de dados: Matriz Matriz vazia (nenhum relacionamento retornado) |
Cabeçalhos
Os cabeçalhos de solicitação e resposta a seguir se aplicam somente a esta ação HTTP ou se aplicam a esta ação de maneira distinta. Para obter uma lista de cabeçalhos gerais usados na REST API, consulte Cabeçalhos de REST API compatíveis .
| Cabeçalho | Descrição |
|---|---|
| Aceitar | Formato de dados do corpo da resposta. Oferece suporte somente a application/json. |
| Tipo de conteúdo | Formato de dados do corpo da solicitação. Oferece suporte somente a application/json. |
| Cabeçalho | Descrição |
|---|---|
| Nenhum(a) |
Códigos de status
Os seguintes códigos de status se aplicam a esta ação HTTP. Para obter uma lista de possíveis códigos de status usados na REST API, consulte Códigos de resposta HTTP da REST API .
| Código do status | Descrição |
|---|---|
| 200 | Bem-sucedido. A solicitação foi processada com sucesso. |
| 400 | Solicitação incorreta. Os parâmetros da solicitação são inválidos ou o JSON do corpo da solicitação tem um erro sintático. Para exibir detalhes sobre o erro, consulte errorparâmetro no corpo da resposta. |
| 401 | Não autorizado. A autenticação do usuário é inválida. Verifique o nome de usuário e a senha ou o token OAuth. |
| 403 | Proibido. O usuário chamador não tem uma função necessária. A função sn_sec_tisc.api_obs_read_access é necessária para acessar este endpoint. |
| 429 | Excesso de solicitações. O número de solicitações de API excede o limite de taxa da API. Por padrão, o limite é de 500 solicitações por hora. |
| 500 | Erro interno do servidor. Verifique os logs da aplicação na tabela Log [syslog] para obter mais informações sobre o erro. |
Parâmetros do corpo da resposta (JSON)
| Nome | Descrição |
|---|---|
| erro | Informações de erro. Este parâmetro só será retornado se a solicitação falhar. Tipo de dados: Objeto |
| mensagem.erro | Mensagem de erro que contém o motivo da falha na solicitação. Tipo de dados: Cadeia de caracteres |
| error.detail | Detalhes adicionais sobre o motivo da falha da solicitação. Tipo de dados: Cadeia de caracteres |
| _last_page | Sinalizador que indica se esta é a última página de dados de observáveis. Valores válidos:
Tipo de dados: Booliano |
| next_page_token | Use este valor na próxima solicitação de API para obter a próxima página de dados de observáveis. Forneça este valor em page_tokenparâmetro no corpo da solicitação. Tipo de dados: Cadeia de caracteres |
| observáveis | Objetos observáveis. Tipo de dados: Matriz de objetos Cada objeto observáveis também inclui os campos especificados pelo included_fields.observable.common_fieldsparâmetro no corpo da solicitação. |
| observáveis.atributos | Pares nome-valor para os campos especificados pelo included_fields.observable.attributes.<observable_type>parâmetro no corpo da solicitação. Tipo de dados: Objeto |
| observables.relacionamentos | Relacionamentos para o observável. Os tipos de relacionamentos retornados são especificados pelo relationshipso parâmetro no corpo da solicitação e os campos retornados para cada relacionamento são especificados pelo included_fieldsparâmetro no corpo da solicitação. Este exemplo mostra a estrutura básica deste parâmetro. No entanto, os tipos de relacionamento e os campos retornados variam com base nos parâmetros do corpo da solicitação. Tipo de dados: Objeto |
| observables.sys_id | Sys_id do observável. Tipo de dados: Cadeia de caracteres Tabela: Observável [sn_sec_tisc_observable] |
| observables.type | Tipo de observável. Para obter uma lista completa de tipos de observáveis válidos, consulte Valor Campo na tabela Tipo de observável [sn_sec_tisc_observable_type]. Tipo de dados: Cadeia de caracteres |
| observáveis.valor | Valor associado ao observável, como um endereço IP ou URL. Tipo de dados: Cadeia de caracteres |
| origem | Aplicação de origem da resposta, que é Central de segurança de inteligência contra ameaças( TISC). O valor deste parâmetro é sn_sec_tisc .Opcionalmente, este valor pode ser usado por SIEMs que consomem a resposta da API para rastrear se a inteligência de TISC resultou na criação de incidentes de segurança. Tipo de dados: Cadeia de caracteres |
| page_size | Número máximo de observáveis retornados na resposta. Usado para paginação. Tipo de dados: Cadeia de caracteres |
| status | Status da solicitação de API. Valores possíveis:
Se a solicitação falhar, consulte errorparâmetro no corpo da resposta para obter mais informações sobre o erro. Tipo de dados: Cadeia de caracteres |
Solicitação de curl
Este exemplo retorna a primeira página de dados de observáveis. . observable_filterso parâmetro especifica para retornar somente observáveis que correspondam à condição Ativo E [threat_score > 70 OU confiança > 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"
}
]
}
]
}
}'
Corpo da resposta.
{
"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"
}