VMware Carbon Black Enterprise EDR
통합 버전: 6.0
제품 사용 사례
- 조사 작업 수행 - Google Security Operations의 알림 분석의 일환으로 CB Enterprise EDR에서 데이터를 가져옵니다.
- 구성 작업 실행 - Google SecOps에서 CB Enterprise EDR 피드/관심 목록을 구성합니다.
제품 권한
Carbon Black Enterprise EDR (ThreatHunter) API에 액세스하는 데 필요한 개념:
- 서비스 호스트 이름
- API 키
- RBAC
- 조직 키
서비스 호스트 이름
Carbon Black Cloud 호스트 이름에는 두 가지가 있습니다.
- https://defense-<environment>.conferdeploy.net/
- https://api-<environment>.conferdeploy.net/
또한 다음과 같은 여러 환경이 있습니다 (전체 목록은 아님).
- prod02
- prod04
- prod05
Carbon Black Enterprise EDR (ThreatHunter) API의 경우 다음 호스트 이름이 사용됩니다. https://defense-<environment>.conferdeploy.net/
API 키
Carbon Black Enterprise EDR (ThreatHunter) API 및 서비스는 API 키를 통해 인증됩니다. 사용자는 Carbon Black Cloud 콘솔의 설정 > API 키에서 API 키 설정을 볼 수 있습니다.
API 키는 다음 두 부분으로 구성됩니다.
- API 보안 키 (이전의 API 키)입니다.
- API ID (이전의 커넥터 ID)입니다.
인증은 X-Auth-Token HTTP 헤더를 통해 API에 전달됩니다.
- 적절한 헤더를 생성하려면 API 보안 비밀 키와 API ID를 슬래시로 연결하세요.
- 예를 들어 API 보안 비밀 키가 ABCD이고 API ID가 1234인 경우 해당 X-Auth-Token HTTP 헤더는 X-Auth-Token: ABCD/1234가 됩니다.
모든 API 요청은 API 보안 키와 API ID를 사용하여 인증해야 합니다. 인증되지 않은 요청은 HTTP 401 오류를 반환합니다.
API 보안 비밀 키 및 API ID를 가져오는 방법
- Carbon Black Cloud 조직에 로그인합니다.
- 설정 > API 키로 이동합니다.
- 'API 키 추가'를 클릭합니다.
- 이름, 액세스 수준 등을 구성합니다.
- API 보안 비밀 키와 API ID 쌍을 가져옵니다.
이를 통해 조직 관리자는 API 키를 정의하고 API 요청을 인증하는 데 필요한 API 보안 키와 API ID에 액세스할 수 있습니다. 또한 관리자는 보안상의 이유로 이 API 키의 사용을 특정 IP 주소 집합으로 제한할 수 있습니다.
API 키 액세스 수준
현재 API 키 페이지에는 API 키에 사용할 수 있는 네 가지 주요 액세스 수준이 있습니다. 액세스 수준마다 API 경로에 대한 액세스 수준이 다릅니다.
맞춤 키 액세스 수준: 맞춤설정 가능한 승인을 제공합니다.
- 맞춤 API 키는 역할 기반 액세스 제어(RBAC) 노력의 결과입니다.
- 고객이 액세스 제어를 적용하고 최소 권한 API 키를 만들 수 있습니다.
- 맞춤 API 키에 사용자 역할 또는 액세스 수준을 할당할 수 있습니다.
API 키 액세스 수준: 알림 API 및 실시간 응답 API를 제외한 모든 API에 대한 액세스를 제공합니다.
SIEM 키 액세스 수준: 알림 API에 대한 액세스를 제공합니다.
실시간 응답 키 액세스 수준: 위의 (1)에 더해 실시간 응답 API에 액세스할 수 있는 모든 API에 대한 액세스를 제공합니다.
Carbon Black Enterprise EDR (ThreatHunter) 서비스와 API 액세스 수준의 상관관계 플랫폼 API는 굵게 표시됨
| API/서비스 카테고리 | 허용된 API 키 액세스 수준 |
|---|---|
| PSC /appservices/* | 맞춤 (적절한 권한이 있는 경우) |
| CB-TH /threathunter/* | 맞춤 (적절한 권한이 있는) API |
| CB-LO /livequery/* | 맞춤 (적절한 권한이 있는 경우) |
| CB-D /integrationServices/v3/notification/ | SIEM |
| CB-D /integrationServices/* | APILive 응답 |
조직 키
API 키 외에도 많은 Carbon Black Cloud API 또는 서비스에는 API 요청 경로에 org_key가 필요합니다. 이는 여러 조직을 관리하는 고객을 지원하기 위한 것입니다.
org_key는 Carbon Black Cloud Console의 Settings > API Keys에서 확인할 수 있습니다.
Carbon Black Enterprise EDR (ThreatHunter) Google SecOps 통합을 위한 API 액세스 구성
Carbon Black Enterprise EDR (ThreatHunter) Google SecOps 통합의 API 액세스를 구성하려면 다음 단계를 따라야 합니다.
- Carbon Black Cloud 콘솔에 로그인하고 Settings > API Access로 이동합니다.
- API 액세스 페이지에서 액세스 수준으로 이동합니다.
- 액세스 수준 페이지에서 + 액세스 수준 추가를 클릭합니다.
열린 창에서 새 액세스 수준의 이름과 설명을 입력하고 아래 스크린샷과 같이 권한을 선택합니다.

API 액세스 탭으로 돌아갑니다.
'+ API 키 추가'를 클릭하여 새 API 키를 만듭니다.
열린 탭에서 필수 필드를 작성하고 4단계에서 구성한 액세스 수준을 선택합니다.

저장을 클릭하면 API ID와 API 보안 비밀 키가 표시됩니다. 이 값은 한 번만 표시되므로 저장해 두세요.
API ID와 API Secret 키가 저장되면 Carbon Black Enterprise EDR (ThreatHunter)의 API 액세스가 완료됩니다.
Google SecOps에서 VMware Carbon Black Enterprise EDR (위협 헌터) 통합 구성
Google SecOps에서 통합을 구성하는 방법에 대한 자세한 내용은 통합 구성을 참고하세요.
통합 매개변수
다음 매개변수를 사용하여 통합을 구성합니다.
| 매개변수 표시 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
|---|---|---|---|---|
| 인스턴스 이름 | 문자열 | 해당 사항 없음 | No | 통합을 구성할 인스턴스의 이름입니다. |
| 설명 | 문자열 | 해당 사항 없음 | No | 인스턴스에 대한 설명입니다. |
| API 루트 | 문자열 | 해당 사항 없음 | 예 | Vmware Carbon Black Cloud API 루트 URL입니다. |
| 조직 키 | 문자열 | 해당 사항 없음 | 예 | Vmware Carbon Black Cloud 조직 키입니다. |
| API ID | 문자열 | 해당 사항 없음 | 예 | Vmware Carbon Black Cloud API ID (맞춤 API 키 ID)입니다. |
| API 보안 키 | 문자열 | 해당 사항 없음 | 예 | VMware Carbon Black Cloud API 보안 비밀번호 키 (맞춤 API 보안 비밀번호 키) |
| 원격 실행 | 체크박스 | 해당 사항 없음 | 아니요 | 구성된 통합을 원격으로 실행하려면 필드를 선택합니다. 선택하면 원격 사용자(에이전트)를 선택하는 옵션이 나타납니다. |
작업
핑
설명
Google Security Operations Marketplace 탭의 통합 구성 페이지에서 제공된 매개변수를 사용하여 VMware Carbon Black Enterprise EDR에 대한 연결을 테스트합니다.
매개변수
해당 사항 없음
플레이북 사용 사례 예시
이 작업은 Google Security Operations Marketplace 탭의 통합 구성 페이지에서 연결을 테스트하는 데 사용되며 플레이북에 사용되지 않는 직접 조치로 실행될 수 있습니다.
실행
이 작업은 항목에서 실행되지 않거나 필수 입력 매개변수가 없습니다.
작업 결과
스크립트 결과
| 스크립트 결과 이름 | 값 옵션 | 예 |
|---|---|---|
| is_success | True/False | is_success:False |
케이스 월
| 결과 유형 | 값/설명 | 유형 |
|---|---|---|
| 출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다.
작업이 실패하고 플레이북 실행을 중지합니다.
|
일반 |
프로세스 검색
설명
제공된 검색 매개변수를 기반으로 CB 센서를 사용하여 호스트의 프로세스 활동에 관한 정보를 검색합니다. 이 작업은 호스트 Google SecOps 엔티티를 허용합니다.
매개변수
| 매개변수 표시 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
|---|---|---|---|---|
| 쿼리 | 문자열 | 해당 사항 없음 | 아니요 | 프로세스 검색에서 실행할 쿼리입니다. 예를 들어 process_name:svchost.exe는 프로세스 이름으로 검색하고 process_hash:9520a99e77d6196d0d09833146424113은 프로세스 해시로 검색합니다. |
| 기간 | 정수 | 4 | 아니요 | 알림을 가져올 기간(단위: 시간)을 지정합니다. |
| 레코드 한도 | 정수 | 20 | 예 | 작업에서 반환할 수 있는 레코드 수를 지정합니다. |
| 정렬 기준 | 문자열 | 해당 사항 없음 | 아니요 | 데이터 정렬을 위한 매개변수를 지정합니다. |
| 정렬 순서 | DDL | ASC | 아니요 | 정렬 순서입니다. |
플레이북 사용 사례 예시
제공된 검색 매개변수를 기반으로 프로세스로 인해 발생한 이벤트를 검색합니다.
사용자는 CB 플랫폼에서 관리하는 특정 호스트와 관련된 알림을 분석하는 동안 호스트를 조사하여 제공된 검색 매개변수를 기반으로 실행되는 프로세스로 인해 발생한 특정 이벤트를 검색하려고 합니다. 사용자는 위협 헌팅 활동을 위해 이 작업을 실행할 수 있습니다. 즉, 문제의 호스트에 의심스러운 프로세스/이벤트가 있는지 사전에 검색할 수 있습니다.
실행
이 작업은 호스트 항목에서 실행됩니다.
작업 결과
스크립트 결과
| 스크립트 결과 이름 | 값 옵션 | 예 |
|---|---|---|
| is_success | True/False | is_success:False |
JSON 결과
{
"results": [
{
"alert_id": [
"null/WSD2CQMT"
],
"backend_timestamp": "2020-03-04T21:42:45.080Z",
"device_id": 3078944,
"device_name": "qaam\\manticorewin864",
"device_policy_id": 6525,
"device_timestamp": "2020-03-04T21:39:33.180Z",
"enriched": true,
"enriched_event_type": "CREATE_PROCESS",
"event_description": "The script \"<share><link hash=\"74fcbbb574bfd505cf0680575a1c025f6cead071fce78ee0cc2c7bac7dd24ce9\">C:\\programdata\\wmirepair.bat</link></share>\" invoked the application \"<share><link hash=\"7eadc73f8aa77148ca289d5ce5c2632f3a157d313079583454c0421bb97d5646\">C:\\windows\\syswow64\\regsvr32.exe</link></share>\". ",
"event_id": "ecc6954f5e6011eaa0de89cc027330db",
"event_type": "childproc",
"ingress_time": 1583358118950,
"legacy": true,
"org_id": "7DESJ9GN",
"parent_guid": "7DESJ9GN-002efb20-00001604-00000000-1d5f26cab1067fe",
"parent_pid": 5636,
"process_guid": "7DESJ9GN-002efb20-00000d58-00000000-1d5f26d6615c568",
"process_hash": [
"629ae017d28848b68485bd2aeede9129",
"74fcbbb574bfd505cf0680575a1c025f6cead071fce78ee0cc2c7bac7dd24ce9"
],
"process_name": "c:\\programdata\\wmirepair.bat",
"process_pid": [
3416
],
"process_username": [
"NT AUTHORITY\\SYSTEM"
]
},
...
] }
케이스 월
| 결과 유형 | 값 / 설명 | 유형 |
|---|---|---|
| 출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다.
작업이 실패하고 플레이북 실행을 중지합니다.
|
모두 |
| 표 | 테이블 이름: {entityIdentifier}의 검색 결과 처리 열:
|
항목 |
프로세스 가이드로 프로세스와 연결된 이벤트 가져오기
설명
VMware Carbon Black Enterprise EDR의 정보를 기반으로 특정 프로세스와 연결된 이벤트를 가져옵니다. 이 작업을 사용하면 '프로세스 검색' 작업보다 특정 프로세스 활동에 관한 자세한 결과를 얻을 수 있습니다. 작업이 작동하려면 Google SecOps에서 처리한 아티팩트가 작업에 전달되어야 하며 프로세스 GUID 유형이어야 합니다.
매개변수
| 매개변수 표시 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
|---|---|---|---|---|
| 검색 기준 | 문자열 | 해당 사항 없음 | 아니요 | 요청의 검색 기준을 지정합니다. 현재는 'event_type' 값만 검색 기준으로 허용됩니다(예: netconn). 쉼표로 구분된 문자열로 여러 값이 허용됩니다. |
| 쿼리 | 검색 | 해당 사항 없음 | 예 | 프로세스 검색에서 실행할 쿼리입니다. 예를 들어 'netconn_action:ACTION_CONNECTION_CREATE OR netconn_action:ACTION_CONNECTION_ESTABLISHED'입니다. |
| 기간 | 정수 | 4 | 아니요 | 알림을 가져올 기간(단위: 시간)을 지정합니다. |
| 레코드 한도 | 정수 | 20 | 아니요 | 작업에서 반환할 수 있는 레코드 수를 지정합니다. |
| 정렬 기준 | 문자열 | 해당 사항 없음 | 아니요 | 데이터 정렬을 위한 매개변수를 지정합니다. |
| 정렬 순서 | DDL | ASC | 아니요 | 정렬 순서 |
플레이북 사용 사례 예시
특정 프로세스 활동을 조사합니다.
CB 플랫폼에서 관리하는 특정 호스트와 관련된 알림을 분석하는 중에 호스트에서 의심스러운 프로세스가 실행되고 있는 것으로 확인되었습니다. Google SecOps 사용자는 CB Enterprise EDR 기능을 사용하여 Google SecOps에서 지정된 프로세스와 연결된 이벤트를 가져오는 작업이 필요합니다.
실행
이 작업은 항목에서 실행되지 않습니다.
작업 결과
스크립트 결과
| 스크립트 결과 이름 | 값 옵션 | 예 |
|---|---|---|
| is_success | True/False | is_success:False |
JSON 결과
{
"results": [
{
"backend_timestamp": "2020-04-26T18:38:50.128Z",
"created_timestamp": "2020-05-19T03:56:53.483Z",
"event_guid": "ufzid3pPQs-yrRlPBe8-ww",
"event_hash": "ce6a949bcd3879897c9eac258ec6a091",
"event_timestamp": "2020-04-26T18:34:16.258Z",
"event_type": "netconn",
"legacy": false,
"netconn_action": "ACTION_CONNECTION_CREATE",
"netconn_inbound": true,
"netconn_local_ipv6": "FF020000000000000000000000010003",
"netconn_local_port": 5355,
"netconn_protocol": "PROTO_UDP",
"netconn_remote_ipv6": "FE800000000000000000000000000000",
"netconn_remote_port": 58994,
"process_guid": "7DESJ9GN-002efb20-000003ec-00000000-1d5fb6d63ba535c",
"process_pid": 1004
},
...
]
}
케이스 월
| 결과 유형 | 값 / 설명 | 유형 |
|---|---|---|
| 출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다.
작업이 실패하고 플레이북 실행을 중지합니다.
|
일반 |
| 표 | 표 이름: Found events for process {process artifact identifier}(프로세스 {프로세스 아티팩트 식별자}의 이벤트 발견) 열: 반환된 결과를 기반으로 자동으로 생성되어야 합니다. |
항목 |
해시 보강
설명
VMware Carbon Black Enterprise EDR의 정보를 기반으로 Google SecOps 파일 해시 엔티티를 보강합니다.
플레이북 사용 사례 예시
CB Enterprise EDR의 정보로 Google SecOps filehash 항목을 보강합니다.
CB 플랫폼 센서가 있는 호스트와 연결된 멀웨어 감염 가능성 알림을 처리하는 동안 사용자는 조사상의 이유로 해당 알림과 연결된 특정 파일 해시에 관한 CB Enterprise EDR (플랫폼의 일부)의 보강 데이터가 필요합니다. 예를 들어 보강의 일환으로 사용자는 이 파일 해시가 조직에서 처음 감지된 시점과 호스트에 관한 관련 파일 해시 메타데이터를 가져올 수 있습니다.
실행
이 작업은 Sha256 형식의 Filehash 항목에서 실행됩니다.
작업 결과
항목 보강
| 보강 필드 이름 | 소스(JSON 키) | 로직 - 적용 시기 |
|---|---|---|
| CB_ENT_EDR.sha256 | sha256 | 항상 |
| CB_ENT_EDR.md5 | md5 | 항상 |
| CB_ENT_EDR.architecture | 아키텍처 | 항상 |
| CB_ENT_EDR.available_file_size | available_file_size | 항상 |
| CB_ENT_EDR.charset_id | charset_id | 항상 |
| CB_ENT_EDR.comments | 댓글 | null이 아닌 경우 |
| CB_ENT_EDR.company_name | company_name | 항상 |
| CB_ENT_EDR.copyright | 저작권 | 항상 |
| CB_ENT_EDR.file_available | file_available | 항상 |
| CB_ENT_EDR.file_description | file_description | 항상 |
| CB_ENT_EDR.file_size | file_size | 항상 |
| CB_ENT_EDR.file_version | file_version | 항상 |
| CB_ENT_EDR.internal_name | internal_name | 항상 |
| CB_ENT_EDR.lang_id | lang_id | null이 아닌 경우 |
| CB_ENT_EDR.original_filename | original_filename | 항상 |
| CB_ENT_EDR.os_type | os_type | 항상 |
| CB_ENT_EDR.private_build | private_build | null이 아닌 경우 |
| CB_ENT_EDR.product_description | product_description | null이 아닌 경우 |
| CB_ENT_EDR.product_name | product_name | 항상 |
| CB_ENT_EDR.product_version | product_version | 항상 |
| CB_ENT_EDR.special_build | special_build | null이 아닌 경우 |
| CB_ENT_EDR.trademark | trademark | null이 아닌 경우 |
| CB_ENT_EDR.found_times | num_devices | 항상 |
| CB_ENT_EDR.first_seen_device_timestamp | first_seen_device_timestamp | 항상 |
| CB_ENT_EDR.first_seen_device_id | first_seen_device_id | 항상 |
| CB_ENT_EDR.first_seen_device_name | first_seen_device_name | 항상 |
| CB_ENT_EDR.last_seen_device_timestamp | last_seen_device_timestamp | 항상 |
| CB_ENT_EDR.last_seen_device_id | last_seen_device_id | 항상 |
| CB_ENT_EDR.last_seen_device_name | last_seen_device_name | 항상 |
스크립트 결과
| 스크립트 결과 이름 | 값 옵션 | 예 |
|---|---|---|
| is_success | True/False | is_success:False |
JSON 결과
{
"sha256": "e24dd278cec867486b68418c9066ffa9bd4f394dac3ba94125d58415f677f0f4",
"architecture": [
"amd64"
],
"available_file_size": 207800,
"charset_id": 1200,
"comments": null,
"company_name": "Example Organization",
"copyright": "Copyright © 2019",
"file_available": true,
"file_description": "OpenJDK Platform binary",
"file_size": 207800,
"file_version": "8.0.2320.9",
"internal_name": "java",
"lang_id": null,
"md5": "afede6f64ed8878bc0cac57e1831a3bc",
"original_filename": "java.exe",
"os_type": "WINDOWS",
"private_build": null,
"product_description": null,
"product_name": "OpenJDK Platform 8",
"product_version": "8.0.2320.9",
"special_build": null,
"trademark": null
}
케이스 월
| 결과 유형 | 값 / 설명 | 유형 |
|---|---|---|
| 출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다.
작업이 실패하고 플레이북 실행을 중지합니다.
|
일반 |