查询具体事件的调查取证信息 - ListEventForensic
功能介绍
查询具体事件的调查取证信息。
调用方法
请参见如何调用API。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
- 如果使用身份策略授权,当前API调用无需身份策略权限。
URI
GET /v5/{project_id}/event/forensic
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
project_id |
是 |
String |
参数解释: 项目ID,用于明确项目归属,配置后可通过该ID查询项目下资产。获取方式请参见获取项目ID。 约束限制: 不涉及 取值范围: 字符长度1-256位 默认取值: 不涉及 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
enterprise_project_id |
否 |
String |
参数解释: 企业项目ID,用于过滤不同企业项目下的资产。获取方式请参见获取企业项目ID。 如需查询所有企业项目下的资产请传参“all_granted_eps”。 约束限制: 开通企业项目功能后才需要配置企业项目ID参数。 取值范围: 字符长度1-256位 默认取值: 0,表示默认企业项目(default)。 |
|
event_type |
是 |
Integer |
参数解释: 事件类型 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
|
event_id |
是 |
String |
参数解释: 事件编号 约束限制: 不涉及 取值范围: 字符长度1-128位 默认取值: 不涉及 |
|
occur_time |
是 |
Long |
参数解释: 事件发生时间 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
|
category |
否 |
String |
参数解释: 事件类别 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
请求参数
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
X-Auth-Token |
是 |
String |
参数解释: 用户Token,包含了用户的身份、权限等信息,在调用API接口时,可通过Token进行身份认证。获取方式请参见获取用户Token。 约束限制: 不涉及 取值范围: 字符长度1-32768位 默认取值: 不涉及 |
响应参数
状态码:200
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
event_type |
Integer |
参数解释: 事件类型 取值范围:
|
|
event_class_id |
String |
参数解释: 事件分类 取值范围:
|
|
support_download_file |
Boolean |
参数解释: 是否支持告警源文件下载 取值范围:
|
|
malware_file_hash |
String |
参数解释: 恶意文件的hash,当前为sha256 取值范围: 不涉及 |
|
event_forensic_info |
EventForensicInfo object |
参数解释: 事件调查取证信息 取值范围: 不涉及 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
occur_time |
Long |
参数解释: 发生时间,毫秒 取值范围: 不涉及 |
|
file_forensic_list |
Array of FileForensicInfo objects |
参数解释: 文件取证信息列表 取值范围: 不涉及 |
|
process_chain_forensic |
Array of ProcessChainList objects |
参数解释: 进程链取证信息 取值范围: 不涉及 |
|
network_forensic |
network_forensic object |
参数解释: 网络取证信息 取值范围: 不涉及 |
|
user_forensic |
user_forensic object |
参数解释: 用户调查取证信息 取值范围: 不涉及 |
|
registry_forensic |
registry_forensic object |
参数解释: 注册表取证信息 取值范围: 不涉及 |
|
abnormal_login_forensic |
abnormal_login_forensic object |
参数解释: 异常登录取证信息 取值范围: 不涉及 |
|
container_forensic |
container_forensic object |
参数解释: 容器类型告警取证信息 取值范围: 不涉及 |
|
malware_forensic |
malware_forensic object |
参数解释: 恶意软件取证信息 取值范围: 不涉及 |
|
auto_launch_forensic |
auto_launch_forensic object |
参数解释: 自启动项取证信息 取值范围: 不涉及 |
|
kernel_forensic_list |
Array of KernelForensicInfo objects |
参数解释: 内核取证信息 取值范围: 不涉及 |
|
geo_forensic |
geo_forensic object |
参数解释: 地理位置取证信息 取值范围: 不涉及 |
|
stack_forensic |
stack_forensic object |
参数解释: 堆栈取证信息 取值范围: 不涉及 |
|
image_block_forensic |
image_block_forensic object |
参数解释: 容器镜像阻断取证信息 取值范围: 不涉及 |
|
honey_forensic |
Array of HoneyForensicInfo objects |
参数解释: 蜜罐相关取证信息 取值范围: 不涉及 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
file_path |
String |
参数解释: 文件路径 取值范围: 不涉及 |
|
file_new_path |
String |
参数解释: 文件新路径 取值范围: 不涉及 |
|
file_name |
String |
参数解释: 文件名称 取值范围: 不涉及 |
|
file_sha256 |
String |
参数解释: 文件sha256 取值范围: 不涉及 |
|
file_action |
String |
参数解释: 文件动作 取值范围: 不涉及 |
|
file_operation |
Integer |
参数解释: 文件操作类型 取值范围: 不涉及 |
|
file_size |
Integer |
参数解释: 文件大小 取值范围: 不涉及 |
|
file_hash |
String |
参数解释: 文件hash,当前为sha256 取值范围: 不涉及 |
|
file_desc |
String |
参数解释: 文件描述 取值范围: 不涉及 |
|
is_dir |
Boolean |
参数解释: 是否目录 取值范围: 不涉及 |
|
file_mtime |
Long |
参数解释: 文件最后一次修改时间(毫秒) 取值范围: 不涉及 |
|
file_atime |
Long |
参数解释: 文件最后一次访问时间(毫秒) 取值范围: 不涉及 |
|
file_ctime |
Long |
参数解释: 文件最后一次状态改变时间(毫秒) 取值范围: 不涉及 |
|
file_alias |
String |
参数解释: 文件别名 取值范围: 不涉及 |
|
file_md5 |
String |
参数解释: 文件md5 取值范围: 不涉及 |
|
file_type |
String |
参数解释: 文件类型 取值范围: 不涉及 |
|
file_key_word |
String |
参数解释: 文件关键字 取值范围: 不涉及 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
process_name |
String |
参数解释: 进程名称 取值范围: 不涉及 |
|
process_path |
String |
参数解释: 进程文件路径 取值范围: 不涉及 |
|
process_pid |
Integer |
参数解释: 进程id 取值范围: 不涉及 |
|
process_uid |
Integer |
参数解释: 进程用户id 取值范围: 不涉及 |
|
process_gid |
Integer |
参数解释: 进程组id 取值范围: 不涉及 |
|
process_egid |
Integer |
参数解释: 进程有效组id 取值范围: 不涉及 |
|
process_euid |
Integer |
参数解释: 进程有效用户id 取值范围: 不涉及 |
|
process_username |
String |
参数解释: 运行进程的用户名 取值范围: 不涉及 |
|
process_cmdline |
String |
参数解释: 进程文件命令行 取值范围: 不涉及 |
|
process_start_time |
Long |
参数解释: 进程启动时间 取值范围: 不涉及 |
|
process_file_hash |
String |
参数解释: 进程文件hash 取值范围: 不涉及 |
|
ancestor_process_pid |
Integer |
参数解释: 祖父进程id 取值范围: 不涉及 |
|
ancestor_process_cmdline |
String |
参数解释: 祖父进程命令行 取值范围: 不涉及 |
|
ancestor_process_path |
String |
参数解释: 祖父进程路径 取值范围: 不涉及 |
|
session_id |
Integer |
参数解释: 会话id 取值范围: 不涉及 |
|
event_num |
Integer |
参数解释: 威胁事件数 取值范围: 不涉及 |
|
type |
String |
参数解释: 节点类型 取值范围:
|
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
local_address |
String |
参数解释: 本地ip地址 取值范围: 不涉及 |
|
local_port |
Integer |
参数解释: 本地端口 取值范围: 不涉及 |
|
src_ip |
String |
参数解释: 源ip 取值范围: 不涉及 |
|
remote_address |
String |
参数解释: 远端ip地址(攻击者ip) 取值范围: 不涉及 |
|
remote_port |
Integer |
参数解释: 远程端口 取值范围: 不涉及 |
|
protocol |
String |
参数解释: 协议 取值范围: 不涉及 |
|
app_protocol |
String |
参数解释: 应用层协议 取值范围: 不涉及 |
|
flow_direction |
String |
参数解释: 流量方向 取值范围: 不涉及 |
|
count |
Integer |
参数解释: 连接次数 取值范围: 不涉及 |
|
first_time |
Long |
参数解释: 首次连接时间(毫秒) 取值范围: 不涉及 |
|
last_time |
Long |
参数解释: 最后一连接时间(毫秒) 取值范围: 不涉及 |
|
request_method |
String |
参数解释: 请求方法 取值范围: 不涉及 |
|
request_url |
String |
参数解释: 请求地址 取值范围: 不涉及 |
|
query_string |
String |
参数解释: 查询字符串 取值范围: 不涉及 |
|
request_params |
String |
参数解释: 请求参数 取值范围: 不涉及 |
|
request_header |
String |
参数解释: 请求头信息 取值范围: 不涉及 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
user_id |
Integer |
参数解释: 用户uid 取值范围: 不涉及 |
|
user_gid |
Integer |
参数解释: 用户gid 取值范围: 不涉及 |
|
user_name |
String |
参数解释: 用户名称 取值范围: 不涉及 |
|
user_group_name |
String |
参数解释: 用户组名称 取值范围: 不涉及 |
|
user_home_dir |
String |
参数解释: 用户home目录 取值范围: 不涉及 |
|
login_ip |
String |
参数解释: 用户登录ip 取值范围: 不涉及 |
|
service_type |
String |
参数解释: 登录的服务类型 取值范围: 不涉及 |
|
service_port |
Integer |
参数解释: 登录服务端口 取值范围: 不涉及 |
|
login_mode |
Integer |
参数解释: 登录方式 取值范围: 不涉及 |
|
login_last_time |
Long |
参数解释: 用户最后一次登录时间 取值范围: 不涉及 |
|
login_fail_count |
Integer |
参数解释: 用户登录失败次数 取值范围: 不涉及 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
reg_key |
String |
参数解释: 注册表KEY 取值范围: 不涉及 |
|
reg_value |
String |
参数解释: 注册表VALUE 取值范围: 不涉及 |
|
reg_new_key |
String |
参数解释: 注册表新KEY 取值范围: 不涉及 |
|
reg_op_type |
String |
参数解释: 注册表KEY/VALUE操作类型 取值范围: 不涉及 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
ip |
String |
参数解释: IP 取值范围: 不涉及 |
|
user |
String |
参数解释: 用户 取值范围: 不涉及 |
|
country |
String |
参数解释: 国家 取值范围: 不涉及 |
|
sub_division |
String |
参数解释: 省份 取值范围: 不涉及 |
|
city |
String |
参数解释: 城市 取值范围: 不涉及 |
|
city_id |
Integer |
参数解释: 登录源(映射地名) 取值范围: 不涉及 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
container_id |
String |
参数解释: 容器ID 取值范围: 不涉及 |
|
container_status |
String |
参数解释: 容器状态 取值范围: 不涉及 |
|
pod_uid |
String |
参数解释: pod uid 取值范围: 不涉及 |
|
pod_name |
String |
参数解释: pod name 取值范围: 不涉及 |
|
namespace |
String |
参数解释: 命名空间 取值范围: 不涉及 |
|
cluster_id |
String |
参数解释: 集群id 取值范围: 不涉及 |
|
cluster_name |
String |
参数解释: 集群名称 取值范围: 不涉及 |
|
image_id |
String |
参数解释: 镜像ID 取值范围: 不涉及 |
|
image_name |
String |
参数解释: 镜像名称 取值范围: 不涉及 |
|
priviledged |
Boolean |
参数解释: 容器特权开放 取值范围: 不涉及 |
|
pid_mode |
String |
参数解释: 容器pid命名空间模式 取值范围: 不涉及 |
|
ipc_mode |
String |
参数解释: 容器ipc命名空间模式 取值范围: 不涉及 |
|
network_mode |
String |
参数解释: 容器网络命名空间模式 取值范围: 不涉及 |
|
publish_allports |
Boolean |
参数解释: 容器开放所有端口 取值范围: 不涉及 |
|
capabilities |
String |
参数解释: 容器权限 取值范围: 不涉及 |
|
security_opts |
String |
参数解释: 容器安全选项 取值范围: 不涉及 |
|
ports |
String |
参数解释: 容器开放端口 取值范围: 不涉及 |
|
mounts |
String |
参数解释: 容器挂载目录 取值范围: 不涉及 |
|
sys_call |
String |
参数解释: 系统调用 取值范围: 不涉及 |
|
container_name |
String |
参数解释: 容器名称 取值范围: 不涉及 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
malware_family |
String |
参数解释: 恶意软件家族 取值范围: 不涉及 |
|
malware_name |
String |
参数解释: 恶意软件名称 取值范围: 不涉及 |
|
malware_type |
String |
参数解释: 恶意软件类型 取值范围: 不涉及 |
|
confidence |
Integer |
参数解释: 置信度 取值范围: 不涉及 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
event |
Integer |
参数解释: 事件 取值范围: 不涉及 |
|
type |
Integer |
参数解释: 类型 取值范围: 不涉及 |
|
owner |
String |
参数解释: 用户 取值范围: 不涉及 |
|
name |
String |
参数解释: 命令 取值范围: 不涉及 |
|
run_interval |
String |
参数解释: 运行间隔 取值范围: 不涉及 |
|
hash |
String |
参数解释: hash 取值范围: 不涉及 |
|
mtime |
String |
参数解释: hash 取值范围: 不涉及 |
|
description |
String |
参数解释: 自启动项信息 取值范围: 不涉及 |
|
path |
String |
参数解释: 进程文件命令行 取值范围: 不涉及 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
read_addr |
Integer |
参数解释: 地址 取值范围: 不涉及 |
|
syscall_num |
Integer |
参数解释: 系统调用编号 取值范围: 不涉及 |
|
function |
String |
参数解释: 系统函数 取值范围: 不涉及 |
|
module |
String |
参数解释: 内核模块 取值范围: 不涉及 |
|
ext_info |
String |
参数解释: 扩展信息 取值范围: 不涉及 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
src_country |
String |
参数解释: 源国家 取值范围: 不涉及 |
|
src_city |
String |
参数解释: 源城市 取值范围: 不涉及 |
|
src_latitude |
Integer |
参数解释: 源纬度 取值范围: 不涉及 |
|
src_longitude |
Integer |
参数解释: 源经度 取值范围: 不涉及 |
|
dest_country |
String |
参数解释: 目的国家 取值范围: 不涉及 |
|
dest_city |
String |
参数解释: 目的城市 取值范围: 不涉及 |
|
dest_latitude |
Integer |
参数解释: 目的纬度 取值范围: 不涉及 |
|
dest_longitude |
Integer |
参数解释: 目的经度 取值范围: 不涉及 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
attack_input_value |
String |
参数解释: 攻击载荷 取值范围: 不涉及 |
|
app_stack |
String |
参数解释: 堆栈信息 取值范围: 不涉及 |
|
chk_probe |
Integer |
参数解释: 攻击探针 取值范围: 不涉及 |
|
chk_rule |
Integer |
参数解释: 特性规则 取值范围: 不涉及 |
|
plugin_name |
Integer |
参数解释: 检测规则 取值范围: 不涉及 |
请求示例
无
响应示例
状态码:200
请求已成功
{
"event_type" : 1001,
"event_class_id" : "av_1008",
"support_download_file" : true,
"malware_file_hash" : "d36b44b1cd6d5767f788ba326",
"event_forensic_info" : {
"occur_time" : 1615564800000,
"network_forensic" : {
"local_address" : "1.1.1.1",
"local_port" : 0,
"src_ip" : "1.1.1.2",
"remote_address" : "1.1.1.3",
"remote_port" : 0,
"count" : 1,
"first_time" : 1615564800000,
"last_time" : 1615564800000
}
}
}
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 |
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 ListEventForensicSolution { 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"); String projectId = "{project_id}"; ICredential auth = new BasicCredentials() .withProjectId(projectId) .withAk(ak) .withSk(sk); HssClient client = HssClient.newBuilder() .withCredential(auth) .withRegion(HssRegion.valueOf("<YOUR REGION>")) .build(); ListEventForensicRequest request = new ListEventForensicRequest(); try { ListEventForensicResponse response = client.listEventForensic(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 |
# coding: utf-8 import os 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 = os.environ["CLOUD_SDK_AK"] sk = os.environ["CLOUD_SDK_SK"] projectId = "{project_id}" credentials = BasicCredentials(ak, sk, projectId) client = HssClient.new_builder() \ .with_credentials(credentials) \ .with_region(HssRegion.value_of("<YOUR REGION>")) \ .build() try: request = ListEventForensicRequest() response = client.list_event_forensic(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 |
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") projectId := "{project_id}" auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). WithProjectId(projectId). Build() client := hss.NewHssClient( hss.HssClientBuilder(). WithRegion(region.ValueOf("<YOUR REGION>")). WithCredential(auth). Build()) request := &model.ListEventForensicRequest{} response, err := client.ListEventForensic(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } |
更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。
状态码
|
状态码 |
描述 |
|---|---|
|
200 |
请求已成功 |
错误码
请参见错误码。