APIVoid를 Google SecOps와 통합
이 문서에서는 APIVoid를 Google Security Operations (Google SecOps)와 통합하는 방법을 설명합니다.
시작하기 전에
Google SecOps에서 v2용 APIVoid 통합을 구성하기 전에 다음이 있는지 확인합니다.
APIVoid v2 계정: v2 API 서비스에 액세스할 수 있는 활성 계정입니다.
APIVoid v2 API 키: APIVoid 사용자 대시보드에서 v2 API용으로 특별히 생성된 새 API 키입니다.
업데이트된 API 엔드포인트: 사용하려는 특정 APIVoid 서비스 (예: IP 평판 API, 도메인 평판 API)의 업데이트된 v2 API 엔드포인트 URL에 대한 이해가 필요합니다.
APIVoid v2 API 키 생성
APIVoid v2 API 키를 생성하려면 다음 단계를 완료하세요.
APIVoid 사용자 대시보드에 로그인합니다.
API 키 섹션으로 이동합니다. (위치는 대시보드 업데이트에 따라 다를 수 있습니다.)
새 API 키를 생성합니다. 키를 즉시 복사하여 안전하게 저장합니다. 한 번만 표시될 수 있습니다.
네트워크
| 함수 | 기본 포트 | 방향 | 프로토콜 |
|---|---|---|---|
| API | Multivalues | 아웃바운드 | apikey |
통합 매개변수
다음 매개변수를 사용하여 통합을 구성합니다.
| 매개변수 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
|---|---|---|---|---|
| 인스턴스 이름 | 문자열 | 해당 사항 없음 | No | 통합을 구성할 인스턴스의 이름입니다. |
| 설명 | 문자열 | 해당 사항 없음 | No | 인스턴스에 대한 설명입니다. |
| API 루트 | 문자열 | https://endpoint.apivoid.com | 예 | APIVoid 인스턴스의 주소입니다. |
| API 키 | 비밀번호 | 해당 사항 없음 | 예 | APIVoid 콘솔에서 생성된 API 키입니다. |
| SSL 확인 | 체크박스 | 선택 해제 | 아니요 | APIVoid 연결에 SSL 확인이 필요한 경우 이 체크박스를 사용합니다. |
| 원격 실행 | 체크박스 | 선택 해제 | No | 구성된 통합을 원격으로 실행하려면 필드를 선택합니다. 선택하면 원격 사용자(에이전트)를 선택하는 옵션이 나타납니다. |
Google SecOps에서 통합을 구성하는 방법에 대한 안내는 통합 구성을 참조하세요.
필요한 경우 이후 단계에서 변경할 수 있습니다. 통합 인스턴스를 구성한 후 플레이북에서 사용할 수 있습니다. 여러 인스턴스를 구성하고 지원하는 방법에 관한 자세한 내용은 다중 인스턴스 지원을 참고하세요.
작업
작업에 대한 자세한 내용은 Workdesk의 대기 중인 작업에 응답 및 케이스에서 수동 작업 실행을 참고하세요.
도메인 평판 가져오기
URLVir, ThreatLog, OpenPhish, Spam404, PhishTank, ZeuS Tracker 등과 같은 신뢰할 수 있는 인기 도메인 차단 목록 서비스에서 도메인이 제외되었는지 여부를 확인하는 도메인 평판 검사를 가져옵니다. 여러 도메인 차단 목록 서비스는 멀웨어 배포, 피싱 사고, 가짜 온라인 상점과 관련된 잠재적으로 악의적이고 허위인 웹사이트를 식별합니다.
매개변수
| 파라미터 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
|---|---|---|---|---|
| 임곗값 | 문자열 | 0 | 예 | 도메인 위험 기준점입니다. 기준점은 숫자 값이어야 합니다. 예: 3 |
| 인사이트 만들기 | 체크박스 | 선택 | 예 | 작업에서 인사이트를 만들어야 하는지 여부를 지정합니다. |
사용 사례
Domain Reputation API의 사용 사례 중 하나는 클라이언트의 웹사이트가 제외되었는지 확인하거나, 애플리케이션에서 사용자가 제출한 URL을 확인하거나, 잠재적으로 악의적이고 안전하지 않은 웹사이트를 식별하는 것입니다.
실행
이 작업은 다음 항목에서 실행됩니다.
- 호스트 이름
- URL
작업 결과
항목 보강
부정적인 엔진 수가 지정된 기준과 같거나 그 이상인 경우 항목을 의심스러운 항목으로 표시합니다.
| 보강 필드 이름 | 로직 - 적용 시기 |
|---|---|
| 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"
}
]
URL 평판 가져오기
URL의 안전 평판 및 위험 점수를 가져옵니다.
매개변수
| 파라미터 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
|---|---|---|---|---|
| 임곗값 | 정수 | 해당 사항 없음 | 예 | URL 위험 기준 기준점은 숫자 값이어야 합니다. 예: 3 |
사용 사례
분석가는 도메인 또는 IP 주소의 평판을 검색하는 방법과 유사하게 URL 평판을 검색할 수 있습니다.
실행
이 작업은 URL 항목에서 실행됩니다.
작업 결과
항목 보강
부정적인 엔진 수가 지정된 기준점 이상인 경우 항목을 의심스러운 항목으로 표시합니다. 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'를 추가해야 함)
|
항목 |
스크린샷 가져오기
웹사이트 또는 URL의 고화질 스크린샷을 캡처합니다.
매개변수
해당 사항 없음
사용 사례
분석가는 웹사이트 또는 URL의 고품질 스크린샷을 PNG 또는 JPG 이미지 형식으로 캡처할 수 있습니다.
실행
이 작업은 사용자 항목에서 실행됩니다.
작업 결과
항목 보강
부정적인 엔진 수가 지정된 임곗값 이상인 경우 항목을 의심스러운 항목으로 표시합니다. is_suspicious: if 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"
}
]
케이스 월
| 결과 유형 | 설명 | 유형 |
|---|---|---|
| 출력 메시지* |
|
일반 |
| 첨부파일 | 데이터가 있으면 새 파일 객체를 만듭니다.
|
일반 |
핑
연결을 테스트합니다.
매개변수
해당 사항 없음
실행
이 작업은 모든 항목에서 실행됩니다.
작업 결과
스크립트 결과
| 스크립트 결과 이름 | 값 옵션 | 예 |
|---|---|---|
| 성공 | True/False | success:False |
이메일 확인
이메일이 일회용인지, MX 레코드가 있는지 등을 확인합니다.
매개변수
| 파라미터 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
|---|---|---|---|---|
| 임곗값 | 정수 | 해당 사항 없음 | 예 | 이메일 위험 기준입니다. 기준점은 숫자 값이어야 합니다. 예: 3 |
사용 사례
분석가는 이메일이 일회용인지 확인하고 MX 레코드를 가져오는 등의 작업을 수행할 수 있습니다.
실행
이 작업은 사용자 항목에서 실행됩니다.
작업 결과
항목 보강
부정적인 엔진 수가 지정된 임곗값 이상인 경우 항목을 의심스러운 항목으로 표시합니다. is_suspicious: if 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 전문가에게 문의하여 답변을 받으세요.