更新时间:2024-03-27 GMT+08:00
分享

查询已隔离文件列表

功能介绍

查询已隔离文件列表

调用方法

请参见如何调用API

URI

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

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID

最小长度:20

最大长度:64

表2 Query参数

参数

是否必选

参数类型

描述

enterprise_project_id

String

企业项目ID,查询所有企业项目时填写:all_granted_eps

最小长度:0

最大长度:64

file_path

String

文件路径

host_name

String

服务器名称

最小长度:1

最大长度:64

private_ip

String

服务器私有IP

最小长度:1

最大长度:256

public_ip

String

服务器公网IP

最小长度:1

最大长度:256

file_hash

String

文件hash,当前为sha256

asset_value

String

资产重要性,包含如下3种

  • important :重要资产

  • common :一般资产

  • test :测试资产

最小长度:0

最大长度:128

offset

Integer

偏移量:指定返回记录的开始位置,必须为数字

最小值:0

最大值:2000000

缺省值:0

limit

Integer

每页显示个数

最小值:10

最大值:1000

缺省值:10

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)

最小长度:1

最大长度:32768

region

String

Region ID

最小长度:0

最大长度:128

响应参数

状态码: 200

表4 响应Body参数

参数

参数类型

描述

total_num

Integer

总数

data_list

Array of IsolatedFileResponseInfo objects

已隔离文件详情

数组长度:0 - 100

表5 IsolatedFileResponseInfo

参数

参数类型

描述

os_type

String

操作系统类型,包含如下2种。

  • Linux :Linux。

  • Windows :Windows。

host_id

String

主机ID

host_name

String

服务器名称

file_hash

String

文件哈希

file_path

String

文件路径

file_attr

String

文件属性

isolation_status

String

隔离状态,包含如下:

  • isolated : 已隔离

  • restored : 已恢复

  • isolating : 已下发隔离任务

  • restoring : 已下发恢复任务

private_ip

String

服务器私有IP

public_ip

String

弹性公网IP地址

asset_value

String

资产重要性

update_time

Integer

事件白名单更新时间,毫秒

agent_version

String

agent版本

isolate_source

String

隔离来源,包含如下:

  • event : 安全告警事件

  • antivirus : 病毒查杀

event_name

String

事件名称

agent_event_info

IsolateEventResponseInfo object

隔离事件详情

antivirus_result_info

AntivirusResultDetailInfo object

病毒查杀结果详情

表6 IsolateEventResponseInfo

参数

参数类型

描述

event_id

String

事件编号

event_class_id

String

事件分类,包含如下:

  • container_1001 : 容器命名空间

  • container_1002 : 容器开放端口

  • container_1003 : 容器安全选项

  • container_1004 : 容器挂载目录

  • containerescape_0001 : 容器高危系统调用

  • containerescape_0002 : Shocker攻击

  • containerescape_0003 : DirtCow攻击

  • containerescape_0004 : 容器文件逃逸攻击

  • dockerfile_001 : 用户自定义容器保护文件被修改

  • dockerfile_002 : 容器文件系统可执行文件被修改

  • dockerproc_001 : 容器进程异常事件上报

  • fileprotect_0001 : 文件提权

  • fileprotect_0002 : 关键文件变更

  • fileprotect_0003 : 关键文件路径变更

  • fileprotect_0004 : 文件/目录变更

  • av_1002 : 病毒

  • av_1003 : 蠕虫

  • av_1004 : 木马

  • av_1005 : 僵尸网络

  • av_1006 : 后门

  • av_1007 : 间谍软件

  • av_1008 : 恶意广告软件

  • av_1009 : 钓鱼

  • av_1010 : Rootkit

  • av_1011 : 勒索软件

  • av_1012 : 黑客工具

  • av_1013 : 灰色软件

  • av_1015 : Webshell

  • av_1016 : 挖矿软件

  • login_0001 : 尝试暴力破解

  • login_0002 : 爆破成功

  • login_1001 : 登录成功

  • login_1002 : 异地登录

  • login_1003 : 弱口令

  • malware_0001 : shell变更事件上报

  • malware_0002 : 反弹shell事件上报

  • malware_1001 : 恶意程序

  • procdet_0001 : 进程异常行为检测

  • procdet_0002 : 进程提权

  • procreport_0001 : 危险命令

  • user_1001 : 账号变更

  • user_1002 : 风险账号

  • vmescape_0001 : 虚拟机敏感命令执行

  • vmescape_0002 : 虚拟化进程访问敏感文件

  • vmescape_0003 : 虚拟机异常端口访问

  • webshell_0001 : 网站后门

  • network_1001 : 恶意挖矿

  • network_1002 : 对外DDoS攻击

  • network_1003 : 恶意扫描

  • network_1004 : 敏感区域攻击

  • ransomware_0001 : 勒索攻击

  • ransomware_0002 : 勒索攻击

  • ransomware_0003 : 勒索攻击

  • fileless_0001 : 进程注入

  • fileless_0002 : 动态库注入进程

  • fileless_0003 : 关键配置变更

  • fileless_0004 : 环境变量变更

  • fileless_0005 : 内存文件进程

  • fileless_0006 : vdso劫持

  • crontab_1001 : Crontab可疑任务

  • vul_exploit_0001 : Redis漏洞利用攻击

  • vul_exploit_0002 : Hadoop漏洞利用攻击

  • vul_exploit_0003 : MySQL漏洞利用攻击

  • rootkit_0001 : 可疑rootkit文件

  • rootkit_0002 : 可疑内核模块

  • RASP_0004 : 上传Webshell

  • RASP_0018 : 无文件Webshell

  • blockexec_001 : 已知勒索攻击

  • hips_0001 : Windows Defender防护被禁用

  • hips_0002 : 可疑的黑客工具

  • hips_0003 : 可疑的勒索加密行为

  • hips_0004 : 隐藏账号创建

  • hips_0005 : 读取用户密码凭据

  • hips_0006 : 可疑的SAM文件导出

  • hips_0007 : 可疑shadow copy删除操作

  • hips_0008 : 备份文件删除

  • hips_0009 : 可疑勒索病毒操作注册表

  • hips_0010 : 可疑的异常进程行为

  • hips_0011 : 可疑的扫描探测

  • hips_0012 : 可疑的勒索病毒脚本运行

  • hips_0013 : 可疑的挖矿命令执行

  • hips_0014 : 可疑的禁用windows安全中心

  • hips_0015 : 可疑的停止防火墙服务行为

  • hips_0016 : 可疑的系统自动恢复禁用

  • hips_0017 : Offies 创建可执行文件

  • hips_0018 : 带宏Offies文件异常创建

  • hips_0019 : 可疑的注册表操作

  • hips_0020 : Confluence远程代码执行

  • hips_0021 : MSDT远程代码执行

  • portscan_0001 : 通用端口扫描

  • portscan_0002 : 秘密端口扫描

  • k8s_1001 : Kubernetes事件删除

  • k8s_1002 : 创建特权Pod

  • k8s_1003 : Pod中使用交互式shell

  • k8s_1004 : 创建敏感目录Pod

  • k8s_1005 : 创建主机网络的Pod

  • k8s_1006 : 创建主机Pid空间的Pod

  • k8s_1007 : 普通pod访问APIserver认证失败

  • k8s_1008 : 普通Pod通过Curl访问APIServer

  • k8s_1009 : 系统管理空间执行exec

  • k8s_1010 : 系统管理空间创建Pod

  • k8s_1011 : 创建静态Pod

  • k8s_1012 : 创建DaemonSet

  • k8s_1013 : 创建集群计划任务

  • k8s_1014 : Secrets操作

  • k8s_1015 : 枚举用户可执行的操作

  • k8s_1016 : 高权限RoleBinding或ClusterRoleBinding

  • k8s_1017 : ServiceAccount创建

  • k8s_1018 : 创建Cronjob

  • k8s_1019 : Pod中exec使用交互式shell

  • k8s_1020 : 无权限访问Apiserver

  • k8s_1021 : 使用curl访问APIServer

  • k8s_1022 : Ingress漏洞

  • k8s_1023 : 中间人攻击

  • k8s_1024 : 蠕虫挖矿木马

  • k8s_1025 : K8s事件删除

  • k8s_1026 : SelfSubjectRulesReview场景

  • imgblock_0001 : 镜像白名单阻断

  • imgblock_0002 : 镜像黑名单阻断

  • imgblock_0003 : 镜像标签白名单阻断

  • imgblock_0004 : 镜像标签黑名单阻断

  • imgblock_0005 : 创建容器白名单阻断

  • imgblock_0006 : 创建容器黑名单阻断

  • imgblock_0007 : 容器mount proc阻断

  • imgblock_0008 : 容器seccomp unconfined阻断

  • imgblock_0009 : 容器特权阻断

  • imgblock_0010 : 容器capabilities阻断

event_type

Integer

事件类型,包含如下:

  • 1001 : 通用恶意软件

  • 1002 : 病毒

  • 1003 : 蠕虫

  • 1004 : 木马

  • 1005 : 僵尸网络

  • 1006 : 后门

  • 1010 : Rootkit

  • 1011 : 勒索软件

  • 1012 :黑客工具

  • 1015 : Webshell

  • 1016 : 挖矿

  • 1017 : 反弹Shell

  • 2001 : 一般漏洞利用

  • 2012 : 远程代码执行

  • 2047 : Redis漏洞利用

  • 2048 : Hadoop漏洞利用

  • 2049 : MySQL漏洞利用

  • 3002 : 文件提权

  • 3003 : 进程提权

  • 3004 : 关键文件变更

  • 3005 : 文件/目录变更

  • 3007 : 进程异常行为

  • 3015 : 高危命令执行

  • 3018 : 异常Shell

  • 3027 : Crontab可疑任务

  • 3029 :系统安全防护被禁用

  • 3030 :备份删除

  • 3031 :异常注册表操作

  • 3036 : 容器镜像阻断

  • 4002 : 暴力破解

  • 4004 : 异常登录

  • 4006 : 非法系统账号

  • 4014 : 用户账号添加

  • 4020 : 用户密码窃取

  • 6002 : 端口扫描

  • 6003 : 主机扫描

  • 13001 : Kubernetes事件删除

  • 13002 : Pod异常行为

  • 13003 : 枚举用户信息

  • 13004 : 绑定集群用户角色

event_name

String

事件名称

severity

String

威胁等级,包含如下:

  • Security : 安全

  • Low : 低危

  • Medium : 中危

  • High : 高危

  • Critical : 危急

container_name

String

容器实例名称,只有容器类型的告警有

image_name

String

镜像名称,只有容器类型的告警有

host_name

String

服务器名称

host_id

String

主机ID

private_ip

String

服务器私有IP

public_ip

String

弹性公网IP地址

os_type

String

操作系统类型,包含如下2种。

  • Linux :Linux。

  • Windows :Windows。

host_status

String

服务器状态,包含如下4种。

  • ACTIVE :运行中。

  • SHUTOFF :关机。

  • BUILDING :创建中。

  • ERROR :故障。

最小长度:1

最大长度:32

agent_status

String

Agent状态,包含如下5种。

  • installed :已安装。

  • not_installed :未安装。

  • online :在线。

  • offline :离线。

  • install_failed :安装失败。

  • installing :安装中。

最小长度:1

最大长度:32

protect_status

String

防护状态,包含如下2种。

  • closed :未防护。

  • opened :防护中。

最小长度:1

最大长度:32

asset_value

String

资产重要性,包含如下4种

  • important :重要资产

  • common :一般资产

  • test :测试资产

最小长度:0

最大长度:128

attack_phase

String

攻击阶段,包含如下:

  • reconnaissance : 侦查跟踪

  • weaponization : 武器构建

  • delivery : 载荷投递

  • exploit : 漏洞利用

  • installation : 安装植入

  • command_and_control : 命令与控制

  • actions : 目标达成

attack_tag

String

攻击标识,包含如下:

  • attack_success : 攻击成功

  • attack_attempt : 攻击尝试

  • attack_blocked : 攻击被阻断

  • abnormal_behavior : 异常行为

  • collapsible_host : 主机失陷

  • system_vulnerability : 系统脆弱性

occur_time

Integer

发生时间,毫秒

handle_time

Integer

处理时间,毫秒,已处理的告警才有

handle_status

String

处理状态,包含如下:

  • unhandled :未处理

  • handled : 已处理

handle_method

String

处理方式,已处理的告警才有,包含如下:

  • mark_as_handled : 手动处理

  • ignore : 忽略

  • add_to_alarm_whitelist : 加入告警白名单

  • add_to_login_whitelist : 加入登录白名单

  • isolate_and_kill : 隔离查杀

handler

String

备注信息,已处理的告警才有

recommendation

String

处置建议

description

String

告警说明

最小长度:0

最大长度:1024

event_abstract

String

告警摘要

最小长度:0

最大长度:512

event_count

Integer

事件发生次数

最小值:0

最大值:2147483647

表7 AntivirusResultDetailInfo

参数

参数类型

描述

result_id

String

病毒查杀结果ID

malware_name

String

病毒名称

file_path

String

文件路径

file_hash

String

文件哈希

file_size

Integer

文件大小

file_owner

String

文件属主

file_attr

String

文件属性

file_ctime

Integer

文件创建时间

file_mtime

Integer

文件更新时间

update_time

Integer

事件白名单更新时间,毫秒

agent_id

String

Agent ID

请求示例

查询前10条已隔离的文件列表

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

响应示例

状态码: 200

已隔离文件列表

{
  "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" : "间谍软件",
    "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" : "建议处置",
      "event_count" : 1
    }
  } ],
  "total_num" : 1
}

SDK代码示例

SDK代码示例如下。

 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());
        }
    }
}
 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)
 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)
    }
}

更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。

状态码

状态码

描述

200

已隔离文件列表

错误码

请参见错误码

分享:

    相关文档

    相关产品