API do TISC
A TISC API fornece endpoints para adicionar e recuperar dados de inteligência contra ameaças na aplicação 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 de gestão de eventos de informações de segurança (SIEM). Os sistemas SIEM podem se integrar com 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.
Essa API também pode ser usada para aprimorar 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 poderá 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 a aplicação Central de segurança de inteligência contra ameaças, que está disponível no ServiceNow Store.
Esta API é executada no namespace sn_sec_tisc.
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.
API do TISC - POST /sn_sec_tisc/threat_intel_data/add_observables
Adiciona registros de origem de observável à aplicação Central de segurança de inteligência contra ameaças (TISC).
Os 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 meio de desduplicação e agregação no fluxo de dados de 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 de Inteligência contra ameaças (sn_sec_tisc.admin).
Formato da URL
URL com controle de versões: /api/sn_sec_tisc/{api_version}/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 acessada. Por exemplo, v1 ou v2. Somente especifique este valor 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 a TISC. Para cada objeto observável, um registro de origem de observável será criado se todas as validações forem aprovadas, com a origem definida pelo parâmetro source 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 para um tipo de observável, como o número AS de um endereço IP ou o tipo de soquete de uma rede. Todos os atributos de todos os tipos de observável são compatíveis. Para obter uma lista completa de atributos válidos, consulte a seção Atributos do observável abaixo. Tipo de dados: objeto |
| observáveis.<field> | Pares de 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ável. Os campos type e value são necessá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] |
| Fonte | 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 de 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 códigos de status possíveis usados na REST API, consulte Códigos de resposta HTTP de 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 o parâmetro error 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 de chamada 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 do 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 |
| erro.detalhe | Detalhes adicionais sobre o motivo da falha da solicitação. Tipo de dados: cadeia de caracteres |
| erros_registros | Detalhes sobre os observáveis incluídos na solicitação que não puderam ser adicionados a TISC. Tipo de dados: matriz de objetos |
| error_records.error_message | Mensagem de erro que explica por que não foi possível criar um registro 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ável válidos, consulte o campo Valor na tabela Tipo de observável [sn_sec_tisc_observable_type] ou a seção Atributos de 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 |
| metadados.erro_registros | Número de observáveis incluídos na solicitação que não puderam ser adicionados a TISC. Tipo de dados: número |
| metadados.registros_de_sucesso | Número de registros de observáveis que foram criados com sucesso em TISC. Tipo de dados: número |
| metadados.total_registros | 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 |
| registros_sucesso | Detalhes sobre os registros de observáveis que foram criados com sucesso. Tipo de dados: matriz de objetos |
| registros_sucesso.sys_id | Sys_id do registro do observável. Tipo de dados: cadeia de caracteres |
| registros_sucesso.tipo | Tipo de observável. Para obter uma lista completa de tipos de observável válidos, consulte o campo Valor na tabela Tipo de observável [sn_sec_tisc_observable_type] ou a seção Atributos de observável abaixo. Tipo de dados: cadeia de caracteres |
| registros_sucesso.valor | Valor associado ao observável, como um endereço IP ou URL. Tipo de dados: cadeia de caracteres |
Atributos de observável
| Tipo de observável | Atributos | Tipo de dados |
|---|---|---|
| artefato | descriptografia_chave | 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 | |
| autônomo_número_do_sistema | nome | Cadeia de caracteres |
| ria | Cadeia de caracteres | |
| diretório | directory_creation_time | Data |
| diretório_last_accessed_time | Data | |
| directory_last_modified_time | Data | |
| codificado_caminho | Cadeia de caracteres | |
| domain_name | is_fqdn (Nome de domínio totalmente qualificado) |
Booliano |
| resolve_to | Cadeia de caracteres | |
| email_address | display_name | Cadeia de caracteres |
| mensagem_e-mail | email_body | Cadeia de caracteres |
| e-mail_recipients_cco | Cadeia de caracteres | |
| e-mail_recipients_cc | Cadeia de caracteres | |
| e-mail_recipients_to | Cadeia de caracteres | |
| e-mail_remetente | Cadeia de caracteres | |
| email_subject | Cadeia de caracteres | |
| data_envio | Data | |
| email_subject | Nenhum(a) | |
| arquivo | encoded_file_name | Cadeia de caracteres |
| arquivo_criado_hora | Data | |
| file_last_accessed_time | Data | |
| file_last_modified_time | Data | |
| file_name | Cadeia de caracteres | |
| número_mágico | 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 | |
| endereço_ip_v4 | como_número | Cadeia de caracteres |
| mac_address | Cadeia de caracteres | |
| ip_v4_cidr | como_número | Cadeia de caracteres |
| mac_address | Cadeia de caracteres | |
| endereço_ip_v6 | como_número | Cadeia de caracteres |
| mac_address | Cadeia de caracteres | |
| ip_v6_cidr | como_número | Cadeia de caracteres |
| mac_address | Cadeia de caracteres | |
| mac_address | Nenhum(a) | |
| md5_hash | Nenhum(a) | |
| mutex_name | Nenhum(a) | |
| rede | conta_bytes_de_destino | Números inteiros |
| conta_de_pacotes_de_destino | Números inteiros | |
| destino_porta | ||
| end_time | Data | |
| http_message_body_length | Números inteiros | |
| http_cabeçalho_de_request | Cadeia de caracteres | |
| http_request_method | Cadeia de caracteres | |
| http_request_value | Cadeia de caracteres | |
| http_request_version | Cadeia de caracteres | |
| rede_origem | Cadeia de caracteres | |
| network_destination | Cadeia de caracteres | |
| icmp_code_byte | Cadeia de caracteres | |
| icmp_type_byte | Cadeia de caracteres | |
| is_network_active | Booliano | |
| is_socket_blocking | Booliano | |
| is_socket_listening | Booliano | |
| protocolos_de_rede | Cadeia de caracteres | |
| soquete_endereço_família | Cadeia de caracteres Valores possíveis:
|
|
| descritor_de_soquete | Números inteiros | |
| socket_handle | Números inteiros | |
| opções_de_soquete | Cadeia de caracteres | |
| soquete_tipo | Cadeia de caracteres Valores possíveis:
|
|
| source_bytes_count | Números inteiros | |
| source_packets_count | Números inteiros | |
| 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 | |
| proprietário_sid | Cadeia de caracteres | |
| PID (ID do processo) |
Cadeia de caracteres | |
| prioridade | Cadeia de caracteres | |
| process_created_time | Data | |
| descrições_de_serviço | 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:
|
|
| status_do_serviço | Cadeia de caracteres Valores possíveis:
|
|
| service_type | Cadeia de caracteres Valores possíveis:
|
|
| informações_início | Cadeia de caracteres | |
| Windows_integridade_nível | 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 |
| idiomas_suportados | Cadeia de caracteres | |
| swid (Identificação de software) |
Cadeia de caracteres | |
| fornecedor | Cadeia de caracteres | |
| versão | Cadeia de caracteres | |
| URL | Nenhum(a) | |
| conta_de_usuário | account_created_time | Data |
| account_expiry_time | Data | |
| account_type | Cadeia de caracteres | |
| can_escalate_privileges | Booliano | |
| credenciais_última_mudança_hora | Data | |
| display_name | Cadeia de caracteres | |
| first_login_time | Data | |
| is_account_disabled | Booliano | |
| é_privilegiado | Booliano | |
| é_conta_de_serviço | Booliano | |
| last_login_time | Data | |
| login_conta | Cadeia de caracteres | |
| user_id | Cadeia de caracteres | |
| janelas_registro_chave | key_modified_time | Data |
| registro_valor | Cadeia de caracteres | |
| subkeys_count | Números inteiros | |
| x509_certificate | autoridade_identificador_chave | Cadeia de caracteres |
| basic_constraints | Cadeia de caracteres | |
| certificate_policies | Cadeia de caracteres | |
| crl_distribution_points | Cadeia de caracteres | |
| uso_extensão_chave | Cadeia de caracteres | |
| inibir_qualquer_política | Cadeia de caracteres | |
| emissor | Cadeia de caracteres | |
| emissor_alternativo_nome | Cadeia de caracteres | |
| is_self_signed | Booliano | |
| uso_chave | Cadeia de caracteres | |
| name_constraints | Cadeia de caracteres | |
| policy_constraints | Cadeia de caracteres | |
| policy_mappings | Cadeia de caracteres | |
| private_key_usage_valid_de | Data | |
| private_key_usage_valid_until | Data | |
| signature_algorithm | Cadeia de caracteres | |
| assunto | Cadeia de caracteres | |
| assunto_nome_alternativo | 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_exponent | Números inteiros | |
| subject_public_key_modus | Cadeia de caracteres | |
| valid_from | Data | |
| válido_até | 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"
}
]
}
API do 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 de Expressão de informações de ameaças estruturadas (STIX).
Os observáveis retornados na resposta são classificados por sys_id em 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 de Inteligência contra ameaças (sn_sec_tisc.admin).
Formato da URL
URL com controle de versões: /api/sn_sec_tisc/{api_version}/threat_intel_data/observables
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 acessada. Por exemplo, v1 ou v2. Somente especifique este valor 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 |
|---|---|
| Incluídos_campos | 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 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.observável | 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. |
| include_fields.observable.attributes | Campos a serem retornados para os tipos de observável especificados. Tipo de dados: objeto Padrão: nenhum campo específico para um tipo de observável é retornado. Somente os campos syd_id, tipo e valor são retornados. |
| include_fields.observable.attributes.<observable_type> | Campos a serem retornados para um tipo de observável. Tipo de dados: objeto Substituir<observable_type> com o nome do tipo de observável, como |
| include_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 |
| include_fields.observable.attributes.<observable_type> .valores | Lista de campos a serem retornados para o tipo de observável. Use este parâmetro somente se o valor de include_all_fields for falso. 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ável.
|
| Included_fields.observable.common_fields | Campos a serem retornados para todos os tipos de observável. Os campos devem ser da tabela Observável [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. |
| Include_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ável. Use este parâmetro somente se o valor de common_fields.include_all_fields for falso. Tipo de dados: matriz de cadeias de caracteres Os campos fornecidos devem ser nomes de coluna da tabela Observável [sn_sec_tisc_observable]. |
| Incluído_campos.referência | Campos a serem retornados para referências de observável. Referências observáveis são referências externas usadas para descrever ponteiros para informações representadas fora do STIX. Tipo de dados: objeto Padrão: retorna os campos reference_source, sys_id e URL. |
| include_fields.reference.include_all_fields | Sinalizador que indica se todos os campos disponíveis devem ser retornados para referências observáveis. Valores válidos:
Tipo de dados: booliano |
| Incluído_campos.referência.valores | Lista de campos a serem retornados para referências de observáveis. Use este parâmetro somente se o valor de reference.include_all_fields for falso. Tipo de dados: matriz de cadeias de caracteres Os campos fornecidos devem ser nomes de coluna da tabela Referência de 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<stix_object> com o nome do tipo de objeto STIX, como Tipos de objeto STIX válidos:
Padrão: retorna os campos id, name e 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> .valores | Lista de campos a serem retornados para o tipo de objeto STIX. Use este parâmetro somente se o valor de include_all_fields for falso. 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.
|
| observável_filtros | 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 Padrão: objeto vazio (nenhum filtro aplicado) |
| observável_filtros.booliano_operador | Operador booliano a ser usado para as condições do filtro. Valores válidos:
Tipo de dados: cadeia de caracteres |
| observável_filtros.filtros | Filtros a serem aplicados aos observáveis. Cada objeto de filtro pode ser simples ou complexo.
Tipo de dados: matriz de objetos |
| observável_filtros.filtros.nome_do_campo | Nome do campo a ser usado para filtrar os observáveis. Valores válidos:
Tipo de dados: cadeia de caracteres |
| observável_filtros.filtros.operador | 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 seguintes operadores são válidos para cada tipo de dados.
Tipo de dados: cadeia de caracteres |
| observável_filtros.filtros.valor_do_campo | 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 e 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 que são 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 deste parâmetro deve ser uma cadeia de caracteres vazia. Para obter a próxima página na solicitação a seguir, use o valor next_page_token do corpo da resposta como o valor deste parâmetro. Tipo de dados: cadeia de caracteres Padrão: 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 de Expressão de informações de ameaça estruturada (STIX). Valores válidos:
Por exemplo, passar a matriz Tipo de dados: matriz Padrão: 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 códigos de status possíveis usados na REST API, consulte Códigos de resposta HTTP de 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 o parâmetro error 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 de chamada 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 do 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 |
| erro.detalhe | Detalhes adicionais sobre o motivo da falha da solicitação. Tipo de dados: cadeia de caracteres |
| é_última_página | 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 no parâmetro page_token no corpo da solicitação. Tipo de dados: cadeia de caracteres |
| observáveis | Objetos observáveis. Tipo de dados: matriz de objetos Cada objeto de observáveis também inclui os campos especificados pelo parâmetro included_fields.observable.common_fields no corpo da solicitação. |
| observáveis.atributos | Pares de nome-valor para os campos especificados pelo parâmetro included_fields.observable.attributes.<observable_type> no corpo da solicitação. Tipo de dados: objeto |
| observáveis.relacionamentos | Relacionamentos para o observável. Os tipos de relacionamentos retornados são especificados pelo parâmetro relationships no corpo da solicitação e os campos retornados para cada relacionamento são especificados pelo parâmetro included_fields 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 de acordo com os parâmetros do corpo da solicitação. Tipo de dados: objeto |
| observáveis.sys_id | Sys_id do observável. Tipo de dados: cadeia de caracteres Tabela: observável [sn_sec_tisc_observable] |
| observáveis.tipo | Tipo de observável. Para obter uma lista completa de tipos de observável válidos, consulte o campo Valor 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, esse 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 falhou, consulte o parâmetro error 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. O parâmetro observable_filters especifica para retornar somente observáveis que correspondam ao status da 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"
}