将 APIVoid 与 Google SecOps 集成
本文档介绍了如何将 APIVoid 与 Google Security Operations (Google SecOps) 集成。
集成版本:12.0
准备工作
在 Google SecOps 中为 v2 配置 APIVoid 集成之前,请验证您是否具备以下条件:
APIVoid v2 账号:可访问 v2 API 服务的有效账号。
APIVoid v2 API 密钥:从 APIVoid 用户信息中心专门为 v2 API 生成的新 API 密钥。
更新后的 API 端点:熟悉您计划使用的特定 APIVoid 服务的更新后的 v2 API 端点网址(例如,IP Reputation API、Domain Reputation API)。
生成 APIVoid v2 API 密钥
如需生成 APIVoid v2 API 密钥,请完成以下步骤:
登录您的 APIVoid 用户界面。
前往 API 密钥部分。(位置可能会因信息中心更新而异。)
生成新的 API 密钥。立即复制并妥善保存密钥。它可能只会显示一次。
网络
函数 | 默认端口 | 方向 | 协议 |
---|---|---|---|
API | 多值 | 出站 | apikey |
集成参数
使用以下参数配置集成:
参数名称 | 类型 | 默认值 | 为必需参数 | 说明 |
---|---|---|---|---|
实例名称 | 字符串 | 不适用 | 否 | 您打算为其配置集成的实例的名称。 |
说明 | 字符串 | 不适用 | 否 | 实例的说明。 |
API 根 | 字符串 | https://endpoint.apivoid.com | 是 | APIVoid 实例的地址。 |
API 密钥 | 密码 | 不适用 | 是 | 在 APIVoid 的控制台中生成的 API 密钥。 |
验证 SSL | 复选框 | 尚未核查 | 否 | 如果您的 APIVoid 连接需要 SSL 验证,请选中此复选框。 |
远程运行 | 复选框 | 尚未核查 | 否 | 选中此字段,以便远程运行配置的集成。选中后,系统会显示用于选择远程用户(客服人员)的选项。 |
如需了解如何在 Google SecOps 中配置集成,请参阅配置集成。
如有需要,您可以在稍后阶段进行更改。配置集成实例后,您可以在剧本中使用该实例。如需详细了解如何配置和支持多个实例,请参阅支持多个实例。
操作
如需详细了解操作,请参阅 在工作台页面中处理待处理的操作和执行手动操作。
获取网域声誉
如果某个网域被热门且可信的网域封锁名单服务(例如 网址Vir、ThreatLog、OpenPhish、Spam404、PhishTank、ZeuS Tracker 等)排除,则获取网域声誉检查结果。多种网域屏蔽名单服务可识别涉及恶意软件分发、钓鱼式攻击事件和虚假网店的潜在恶意网站和欺诈性网站。
参数
参数名称 | 类型 | 默认值 | 为必需参数 | 说明 |
---|---|---|---|---|
阈值 | 字符串 | 0 | 是 | 网域风险阈值。阈值必须是数值。示例:3 |
创建数据分析 | 复选框 | 勾选 | 是 | 指定操作是否应生成数据洞见。 |
使用场景
网域声誉 API 的一个使用场景是检查客户的网站是否被排除,检查用户在您的应用中提交的网址,或识别可能具有恶意性和不安全性的网站。
运行于
此操作适用于以下实体:
- 主机名
- 网址
操作结果
实体丰富化
如果负面引擎的数量达到或超过指定阈值,则将实体标记为可疑。
扩充项字段名称 | 逻辑 - 应用场景 |
---|---|
alexa_top_100k | 返回 JSON 结果中是否存在相应值 |
domain_length | 返回 JSON 结果中是否存在相应值 |
alexa_top_10k | 返回 JSON 结果中是否存在相应值 |
黑名单 | 返回 JSON 结果中是否存在相应值 |
服务器 | 返回 JSON 结果中是否存在相应值 |
主机 | 返回 JSON 结果中是否存在相应值 |
most_abused_tld | 返回 JSON 结果中是否存在相应值 |
alexa_top_250k | 返回 JSON 结果中是否存在相应值 |
数据分析
严重程度 | 说明 |
---|---|
警告 | 系统会创建警告数据洞见,以告知富集实体的恶意状态。当检测到的引擎数量等于或超过扫描前设置的最低可疑阈值时,系统会创建该事件。 |
脚本结果
脚本结果名称 | 值选项 | 示例 |
---|---|---|
成功 | True/False | success:False |
JSON 结果
[
{
"EntityResult": {
"alexa_top_100k": false,
"domain_length": 17,
"alexa_top_10k": false,
"blacklists": {
"scantime": "0.07",
"detection_rate": "0%",
"detections": 0,
"engines_count": 29,
"engines": [{
"engine": "ThreatLog",
"detected": false,
"confidence": "high",
"reference": "http://www.threatlog.com/"
}, {
"engine": "Threat Sourcing",
"detected": false,
"confidence": "high",
"reference": "https://www.threatsourcing.com/"
}, {
"engine": "URLVir",
"detected": false,
"confidence": "high",
"reference": "http://www.urlvir.com/"
}]},
"server": {
"region_name": null,
"reverse_dns": " ",
"ip": " ",
"isp": null,
"continent_code": null,
"latitude": null,
"city_name": null,
"longitude": null,
"country_code": null,
"country_name": null,
"continent_name": null
},
"host": "example.com",
"most_abused_tld": false,
"alexa_top_250k": false
},
"Entity": "example.com"
}, {
"EntityResult": {
"alexa_top_100k": false,
"domain_length": 9,
"alexa_top_10k": false,
"blacklists": {
"scantime": "0.03",
"detection_rate": "0%",
"detections": 0,
"engines_count": 29,
"engines": [{
"engine": "ThreatLog",
"detected": false,
"confidence": "high",
"reference": "http://www.threatlog.com/"
}, {
"engine": "Threat Sourcing",
"detected": false,
"confidence": "high",
"reference": "https://www.threatsourcing.com/"
}, {
"engine": "URLVir",
"detected": false,
"confidence": "high",
"reference": "http://www.urlvir.com/"
}]},
"server": {
"region_name": null,
"reverse_dns": " ",
"ip": " ",
"isp": null,
"continent_code": null,
"latitude": null,
"city_name": null,
"longitude": null,
"country_code": null,
"country_name": null,
"continent_name": null
},
"host": "192.0.2.1",
"most_abused_tld": false,
"alexa_top_250k": false
},
"Entity": "192.0.2.1"
}
]
获取 IP 声誉
IP Reputation API 可检测可能用于垃圾内容、网站攻击或欺诈活动的潜在恶意 IP 地址。
参数
参数 | 类型 | 默认值 | 为必需参数 | 说明 |
---|---|---|---|---|
阈值 | 字符串 | 不适用 | 是 | IP 风险阈值。阈值必须是数值。示例:3. |
创建数据分析 | 复选框 | 勾选 | 是 | 指定操作是否应生成数据洞见。 |
运行于
此操作在 IP 地址实体上运行。
操作结果
实体丰富化
如果负面引擎的数量达到或超过指定阈值,则将实体标记为可疑。
扩充项字段名称 | 逻辑 - 应用场景 |
---|---|
信息 | 返回 JSON 结果中是否存在相应值 |
黑名单 | 返回 JSON 结果中是否存在相应值 |
匿名性 | 返回 JSON 结果中是否存在相应值 |
ip | 返回 JSON 结果中是否存在相应值 |
数据分析
严重程度 | 说明 |
---|---|
警告 | 系统会生成一条警告数据洞见,用于告知富集哈希的恶意状态。当检测到的引擎数量等于或超过扫描前设置的最低可疑阈值时,系统会生成相应的数据洞见。 |
脚本结果
脚本结果名称 | 值选项 | 示例 |
---|---|---|
成功 | True/False | success:False |
JSON 结果
[
{
"EntityResult": {
"information": {
"is_proxy": false,
"is_vpn": false,
"region_name": "Zhejiang",
"is_webproxy": false,
"latitude": 28.680280685424805,
"isp": "ChinaNet Zhejiang Province Network",
"continent_code": "AS",
"is_tor": false,
"reverse_dns": " ",
"detections": 18,
"engines_count": 76,
"longitude": 121.44277954101562,
"city_name": "Jiaojiang",
"country_name": "China",
"continent_name": "Asia",
"detection_rate": "24%",
"country_code": "CN",
"is_hosting": false
},
"blacklists": {
"scantime": "0.57",
"detection_rate":
"24%",
"detections": 18,
"engines_count": 76,
"engines": [{
"engine": "PlonkatronixBL",
"detected": false,
"reference": "http://bl.plonkatronix.com/"
}, {
"engine": "Engine",
"detected": true,
"reference": "https://home.nuug.no/~engine/"
}, {"engine": "Malc0de",
"detected": false,
"reference": "http://malc0de.com/database/index.php"
}]},
"anonymity": {
"is_tor": false,
"is_proxy": false,
"is_vpn": false,
"is_webproxy": false,
"is_hosting": false
},
"ip": "192.0.2.1"
},
"Entity": "192.0.2.1"
}
]
获取网址信誉
获取网址的安全声誉和风险得分。
参数
参数名称 | 类型 | 默认值 | 为必需参数 | 说明 |
---|---|---|---|---|
阈值 | 整数 | 不适用 | 是 | 网址风险阈值。阈值必须是数值。示例:3 |
使用场景
分析师可以检索网址声誉,类似于检索网域或 IP 地址的声誉。
运行于
此操作在网址实体上运行。
操作结果
实体丰富化
如果负面引擎的数量等于或高于给定的阈值,则将实体标记为可疑。if data.get("report", {}).get("risk_score", {}).get("result") > threshold
扩充项字段名称 | 逻辑 - 应用场景 |
---|---|
domain_blacklist | 返回 JSON 结果中是否存在相应值 |
html_forms | 返回 JSON 结果中是否存在相应值 |
server_details | 返回 JSON 结果中是否存在相应值 |
response_headers | 返回 JSON 结果中是否存在相应值 |
重定向 | 返回 JSON 结果中是否存在相应值 |
file_type | 返回 JSON 结果中是否存在相应值 |
risk_score | 返回 JSON 结果中是否存在相应值 |
security_checks | 返回 JSON 结果中是否存在相应值 |
geo_location | 返回 JSON 结果中是否存在相应值 |
url_parts | 返回 JSON 结果中是否存在相应值 |
site_category | 返回 JSON 结果中是否存在相应值 |
web_page | 返回 JSON 结果中是否存在相应值 |
dns_records | 返回 JSON 结果中是否存在相应值 |
脚本结果
脚本结果名称 | 值选项 | 示例 |
---|---|---|
is_success | True/False | is_success:False |
JSON 结果
[
{
"EntityResult": {
"domain_blacklist": {
"detections": 0,
"engines": [{
"detected": false,
"name": "SpamhausDBL", "reference": "https://www.spamhaus.org/lookup/"
}, {
"detected": false,
"name": "ThreatLog",
"reference": "http://www.threatlog.com/"
}, {
"detected": false,
"name": "OpenPhish",
"reference": "http://www.openphish.com/"
}, {
"detected": false,
"name": "PhishTank",
"reference": "http://www.phishtank.com/"
}, {
"detected": false,
"name": "Phishing.Database",
"reference": "https://github.com/mitchellkrogza/Phishing.Database"
}, {
"detected": false,
"name": "PhishStats",
"reference": "https://phishstats.info/"
}, {
"detected": false,
"name": "URLVir",
"reference": "http://www.urlvir.com/"
}, {
"detected": false,
"name": "URLhaus",
"reference": "https://urlhaus.abuse.ch/"
}, {
"detected": false,
"name": "RPiList Not Serious",
"reference": "https://github.com/RPiList/specials"
}, {
"detected": false,
"name": "precisionsec",
"reference": "https://precisionsec.com/"
}, {
"detected": false,
"name": "AntiSocial Blacklist",
"reference": "https://theantisocialengineer.com/"
}, {
"detected": false,
"name": "PhishFeed",
"reference": "https://phishfeed.com/"
}, {
"detected": false,
"name": "Spam404",
"reference": "https://www.spam404.com/"
}]},
"html_forms": {
"number_of_total_input_fields": 0,
"email_field_present": false,
"number_of_total_forms": 0,
"password_field_present": false,
"two_text_inputs_in_a_form": false,
"credit_card_field_present": false
},
"server_details": {
"continent_name": "Asia",
"hostname": "example.com",
"region_name": "Seoul-teukbyeolsi",
"ip": "192.0.2.141",
"isp": "Example Corporation",
"continent_code": "AS",
"country_name": "Korea (Republic of)",
"city_name": "Seoul",
"longitude": 126.97782897949219,
"country_code": "KR",
"latitude": 37.568260192871094
},
"response_headers": {
"status": "HTTP/1.1 404 Not Found",
"content-length": "177",
"code": 404,
"server": "nginx/1.4.6 (Ubuntu)",
"connection": "keep-alive",
"date": "Wed, 15 Jul 2020 08:21:54 GMT",
"content-type": "text/html"
},
"redirection": {
"url": null,
"found": false,
"external": false
},
"file_type": {
"headers": "HTML",
"extension": "HTML",
"signature": " "
},
"risk_score": {
"result": 10
},
"security_checks": {
"is_suspended_page": false,
"is_defaced_heuristic": false,
"is_windows_exe_file": false,
"is_credit_card_field": false,
"is_windows_exe_file_on_free_hosting": false,
"is_masked_linux_elf_file": false,
"is_exe_on_directory_listing": false,
"is_php_on_directory_listing": false,
"is_masked_windows_exe_file": false,
"is_sinkholed_domain": false,
"is_robots_noindex": false,
"is_windows_exe_file_on_free_dynamic_dns": false,
"is_doc_on_directory_listing": false,
"is_non_standard_port": false,
"is_linux_elf_file_on_free_dynamic_dns": false,
"is_suspicious_domain": false, "is_suspicious_url_pattern": false,
"is_china_country": false,
"is_risky_geo_location": false,
"is_pdf_on_directory_listing": false,
"is_valid_https": false,
"is_external_redirect": false, "is_windows_exe_file_on_ipv4": false,
"is_phishing_heuristic": false,
"is_linux_elf_file_on_ipv4": false,
"is_email_address_on_url_query": false,
"is_uncommon_clickable_url": false,
"is_most_abused_tld": false,
"is_domain_blacklisted": false,
"is_host_an_ipv4": false,
"is_linux_elf_file_on_free_hosting": false,
"is_zip_on_directory_listing": false,
"is_password_field": false,
"is_linux_elf_file": false,
"is_empty_page_title": false,
"is_directory_listing": false,
"is_masked_file": false,
"is_suspicious_file_extension": false,
"is_suspicious_content": false
},
"geo_location": {
"countries": ["KR"]
},
"url_parts": {
"host_nowww": "example.com",
"host": "www.example.com",
"path": "/dynamic/example.html",
"query": null,
"scheme": "http",
"port": 80},
"site_category": {
"is_vpn_provider": false,
"is_url_shortener": false,
"is_anonymizer": false,
"is_torrent": false,
"is_free_dynamic_dns": false,
"is_free_hosting": false
},
"web_page": {
"keywords": "",
"description": "",
"title": "404 Not Found"
},
"dns_records": {
"ns": {
"records": [{
"country_name": "Korea (Republic of)",
"ip": "192.0.2.95",
"isp": "Example Corporation",
"target": "example.com",
"country_code": "KR"
}, {
"country_name": "Korea (Republic of)",
"ip": "192.0.2.26",
"isp": "LX",
"target": "example.com",
"country_code": "KR"
}]},
"mx": {
"records": []
}}},
"Entity": "www.example.com:80/dynamic/example.html"
}
]
案例墙
结果类型 | 说明 | 类型 |
---|---|---|
输出消息* |
|
常规 |
CSV 案例墙 | 如果有可用数据,请创建新的实体 CSV 表:
|
常规 |
丰富 | 如果数据可用,请添加以下内容作为实体丰富信息:(别忘了添加“APIVoid”前缀)
|
实体 |
获取屏幕截图
拍摄任何网站或网址的高品质屏幕截图。
参数
不适用
使用场景
分析师可以 PNG 或 JPG 图片格式捕获任何网站或网址的高质量屏幕截图。
运行于
此操作在 User 实体上运行。
操作结果
实体丰富化
如果负面引擎的数量达到或超过给定的阈值,则将实体标记为可疑。is_suspicious:如果 data.get("score") > threshold
扩充项字段名称 | 逻辑 - 应用场景 |
---|---|
域名 | 返回 JSON 结果中是否存在相应值 |
should_block | 返回 JSON 结果中是否存在相应值 |
得分 | 返回 JSON 结果中是否存在相应值 |
一次性 | 返回 JSON 结果中是否存在相应值 |
has_mx_records | 返回 JSON 结果中是否存在相应值 |
has_spf_records | 返回 JSON 结果中是否存在相应值 |
脚本结果
脚本结果名称 | 值选项 | 示例 |
---|---|---|
is_success | True/False | is_success:False |
JSON 结果
[
{
"EntityResult": {
"domain": "example.com",
"valid_tld": true,
"email": "user@example.co",
"role_address": false,
"should_block": false,
"risky_tld": false,
"dirty_words_username": false,
"suspicious_domain": false,
"score": 100,
"educational_domain": false,
"dirty_words_domain": false,
"did_you_mean": " ",
"username": "user",
"valid_format": true,
"is_spoofable ": false,
"disposable": false,
"government_domain": false,
"has_spf_records": true,
"domain_popular": false,
"has_mx_records": true,
"china_free_email": false,
"free_email": false,
"russian_free_email": false,
"police_domain": false,
"dmarc_enforced": false,
"suspicious_username": false
},
"Entity": "USER@EXAMPLE.COM"
}
]
案例墙
结果类型 | 说明 | 类型 |
---|---|---|
输出消息* |
|
常规 |
附件 | 如果有数据可用,请创建一个新的文件对象:
|
常规 |
Ping
测试连接。
参数
不适用
运行于
此操作会在所有实体上运行。
操作结果
脚本结果
脚本结果名称 | 值选项 | 示例 |
---|---|---|
成功 | True/False | success:False |
验证电子邮件
检查电子邮件是否为临时电子邮件地址、是否具有 MX 记录等。
参数
参数名称 | 类型 | 默认值 | 为必需参数 | 说明 |
---|---|---|---|---|
阈值 | 整数 | 不适用 | 是 | 电子邮件风险阈值。阈值必须是数值。 示例:3 |
使用场景
分析师可以检查电子邮件是否为临时电子邮件,获取 MX 记录等。
运行于
此操作在 User 实体上运行。
操作结果
实体丰富化
如果负面引擎的数量达到或超过给定的阈值,则将实体标记为可疑。is_suspicious:如果 data.get("score") > threshold
扩充项字段名称 | 逻辑 - 应用场景 |
---|---|
域名 | 返回 JSON 结果中是否存在相应值 |
should_block | 返回 JSON 结果中是否存在相应值 |
得分 | 返回 JSON 结果中是否存在相应值 |
一次性 | 返回 JSON 结果中是否存在相应值 |
has_mx_records | 返回 JSON 结果中是否存在相应值 |
has_spf_records | 返回 JSON 结果中是否存在相应值 |
脚本结果
脚本结果名称 | 值选项 | 示例 |
---|---|---|
is_success | True/False | is_success:False |
JSON 结果
[
{
"EntityResult": {
"domain": "example.com",
"valid_tld": true,
"email": "user@example.com",
"role_address": false,
"should_block": false,
"risky_tld": false,
"dirty_words_username": false,
"suspicious_domain": false,
"score": 100,
"educational_domain": false,
"dirty_words_domain": false,
"did_you_mean": " ",
"username": "user",
"valid_format": true,
"is_spoofable ": false,
"disposable": false,
"government_domain": false,
"has_spf_records": true,
"domain_popular": false,
"has_mx_records": true,
"china_free_email": false,
"free_email": false,
"russian_free_email": false,
"police_domain": false,
"dmarc_enforced": false,
"suspicious_username": false
},
"Entity": "USER@EXAMPLE.COm"
}
]
案例墙
结果类型 | 说明 | 类型 |
---|---|---|
输出消息* |
|
常规 |
CSV 案例墙 | CSV 内容:实体数据(以下示例) | 常规 |
丰富 | 如果数据可用,请添加以下内容作为实体丰富信息:(别忘了添加“APIVoid”前缀)
|
实体 |
需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。