將 APIVoid 與 Google SecOps 整合
本文說明如何將 APIVoid 與 Google Security Operations (Google SecOps) 整合。
事前準備
在 Google SecOps 中設定 APIVoid 整合功能前,請確認您具備下列項目:
APIVoid v2 帳戶:可存取 v2 API 服務的有效帳戶。
APIVoid v2 API 金鑰:從 APIVoid 使用者資訊主頁,專為 v2 API 產生的新 API 金鑰。
更新的 API 端點:熟悉您要使用的特定 APIVoid 服務 (例如 IP Reputation API、Domain Reputation API) 的更新版 v2 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 中設定整合功能,請參閱「設定整合功能」。
如有需要,您可以在後續階段進行變更。設定整合執行個體後,即可在應對手冊中使用。如要進一步瞭解如何設定及支援多個執行個體,請參閱「支援多個執行個體」。
動作
如要進一步瞭解動作,請參閱「 在工作區回應待處理動作」和「在案件中執行手動動作」。
取得網域信譽
如果網域遭到熱門且受信任的網域封鎖清單服務 (例如 URLVir、ThreatLog、OpenPhish、Spam404、PhishTank、ZeuS Tracker 等) 排除,請檢查網域信譽。多網域封鎖清單服務會找出可能涉及惡意軟體散布、網路釣魚事件和假冒線上商店的惡意和詐欺網站。
參數
| 參數名稱 | 類型 | 預設值 | 為必填 | 說明 |
|---|---|---|---|---|
| 門檻 | 字串 | 0 | 是 | 網域風險門檻。門檻必須是數值。範例:3 |
| 建立洞察 | 核取方塊 | 已勾選 | 是 | 指定動作是否應建立洞察資料。 |
用途
Domain Reputation 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 圖片格式。
執行日期
這項動作會對「使用者」實體執行。
動作結果
實體擴充
如果負面引擎數量等於或高於指定門檻,則將實體標示為可疑。is_suspicious: if data.get("score") > threshold
| 補充資料欄位名稱 | 邏輯 - 應用時機 |
|---|---|
| 網域 | 如果 JSON 結果中存在,則傳回 |
| should_block | 如果 JSON 結果中存在,則傳回 |
| 分數 | 如果 JSON 結果中存在,則傳回 |
| disposable | 如果 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"
}
]
案件總覽
| 結果類型 | 說明 | 類型 |
|---|---|---|
| 輸出訊息* |
|
一般 |
| 附件 | 如果有資料,請建立新的檔案物件:
|
一般 |
乒乓
測試連線。
參數
不適用
執行日期
這項操作會對所有實體執行。
動作結果
指令碼執行結果
| 指令碼結果名稱 | 值選項 | 範例 |
|---|---|---|
| 成功 | True/False | success:False |
驗證電子郵件
檢查電子郵件是否為拋棄式、是否有 MX 記錄等。
參數
| 參數名稱 | 類型 | 預設值 | 為必填 | 說明 |
|---|---|---|---|---|
| 門檻 | 整數 | 不適用 | 是 | 電子郵件風險門檻。門檻必須是數值。 範例:3 |
用途
分析人員可以檢查電子郵件是否為拋棄式、取得 MX 記錄等。
執行日期
這項動作會對「使用者」實體執行。
動作結果
實體擴充
如果負面引擎數量等於或高於指定門檻,則將實體標示為可疑。is_suspicious: if data.get("score") > threshold
| 補充資料欄位名稱 | 邏輯 - 應用時機 |
|---|---|
| 網域 | 如果 JSON 結果中存在,則傳回 |
| should_block | 如果 JSON 結果中存在,則傳回 |
| 分數 | 如果 JSON 結果中存在,則傳回 |
| disposable | 如果 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 專業人員尋求解答。