API do TISC

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 25 min. de leitura
  • 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.

    Nota:
    Os registros de origem do observável não podem ser atualizados diretamente usando este endpoint. Somente novos registros podem ser criados. Portanto, mesmo que apenas alguns campos precisem de atualização, todos os campos ainda deverão ser incluídos na solicitação.

    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

    Nota:
    As versões disponíveis são especificadas no Explorador de REST API. Para REST APIs com script, há informações adicionais sobre a versão no formulário Serviço REST com script.

    Parâmetros de solicitação compatíveis

    Tabela 1. Parâmetros de caminho
    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

    Tabela 2. Parâmetros de consulta
    Nome Descrição
    Nenhum(a)
    Tabela 3. Parâmetros do corpo da solicitação (JSON)
    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

    "observables": [
       {
          "attributes": {Object},
          "<field>": "String"
       }
    ]
    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

    "attributes": {
       "<field>": "<value>"
    }
    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:
    • Todas as datas devem estar no formato ISO no fuso horário UTC.
    • Alguns campos exigem valores de uma tabela especificada ou têm uma lista de valores possíveis. Se valores inválidos forem fornecidos para esses campos, o registro de origem do observável ainda será criado, mas os valores inválidos serão ignorados.

    Campos válidos:

    adicional_context
    Contexto adicional sobre o observável.
    fases_ataque
    Lista de nomes de fases de ataque como um valor separado por vírgula. Para obter uma lista completa de fases de ataque válidas, consulte o campo Nome da fase da cadeia de eliminação na tabela Fase da cadeia de eliminação [sn_sec_tisc_kill_chain_phase].
    Por exemplo:
    "attack_phases": "Lockheed Martin: Reconnaissance,Lockheed Martin: Installation"
    autor
    Autor do observável.
    confiança
    A confiança que o sistema de origem tem na exatidão dos dados do observável. Deve ser um número de 0 a 100.
    descrição
    Descrição do observável.
    expiração_hora
    Data de vencimento do registro do observável.
    external_source_id
    ID externo do observável do sistema de origem.
    first_observed
    Data em que os dados foram vistos pela primeira vez.
    first_seen
    Data em que este observável foi visto pela primeira vez executando atividades mal-intencionadas.
    last_observed
    Data em que os dados foram vistos pela última vez.
    last_seen
    Data em que este observável foi visto pela última vez executando atividades mal-intencionadas.
    anotações
    Quaisquer anotações adicionais para o observável. Pode ser formatado como HTML.
    reputação
    Reputação do observável.
    Valores possíveis:
    • limpar
    • malicioso
    • suspeito
    • desconhecido
    pontuação_relatada_de_origem
    Pontuação de mal-intencionado do observável relatado pelo sistema de origem. Deve ser um número de 0 a 100.
    marcadores
    Lista de marcadores como um valor separado por vírgula. Para obter uma lista completa de marcadores válidos, consulte o campo Nome na tabela Marcador [sn_sec_tisc_tag]. Se o marcador fornecido não existir, o marcador será criado automaticamente e associado ao observável.
    taxonomias
    Lista de taxonomias como um valor separado por vírgula. Para obter uma lista completa de taxonomias válidas, consulte o campo Valor de taxonomia na tabela Valor de taxonomia [sn_sec_tisc_taxonomy_value].
    nível_de_ameaça
    Nível de ameaça do observável.
    Valores possíveis:
    • baixo
    • médio(a)
    • alto(a)
    ameaça_severidade
    Severidade da ameaça do observável.
    Valores possíveis:
    • baixo
    • médio(a)
    • alto(a)
    • crítico
    TLP
    Nível de confidencialidade de dados para o observável usando o protocolo de semáforo (TLP).
    Valores possíveis:
    • LIMPAR
    • VERDE
    • ÂMBAR
    • ÂMBAR+ESTRITO
    • VERMELHO
    Tabela: no campo Rótulo na tabela Rótulo TLP [sn_sec_tisc_tlp_label].
    tipo
    Obrigatório. 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.

    uso_categorias
    Lista de categorias de uso como um valor separado por vírgulas. Para obter uma lista completa de categorias de uso válidas, consulte o campo Categoria de uso na tabela Categoria de uso [sn_sec_tisc_usage_category].
    valor
    Obrigatório. Valor associado ao observável, como um endereço IP ou URL.

    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.

    Tabela 4. Cabeçalhos da solicitação
    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.
    Tabela 5. Cabeçalhos de resposta
    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.

    Tabela 6. Códigos de status
    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

    "error": {
       "message": "String",
       "detail": "String"
    }
    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": "String",
        "type": "String",
        "value": "String"
      }
    ]
    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.
    "metadata": {
      "error_records": Number,
      "success_records": Number,
      "total_records": Number
    }

    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:
    • erro: nenhum observável foi adicionado com sucesso a TISC.
    • falha: a solicitação falhou devido a uma solicitação incorreta ou a um erro do sistema. Consulte o parâmetro error no corpo da resposta para obter mais informações sobre o erro.
    • parcial_success: alguns observáveis adicionados com sucesso a TISC.
    • sucesso: todos os observáveis adicionados com sucesso a TISC.

    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

    "success_records": [
      {
        "sys_id": "String",
        "type": "String",
        "value": "String"
      }
    ]
    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

    A tabela a seguir lista atributos válidos para cada tipo de observável.
    Nota:
    Todas as datas devem estar no formato ISO no fuso horário UTC.
    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:
    • af_unspec
    • af_inet
    • af_ipx
    • af_appletalk
    • af_netbios
    • af_inet6
    • af_irda
    • af_bth
    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:
    • driver_kernel_de_serviço
    • service_file_system_driver
    • service_win32_own_process
    • service_win32_share_process
    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:
    • serviço_início_automático
    • service_boot_start
    • serviço_demanda_início
    • serviço_desabilitado
    • alerta_do_sistema_serviço
    status_do_serviço Cadeia de caracteres
    Valores possíveis:
    • service_continue_pendente
    • serviço_pausa_pendente
    • serviço_pausado
    • serviço_em execução
    • service_start_pendente
    • service_stop_pendente
    • serviço_parado
    service_type Cadeia de caracteres
    Valores possíveis:
    • driver_kernel_de_serviço
    • service_file_system_driver
    • service_win32_own_process
    • service_win32_share_process
    informações_início Cadeia de caracteres
    Windows_integridade_nível Cadeia de caracteres
    Valores possíveis:
    • baixo
    • médio(a)
    • alto(a)
    • sistema
    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

    Nota:
    As versões disponíveis são especificadas no Explorador de REST API. Para REST APIs com script, há informações adicionais sobre a versão no formulário Serviço REST com script.

    Parâmetros de solicitação compatíveis

    Tabela 7. Parâmetros de caminho
    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

    Tabela 8. Parâmetros de consulta
    Nome Descrição
    Nenhum(a)
    Tabela 9. Parâmetros do corpo da solicitação (JSON)
    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": { 
       "observable": {Object},
       "reference": {Object},
       "<stix_object>": {Object}
    } 
    Included_fields.observável Campos a serem retornados para observáveis.

    Tipo de dados: objeto

    "observable": { 
       "attributes": {Object},
       "common_fields": {Object}
    }

    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

    "attributes": { 
       "<observable_type>": {Object}
    }

    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

    "<observable_type>": { 
       "include_all_fields": Boolean, 
       "values": [Array] 
    }

    Substituir<observable_type> com o nome do tipo de observável, como artefato . 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].

    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:
    • verdadeiro: retorna todos os campos do tipo de observável.
    • falso: retorna somente campos especificados no parâmetro values para o tipo de observável.

    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

    "values": [
       "String"
    ]
    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.
    • Artefato [sn_sec_tisc_artifact]
    • Número do AS [sn_sec_tisc_as_number]
    • Diretório [sn_sec_tisc_directory]
    • Nome do domínio [sn_sec_tisc_domain_name]
    • Endereço de e-mail [sn_sec_tisc_email_address]
    • Mensagem de e-mail [sn_sec_tisc_email_message]
    • Assunto do e-mail [sn_sec_tisc_email_subject]
    • Arquivo [sn_sec_tisc_file]
    • IPv4 [Endereço sn_sec_tisc_ipv4_address]
    • CIDR de IPv4 [sn_sec_tisc_ipv4_cidr]
    • Endereço IPv6 [sn_sec_tisc_ipv6_address]
    • CIDR de IPv6 [sn_sec_tisc_ipv6_cidr]
    • Endereço MAC [sn_sec_tisc_mac_address]
    • Hash MD5 [sn_sec_tisc_md5_hash]
    • Nome do Mutex [sn_sec_tisc_mutex_name]
    • Rede [sn_sec_tisc_network]
    • Outro observável [sn_sec_tisc_other_observable]
    • Processo [sn_sec_tisc_process]
    • Hash SHA1 [sn_sec_tisc_sha1_hash]
    • Hash SHA256 [sn_sec_tisc_sha256_hash]
    • Hash SHA512 [sn_sec_tisc_sha512_hash]
    • Software [sn_sec_tisc_software]
    • URL [sn_sec_tisc_url]
    • Conta de usuário [sn_sec_tisc_user_account]
    • Chave de Registro do Windows [sn_sec_tisc_windows_registry_key]
    • Certificado X.509 [sn_sec_tisc_x_509_certificate]
    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

    "common_fields": { 
       "include_all_fields": Boolean, 
       "values": [Array] 
    }

    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:
    • verdadeiro: retorna todos os campos da tabela Observável [sn_sec_tisc_observable].
    • falso: retorna somente campos especificados no parâmetro common_fields.values.

    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

    "values": [
       "String"
    ]

    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

    "reference": { 
       "include_all_fields": Boolean, 
       "values": [Array] 
    }

    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:
    • verdadeiro: retorna todos os campos para referências de observável.
    • falso: retorna somente campos especificados no parâmetro reference.values.

    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

    "values": [
       "String"
    ]

    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

    "<stix_object>": { 
      "include_all_fields": Boolean, 
      "values": [Array] 
    }

    Substituir<stix_object> com o nome do tipo de objeto STIX, como ataque_pattern .

    Tipos de objeto STIX válidos:
    • ataque_padrão
    • campanha
    • curso_de_ação
    • data_component
    • data_source
    • agrupamento
    • identidade
    • incidente
    • indicador
    • infraestrutura
    • conjunto_intrusão
    • local
    • malware
    • análise_malware
    • anotação
    • dados_observados
    • opinião
    • relatório
    • ameaça_ator
    • ferramenta
    • vulnerabilidade

    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:
    • verdadeiro: retorna todos os campos do tipo de objeto STIX.
    • falso: retorna somente campos especificados no parâmetro values para o tipo de objeto STIX.

    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

    "values": [
       "String"
    ]
    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.
    • Padrão de ataque [sn_sec_tisc_attack_pattern]
    • Campanha [sn_sec_tisc_campaign]
    • Linha de ação [sn_sec_tisc_course_of_action]
    • Componente de dados [sn_sec_tisc_aggregated_data_component]
    • Fonte de dados [sn_sec_tisc_aggregated_data_source]
    • Agrupamento [sn_sec_tisc_threat_grouping]
    • Identidade [sn_sec_tisc_identity]
    • Incidente [sn_sec_tisc_threat_event]
    • Indicador [sn_sec_tisc_indicator]
    • Infraestrutura [sn_sec_tisc_infrastructure]
    • Conjunto de intrusão [sn_sec_tisc_intrusion_set]
    • Local [sn_sec_tisc_location]
    • Malware [sn_sec_tisc_malware]
    • Análise de malware [sn_sec_tisc_malware_analysis]
    • Anotação [sn_sec_tisc_threat_note]
    • Dados observados [sn_sec_tisc_observed_data]
    • Opinião [sn_sec_tisc_threat_opinion]
    • Relatório [sn_sec_tisc_threat_report]
    • Ator da ameaça [sn_sec_tisc_threat_actor]
    • Ferramenta [sn_sec_tisc_tool]
    • Vulnerabilidade [sn_sec_tisc_vulnerability]
    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

    "observable_filters": {
       "boolean_operator": "String", 
       "filters": [Array]
    }

    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:
    • E: retorna observáveis que atendem a todas as condições do filtro.
    • OU: retorna observáveis que atendem a pelo menos uma das condições do filtro.

    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.
    • Filtros simples contêm um nome de campo, operador e valor.
    • Os filtros complexos contêm um operador booliano e uma matriz de filtros simples. O operador booliano é aplicado à matriz de filtros simples.

    Tipo de dados: matriz de objetos

    "filters": [ 
       //Simple filter 
       { 
          "field_name": "String", 
          "operator": "String", 
          "field_value": "String" 
       }, 
       //Complex filter 
       {
          "boolean_operator": "String", 
          "filters": [
             {
    	     "field_name": "String",
    	     "operator": "String",
    	     "field_value": "String"
             }  
          ]
       }
    ]
    observável_filtros.filtros.nome_do_campo Nome do campo a ser usado para filtrar os observáveis.
    Valores válidos:
    • confiança
    • reputação
    • security_type
    • status
    • sys_created_on
    • sys_updated_on
    • pontuação_ameaça
    • tipo
    • valor
    • watch_list

    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.

    Booliano

    Campo aplicável: watch_list

    • !=
    • =
    • ISEMPTY
    • ISNOTEMPTY
    Escolha

    Campos aplicáveis: reputação, security_type, status

    • !=
    • =
    • TERMINACOM
    • IN
    • CURTIR
    • NÃO EM
    • NÃO GOSTOU
    • COMEÇA COM
    Data/Hora

    Campo aplicável: sys_created_on

    • <
    • <=
    • >
    • >=
    • ISEMPTY
    • ISNOTEMPTY
    • NÃO
    • LIGADO
    Número

    Campos aplicáveis: confiança, Threat_Score

    • !=
    • <=
    • =
    • >=
    • ISEMPTY
    • ISNOTEMPTY
    Referência

    Campo aplicável: tipo

    • !=
    • =
    • IN
    • ISEMPTY
    • ISNOTEMPTY
    Cadeia de caracteres

    Campo aplicável: valor

    • !=
    • <=
    • =
    • >=
    • TERMINACOM
    • IN
    • ISEMPTY
    • ISNOTEMPTY
    • CURTIR
    • NÃO GOSTOU
    • COMEÇA COM

    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:
    • ataque_padrão
    • campanha
    • curso_de_ação
    • data_component
    • data_source
    • agrupamento
    • identidade
    • incidente
    • indicador
    • infraestrutura
    • conjunto_intrusão
    • local
    • malware
    • análise_malware
    • anotação
    • observável
    • dados_observados
    • opinião
    • referência
    • relatório
    • ameaça_ator
    • ferramenta
    • vulnerabilidade

    Por exemplo, passar a matriz ["observable", "threat_actor"] retorna todos os observáveis e agentes de ameaça relacionados a cada observável na resposta.

    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.

    Tabela 10. Cabeçalhos da solicitação
    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.
    Tabela 11. Cabeçalhos de resposta
    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.

    Tabela 12. Códigos de status
    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

    "error": {
       "message": "String",
       "detail": "String"
    }
    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:
    • verdadeiro: esta resposta contém a última página de dados.
    • falso: há páginas adicionais que podem ser retornadas.

    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

    "observables": [
      {
        "attributes": {Object},
        "relationships": {Object},
        "sys_id": "String",
        "type": "String",
        "value": "String"
      }
    ]
    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

    "attributes": {
       "<field>": "<value>"
    }
    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

    "relationships": {
       "observable": [
          {
             "sys_id": "String",
             "type": "String",
             "value": "String"
          }
       ],
       "indicator": [
          {
             "id": "String",
             "name": "String",
             "sys_id": "String"
          }
       ],
       "attack_pattern": [
          {
             "id": "String",
             "name": "String",
             "sys_id": "String"
          }
       ]
    }
    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:
    • falha
    • êxito

    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"
    }