Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2024-09-14 GMT+08:00

Consulta da lista de arquivos isolados

Função

Esta API é usada para consultar a lista de arquivos isolados.

Método de chamada

Para obter detalhes, consulte Chamada de APIs.

URI

GET /v5/{project_id}/event/isolated-file

Tabela 1 Parâmetros de caminho

Parâmetro

Obrigatório

Tipo

Descrição

project_id

Sim

String

ID do projeto

Mínimo: 20

Máximo: 64

Tabela 2 Parâmetros de consulta

Parâmetro

Obrigatório

Tipo

Descrição

enterprise_project_id

Não

String

ID do projeto empresarial. Para consultar todos os projetos empresariais, defina este parâmetro como all_granted_eps.

Mínimo: 0

Máximo: 64

file_path

Não

String

Caminho do arquivo

host_name

Não

String

Nome de servidor

Mínimo: 1

Máximo: 64

private_ip

Não

String

Endereço IP privado de servidor

Mínimo: 1

Máximo: 256

public_ip

Não

String

Endereço IP público do servidor

Mínimo: 1

Máximo: 256

file_hash

Não

String

O valor de hash calculado usando o algoritmo SHA256.

asset_value

Não

String

Importância de ativo. As opções são as seguintes:

  • important

  • common

  • test

Mínimo: 0

Máximo: 128

offset

Não

Integer

Deslocamento, que especifica a posição inicial do registro a ser retornado. O valor deve ser um número.

Mínimo: 0

Máximo: 2000000

Padrão: 0

limit

Não

Integer

Número de registros exibidos em cada página.

Mínimo: 10

Máximo: 1000

Padrão: 10

Parâmetros de solicitação

Tabela 3 Parâmetros de cabeçalho de solicitação

Parâmetro

Obrigatório

Tipo

Descrição

X-Auth-Token

Sim

String

Token do usuário. Ele pode ser obtido chamando a API do IAM usada para obter um token de usuário. O valor de X-Subject-Token no cabeçalho da resposta é um token.

Mínimo: 1

Máximo: 32768

region

Sim

String

ID da região

Mínimo: 0

Máximo: 128

Parâmetros de resposta

Código de status: 200

Tabela 4 Parâmetros do corpo de resposta

Parâmetro

Tipo

Descrição

total_num

Integer

Número total

data_list

Array of IsolatedFileResponseInfo objects

Detalhes do arquivo isolado

Comprimento da matriz: 0–100

Tabela 5 IsolatedFileResponseInfo

Parâmetro

Tipo

Descrição

os_type

String

Tipo de SO. Seu valor pode ser:

  • Linux

  • Windows

host_id

String

ID do host

host_name

String

Nome de servidor

file_hash

String

Hash de arquivo

file_path

String

Caminho do arquivo

file_attr

String

Atributo de arquivo

isolation_status

String

Status de isolamento. As opções são as seguintes:

  • isolated

  • restored

  • isolating

  • restoring

private_ip

String

Endereço IP privado de servidor

public_ip

String

Endereço IP elástico

asset_value

String

Importância dos ativos

update_time

Integer

Hora em que a lista branca de eventos é atualizada, em milissegundos.

agent_version

String

Versão do agente

isolate_source

String

Fonte de isolamento. As opções são as seguintes:

  • event: evento de alarme de segurança

  • antivirus: verificação e remoção de vírus

event_name

String

Nome do evento

agent_event_info

IsolateEventResponseInfo object

Detalhes do evento de isolamento

antivirus_result_info

AntivirusResultDetailInfo object

Resultados da verificação e remoção de vírus

Tabela 6 IsolateEventResponseInfo

Parâmetro

Tipo

Descrição

event_id

String

ID do evento

event_class_id

String

Categoria do evento. Seu valor pode ser:

  • container_1001: namespace do container

  • container_1002: porta aberta do container

  • container_1003: opção de segurança de container

  • container_1004: diretório de montagem do container

  • containerescape_0001: chamada de sistema de alto risco

  • containerescape_0002: ataque de Shocker

  • containerescape_0003: ataque de Dirty Cow

  • containerescape_0004: escape do arquivo do container

  • dockerfile_001: modificação do arquivo de container protegido definido pelo usuário

  • dockerfile_002: modificação de arquivos executáveis no sistema de arquivos de container

  • dockerproc_001: processo de container anormal

  • fileprotect_0001: escalonamento de privilégio de arquivo

  • fileprotect_0002: alteração do arquivo de chave

  • fileprotect_0003: alteração do caminho do AuthorizedKeysFile

  • fileprotect_0004: alteração do diretório de arquivos

  • login_0001: tentativa de ataque de força bruta

  • login_0002: ataque de força bruta foi bem-sucedido

  • login_1001: logon bem-sucedido

  • login_1002: logon remoto

  • login_1003: senha fraca

  • malware_0001: mudança de shell

  • malware_0002: shell reverso

  • malware_1001: programa malicioso

  • procdet_0001: comportamento anormal do processo

  • procdet_0002: escalonamento de privilégio do processo

  • procreport_0001: comando de alto risco

  • user_1001: alteração de conta

  • user_1002: conta insegura

  • vmescape_0001: comando sensível executado na VM

  • vmescape_0002: arquivo sensível acessado pelo processo de virtualização

  • vmescape_0003: acesso anormal à porta de VM

  • webshell_0001: web shell

  • network_1001: mineração

  • network_1002: ataques DDoS

  • network_1003: verificação maliciosa

  • network_1004: ataque em áreas sensíveis

  • ransomware_0001: ataque de ransomware

  • ransomware_0002: ataque de ransomware

  • ransomware_0003: ataque de ransomware

  • fileless_0001: injeção de processo

  • fileless_0002: injeção de biblioteca dinâmica

  • fileless_0003: alteração na configuração da chave

  • fileless_0004: alteração na variável de ambiente

  • fileless_0005: processo de arquivo de memória

  • fileless_0006: sequestro de VDSO

  • crontab_1001: tarefa crontab suspeita

  • vul_exploit_0001: exploração da vulnerabilidade do Redis

  • vul_exploit_0002: exploração da vulnerabilidade de Hadoop

  • vul_exploit_0003: exploração da vulnerabilidade de MySQL

  • rootkit_0001: arquivo de rootkit suspeito

  • rootkit_0002: módulo de kernel suspeito

  • RASP_0004: upload de web shell

  • RASP_0018: web shell sem arquivo

  • blockexec_001: ataque de ransomware conhecido

  • hips_0001: Windows Defender desativado

  • hips_0002: ferramenta de hacker suspeita

  • hips_0003: comportamento suspeito de criptografia de ransomware

  • hips_0004: criação de conta oculta

  • hips_0005: senha do usuário e leitura de credenciais

  • hips_0006: exportação suspeita de arquivos SAM

  • hips_0007: exclusão suspeita de cópia de sombra

  • hips_0008: exclusão de arquivo de backup

  • hips_0009: registro de ransomware suspeito

  • hips_0010: processo anormal suspeito

  • hips_0011: verificação suspeita

  • hips_0012: script de ransomware suspeito em execução

  • hips_0013: execução suspeita do comando de mineração

  • hips_0014: desativação suspeita da central de segurança do Windows

  • hips_0015: comportamento suspeito de desativar o serviço de firewall

  • hips_0016: desativação suspeita de recuperação automática do sistema

  • hips_0017: execução de arquivo executável em Office

  • hips_0018: criação de arquivo anormal com macros em Office

  • hips_0019: operação de registro suspeita

  • hips_0020: execução remota de código do Confluence

  • hips_0021: execução remota de código de MSDT

  • portscan_0001: verificação de porta comum

  • portscan_0002: verificação de porta secreta

  • k8s_1001: exclusão de eventos do Kubernetes

  • k8s_1002: criações de pods privilegiados

  • k8s_1003: shell interativo usado no pod

  • k8s_1004: pod criado com diretório sensível

  • k8s_1005: pod criado com a rede do servidor

  • k8s_1006: pod criado com espaço de PID do host

  • k8s_1007: falha de autenticação quando pods comuns acessam o servidor da API

  • k8s_1008: acesso ao servidor de API do pod comum usando cURL

  • k8s_1009: exec no espaço de gerenciamento do sistema

  • k8s_1010: pod criado no espaço de gerenciamento

  • k8s_1011: criação de pod estático

  • k8s_1012: criação de DaemonSet

  • k8s_1013: criação de tarefa de cluster agendada

  • k8s_1014: operação em segredos

  • k8s_1015: enumeração de operação permitida

  • k8s_1016: RoleBinding ou ClusterRoleBinding de alto privilégio

  • k8s_1017: criação de ServiceAccount

  • k8s_1018: criação de Cronjob

  • k8s_1019: shell interativo usado para exec em pods

  • k8s_1020: acesso não autorizado ao servidor da API

  • k8s_1021: acesso ao servidor de API com curl

  • k8s_1022: vulnerabilidade de entrada

  • k8s_1023: ataque man-in-the-middle (MITM)

  • k8s_1024: worm, mineração ou cavalo de Troia

  • k8s_1025: exclusão de evento de K8s

  • k8s_1026: SelfSubjectRulesReview

  • imgblock_0001: bloqueio de imagem com base na lista branca

  • imgblock_0002: bloqueio de imagem com base na lista negra

  • imgblock_0003: bloqueio de tags de imagem com base na lista branca

  • imgblock_0004: bloqueio de tags de imagem com base na lista negra

  • imgblock_0005: criação de container bloqueada com base na lista branca

  • imgblock_0006: criação de container bloqueada com base na lista negra

  • imgblock_0007: bloqueio de container mount proc

  • imgblock_0008: bloqueio de container seccomp unconfined

  • imgblock_0009: bloqueio de privilégios de container

  • imgblock_0010: bloqueio de recursos do container

event_type

Integer

Tipo de evento. Seu valor pode ser:

  • 1001: malware comum

  • 1002: vírus

  • 1003: worm

  • 1004: cavalo de Troia

  • 1005: rede de bots

  • 1006: backdoor

  • 1010: Rootkit

  • 1011: ransomware

  • 1012: ferramenta de hacker

  • 1015: web shell

  • 1016: mineração

  • 1017: shell reverso

  • 2001: exploração de vulnerabilidade comum

  • 2012: execução remota de código

  • 2047: exploração da vulnerabilidade do Redis

  • 2048: exploração da vulnerabilidade de Hadoop

  • 2049: exploração da vulnerabilidade de MySQL

  • 3002: escalonamento de privilégios de arquivo

  • 3003: escalonamento de privilégio de processo

  • 3004: alteração crítica de arquivo

  • 3005: alteração de arquivo/diretório

  • 3007: comportamento anormal do processo

  • 3015: execução de comandos de alto risco

  • 3018: shell anormal

  • 3027: tarefa crontab suspeita

  • 3029: proteção do sistema desativada

  • 3030: exclusão de backup

  • 3031: operações de registro suspeitas

  • 3036: bloqueio de imagem de container

  • 4002: ataque de força bruta

  • 4004: logon anormal

  • 4006: contas inválidas

  • 4014: conta adicionada

  • 4020: roubo de senha

  • 6002: verificação de porta

  • 6003: verificação do servidor

  • 13001: exclusão de eventos do Kubernetes

  • 13002: comportamento anormal do pod

  • 13003: enumeração de informações do usuário

  • 13004: vinculação de função de cluster

event_name

String

Nome do evento

severity

String

Nível de ameaça. Seu valor pode ser:

  • Security

  • Low

  • Medium

  • High

  • Critical

container_name

String

Nome da instância do container. Esta API está disponível apenas para alarmes de container.

image_name

String

Nome da imagem. Esta API está disponível apenas para alarmes de container.

host_name

String

Nome de servidor

host_id

String

ID do host

private_ip

String

Endereço IP privado de servidor

public_ip

String

Endereço IP elástico

os_type

String

Tipo de SO. Seu valor pode ser:

  • Linux

  • Windows

host_status

String

Status do servidor. As opções são as seguintes:

  • ACTIVE

  • SHUTOFF

  • BUILDING

  • ERROR

Mínimo: 1

Máximo: 32

agent_status

String

Status de agente. Seu valor pode ser:

  • installed

  • not_installed

  • online

  • offline

  • install_failed

  • installing

Mínimo: 1

Máximo: 32

protect_status

String

Status de proteção. Seu valor pode ser:

  • closed

  • opened

Mínimo: 1

Máximo: 32

asset_value

String

Importância de ativo. As opções são as seguintes:

  • important

  • common

  • test

Mínimo: 0

Máximo: 128

attack_phase

String

Fase de ataque. Seu valor pode ser:

  • reconnaissance

  • weaponization

  • delivery

  • exploit

  • installation

  • command_and_control

  • actions

attack_tag

String

Tag de ataque. Seu valor pode ser:

  • attack_success

  • attack_attempt

  • attack_blocked

  • abnormal_behavior

  • collapsible_host

  • system_vulnerability

occur_time

Integer

Tempo de ocorrência, com precisão de milissegundos.

handle_time

Integer

Tempo de manipulação, em milissegundos. Esta API está disponível apenas para alarmes manipulados.

handle_status

String

Status de processamento. Seu valor pode ser:

  • unhandled

  • handled

handle_method

String

Método de manipulação. Esta API está disponível apenas para alarmes manipulados. As opções são as seguintes:

  • mark_as_handled

  • ignore

  • add_to_alarm_whitelist

  • add_to_login_whitelist

  • isolate_and_kill

handler

String

Observações. Esta API está disponível apenas para alarmes manipulados.

recommendation

String

Sugestão de tratamento

description

String

Descrição do alarme

Mínimo: 0

Máximo: 1024

event_abstract

String

Resumo do alarme

Mínimo: 0

Máximo: 512

event_count

Integer

Ocorrências de eventos

Mínimo: 0

Máximo: 2147483647

Tabela 7 AntivirusResultDetailInfo

Parâmetro

Tipo

Descrição

result_id

String

O ID de resultado da verificação e remoção de vírus

malware_name

String

Nome do vírus

file_path

String

Caminho do arquivo

file_hash

String

Hash de arquivo

file_size

Integer

Tamanho do arquivo

file_owner

String

Proprietário do arquivo

file_attr

String

Atributo de arquivo

file_ctime

Integer

Tempo de criação do arquivo

file_mtime

Integer

Hora da atualização do arquivo

update_time

Integer

Hora em que a lista branca de eventos é atualizada, em milissegundos.

agent_id

String

ID do agente

Exemplo de solicitações

Consultar os 10 primeiros arquivos isolados.

GET https://{endpoint}/v5/{project_id}/event/isolated-file?limit=10&offset=0&enterprise_project_id=xxx

Exemplo de respostas

Código de status: 200

Lista de arquivos isolados

{
  "data_list" : [ {
    "file_attr" : "0",
    "file_hash" : "58693382bc0c9f60ef86e5b37cf3c2f3a9c9ec46936901eaa9131f7ee4a09bde",
    "file_path" : "C:\\Users\\Public\\Public Docker\\system32.exe",
    "os_type" : "Linux",
    "host_id" : "5a41ca47-8ea7-4a65-a8fb-950d03d8638e",
    "host_name" : "ecs-wi-800211",
    "isolation_status" : "isolated",
    "private_ip" : "127.0.0.2",
    "public_ip" : "127.0.0.1",
    "asset_value" : "common",
    "update_time" : 1698304933717,
    "agent_version" : "3.2.10",
    "isolate_source" : "event",
    "event_name" : "Spyware",
    "antivirus_result_info" : {
      "result_id" : "5a41ca47-8ea7-4a65-a8fb-950d03d8638e",
      "malware_name" : "Win32.Virus.Hidrag",
      "file_attr" : "0",
      "file_hash" : "58693382bc0c9f60ef86e5b37cf3c2f3a9c9ec46936901eaa9131f7ee4a09bde",
      "file_path" : "C:\\Users\\Public\\Public Docker\\system32.exe",
      "file_size" : 58460,
      "file_owner" : "Administrators",
      "file_ctime" : 1700039800,
      "file_mtime" : 1700039800,
      "update_time" : 1698304933717,
      "agent_id" : "5a41ca47-8ea7-4a65-a8fb-950d03d8638e"
    },
    "agent_event_info" : {
      "attack_phase" : "exploit",
      "attack_tag" : "abnormal_behavior",
      "event_class_id" : "lgin_1002",
      "event_id" : "d8a12cf7-6a43-4cd6-92b4-aabf1e917",
      "event_name" : "different locations",
      "event_type" : 4004,
      "handle_status" : "unhandled",
      "host_name" : "xxx",
      "occur_time" : 1661593036627,
      "private_ip" : "127.0.0.1",
      "severity" : "Medium",
      "os_type" : "Linux",
      "agent_status" : "online",
      "asset_value" : "common",
      "protect_status" : "opened",
      "host_status" : "ACTIVE",
      "description" : "",
      "event_abstract" : "",
      "image_name" : "image",
      "container_name" : "test",
      "host_id" : "5a41ca47-8ea7-4a65-a8fb-950d03d8638e",
      "public_ip" : "127.0.0.2",
      "handle_time" : 1698304933717,
      "handle_method" : "ignore",
      "recommendation" : "Handling suggestion",
      "event_count" : 1
    }
  } ],
  "total_num" : 1
}

Código de amostra do SDK

O código de amostra do SDK é o seguinte.

Java

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package com.huaweicloud.sdk.test;

import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.hss.v5.region.HssRegion;
import com.huaweicloud.sdk.hss.v5.*;
import com.huaweicloud.sdk.hss.v5.model.*;


public class ListIsolatedFileSolution {

    public static void main(String[] args) {
        // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        String ak = System.getenv("CLOUD_SDK_AK");
        String sk = System.getenv("CLOUD_SDK_SK");

        ICredential auth = new BasicCredentials()
                .withAk(ak)
                .withSk(sk);

        HssClient client = HssClient.newBuilder()
                .withCredential(auth)
                .withRegion(HssRegion.valueOf("<YOUR REGION>"))
                .build();
        ListIsolatedFileRequest request = new ListIsolatedFileRequest();
        request.withEnterpriseProjectId("<enterprise_project_id>");
        request.withFilePath("<file_path>");
        request.withHostName("<host_name>");
        request.withPrivateIp("<private_ip>");
        request.withPublicIp("<public_ip>");
        request.withFileHash("<file_hash>");
        request.withAssetValue("<asset_value>");
        request.withOffset(<offset>);
        request.withLimit(<limit>);
        try {
            ListIsolatedFileResponse response = client.listIsolatedFile(request);
            System.out.println(response.toString());
        } catch (ConnectionException e) {
            e.printStackTrace();
        } catch (RequestTimeoutException e) {
            e.printStackTrace();
        } catch (ServiceResponseException e) {
            e.printStackTrace();
            System.out.println(e.getHttpStatusCode());
            System.out.println(e.getRequestId());
            System.out.println(e.getErrorCode());
            System.out.println(e.getErrorMsg());
        }
    }
}

Python

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# coding: utf-8

from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkhss.v5.region.hss_region import HssRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkhss.v5 import *

if __name__ == "__main__":
    # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak = __import__('os').getenv("CLOUD_SDK_AK")
    sk = __import__('os').getenv("CLOUD_SDK_SK")

    credentials = BasicCredentials(ak, sk) \

    client = HssClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(HssRegion.value_of("<YOUR REGION>")) \
        .build()

    try:
        request = ListIsolatedFileRequest()
        request.enterprise_project_id = "<enterprise_project_id>"
        request.file_path = "<file_path>"
        request.host_name = "<host_name>"
        request.private_ip = "<private_ip>"
        request.public_ip = "<public_ip>"
        request.file_hash = "<file_hash>"
        request.asset_value = "<asset_value>"
        request.offset = <offset>
        request.limit = <limit>
        response = client.list_isolated_file(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)

Go

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    hss "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/hss/v5"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/hss/v5/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/hss/v5/region"
)

func main() {
    // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak := os.Getenv("CLOUD_SDK_AK")
    sk := os.Getenv("CLOUD_SDK_SK")

    auth := basic.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        Build()

    client := hss.NewHssClient(
        hss.HssClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.ListIsolatedFileRequest{}
	enterpriseProjectIdRequest:= "<enterprise_project_id>"
	request.EnterpriseProjectId = &enterpriseProjectIdRequest
	filePathRequest:= "<file_path>"
	request.FilePath = &filePathRequest
	hostNameRequest:= "<host_name>"
	request.HostName = &hostNameRequest
	privateIpRequest:= "<private_ip>"
	request.PrivateIp = &privateIpRequest
	publicIpRequest:= "<public_ip>"
	request.PublicIp = &publicIpRequest
	fileHashRequest:= "<file_hash>"
	request.FileHash = &fileHashRequest
	assetValueRequest:= "<asset_value>"
	request.AssetValue = &assetValueRequest
	offsetRequest:= int32(<offset>)
	request.Offset = &offsetRequest
	limitRequest:= int32(<limit>)
	request.Limit = &limitRequest
	response, err := client.ListIsolatedFile(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

Mais

Para obter o código de amostra do SDK de mais linguagens de programação, consulte a guia Código de amostra no API Explorer. O código de amostra do SDK pode ser gerado automaticamente.

Códigos de status

Código de status

Descrição

200

Lista de arquivos isolados

Códigos de erro

Consulte Códigos de erro.