ThreatDown EDR 로그 수집
이 문서에서는 웹훅을 사용하여 로그를 Google Security Operations로 푸시하도록 ThreatDown EDR (Nebula 및 OneView)을 구성하는 방법을 설명합니다.
Malwarebytes에서 제공하는 ThreatDown EDR은 위협 탐지, 의심스러운 활동 모니터링, 엔드포인트 보호를 비롯한 엔드포인트 탐지 및 대응 기능을 제공합니다. Nebula 플랫폼은 단일 테넌트 환경을 제공하는 반면 OneView는 MSP를 위한 멀티 테넌트 관리 콘솔입니다. 두 플랫폼 모두 MALWAREBYTES_EDR 로그 유형을 사용하여 탐지 및 의심스러운 활동 데이터를 통합 데이터 모델 (UDM) 이벤트로 내보내는 Google Security Operations와의 기본 통합을 지원합니다.
시작하기 전에
다음 기본 요건이 충족되었는지 확인합니다.
- Google SecOps 인스턴스
- ThreatDown EDR (Nebula 또는 OneView)은 로그 전송을 위한 웹훅을 지원합니다.
- Google Cloud Console에 대한 액세스 권한 (API 키 생성용)
- Nebula의 경우: Nebula 콘솔의 최고 관리자 액세스 권한 및 엔드포인트 탐지 및 대응을 위한 활성 구독이 있는 활성 Nebula 계정
- OneView의 경우: OneView 콘솔의 전역 관리자 액세스 권한 및 엔드포인트 탐지 및 대응을 위한 활성 구독이 있는 사이트
- Google Cloud Platform API 키를 생성하기 위한 Google Cloud 프로젝트에 대한 관리자 액세스 권한
- Google Chronicle SIEM에 대한 관리자 액세스 권한
Google SecOps에서 웹훅 피드 만들기
피드 만들기
- **SIEM 설정 > 피드** 로 이동합니다.
- 새 피드 추가 를 클릭합니다.
- 다음 페이지에서 단일 피드 구성 을 클릭합니다.
- 피드 이름 필드에 피드 이름을 입력합니다 (예:
Malwarebytes). - 소스 유형 으로 웹훅 을 선택합니다.
- 로그 유형 으로 Malwarebytes EDR 을 선택합니다.
- 다음 을 클릭합니다.
- 다음 입력 파라미터의 값을 지정합니다.
- 분할 구분 기호 (선택사항): 비워 둡니다. ThreatDown의 각 웹훅 요청에는 구조화된 이벤트 데이터가 포함되어 있습니다.
- 애셋 네임스페이스: 애셋 네임스페이스
- 수집 라벨: 이 피드의 이벤트에 적용할 라벨
- 다음 을 클릭합니다.
- 확정 화면에서 새 피드 구성을 검토한 다음 제출 을 클릭합니다.
피드 엔드포인트 URL 가져오기
- 피드의 세부정보 탭으로 이동합니다.
- 엔드포인트 정보 섹션에서 피드 엔드포인트 URL 을 복사합니다.
URL 형식은 다음과 같습니다.
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate또는
https://<REGION>-malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate다음 단계를 위해 이 URL을 저장합니다.
보안 비밀 키 생성 및 저장
피드를 만든 후 인증을 위한 보안 비밀 키를 생성해야 합니다.
- 피드의 보안 비밀 키 탭으로 이동합니다.
- 보안 비밀 키 생성 을 클릭합니다.
- 보안 비밀 키가 표시된 대화상자가 나타납니다.
보안 비밀 키를 복사하여 안전한 곳에 저장 합니다.
중요: 보안 비밀 키는 한 번만 표시되며 나중에 검색할 수 없습니다. 분실할 경우 새 보안 비밀 키를 생성해야 합니다.
완료 를 클릭합니다.
Google Cloud API 키 만들기
Google SecOps와의 ThreatDown 통합에는 Google Cloud Platform (GCP) API 키가 필요합니다.
API 키 만들기
- Google Cloud Console 사용자 인증 정보 페이지로 이동합니다.
- 프로젝트 (Chronicle 인스턴스와 연결된 프로젝트)를 선택합니다.
- 사용자 인증 정보 만들기 > API 키를 클릭합니다.
- API 키가 생성되어 대화상자에 표시됩니다.
- API 키를 복사하여 안전한 곳에 저장합니다.
- 팝업에서 API 키 수정 을 클릭합니다.
API 키 제한
- API 키 설정 페이지에서 다음을 수행합니다.
- 이름: 설명이 포함된 이름 (예:
Chronicle Webhook API Key)을 입력합니다.
- 이름: 설명이 포함된 이름 (예:
- 키 제한 을 선택합니다.
드롭다운 메뉴에서 Chronicle API 를 선택합니다.
저장 을 클릭합니다.
ThreatDown EDR 웹훅 구성
ThreatDown은 Nebula 및 OneView 콘솔 모두의 통합 페이지에서 기본 Google Chronicle SIEM 통합을 제공합니다. 플랫폼과 일치하는 아래 섹션을 선택합니다.
옵션 A: Nebula 구성
- 최고 관리자 사용자 인증 정보를 사용하여 cloud.malwarebytes.com에서 ThreatDown Nebula 콘솔에 로그인합니다.
- 왼쪽 탐색 메뉴에서 통합 페이지로 이동합니다.
- Google Chronicle SIEM 을 찾아 구성 을 클릭합니다.
- 다음 구성 세부정보를 제공합니다.
- 웹훅 URL: Google SecOps 피드 세부정보 페이지의 엔드포인트 정보 필드에서 복사한 URL을 붙여넣습니다.
- 웹훅 보안 비밀: Google SecOps 피드 보안 비밀 키 탭에서 생성된 보안 비밀 키를 붙여넣습니다.
- GCP API 키: Google Cloud에서 가져온 API 키를 붙여넣습니다.
- 저장 을 클릭합니다.
저장 후 Nebula는 탐지 및 의심스러운 활동 로그를 Google SecOps로 직접 내보내기 시작합니다.
옵션 B: OneView 구성
- 전역 관리자 사용자 인증 정보를 사용하여 cloud.malwarebytes.com에서 ThreatDown OneView 콘솔에 로그인합니다.
- 왼쪽 탐색 메뉴에서 통합 페이지로 이동합니다.
- Google Chronicle SIEM 을 찾아 구성 을 클릭합니다.
- 설정 사용 을 사용 설정으로 전환합니다.
- 다음 구성 세부정보를 제공합니다.
- 웹훅 URL: Google SecOps 피드 세부정보 페이지의 엔드포인트 정보 필드에서 복사한 URL을 붙여넣습니다.
- 웹훅 보안 비밀: Google SecOps 피드 보안 비밀 키 탭에서 생성된 보안 비밀 키를 붙여넣습니다.
- GCP API 키: Google Cloud에서 가져온 API 키를 붙여넣습니다.
- 사이트 선택: 데이터를 수집할 사이트를 선택합니다.
- 저장 을 클릭합니다.
저장 후 OneView는 선택한 사이트의 탐지 및 의심스러운 활동 로그를 Google SecOps로 직접 내보내기 시작합니다.
로그 수집 확인
통합을 구성한 후 ThreatDown EDR 로그가 Google SecOps로 수집되는지 확인합니다.
- Google SecOps에서 조사 > SIEM 검색으로 이동합니다.
다음 UDM 검색어를 입력합니다.
metadata.vendor_name = "Malwarebytes" and metadata.log_type = "MALWAREBYTES_EDR"원하는 기간을 선택합니다.
검색 실행 을 클릭합니다.
이벤트 탭을 클릭합니다. ThreatDown EDR에서 수집된 데이터는 통합 데이터 모델 (UDM)을 사용하여 표시됩니다.
웹훅 한도 및 권장사항
요청 한도
| 한도 | 값 |
|---|---|
| 최대 요청 크기 | 4 MB |
| 최대 QPS (초당 쿼리 수) | 15,000 |
| 요청 제한 시간 | 30초 |
| 재시도 동작 | 지수 백오프를 사용한 자동 |
도움이 더 필요하신가요?
- Google Chronicle SIEM과의 Nebula 통합 사용 설정 - support.threatdown.com
- Google Chronicle SIEM과의 OneView 통합 사용 설정 - support.threatdown.com
- Google Chronicle SIEM과의 Nebula 통합 요구사항 - support.threatdown.com
- Google Chronicle SIEM과의 OneView 통합 요구사항 - support.threatdown.com
- Google Chronicle SIEM 블로그 게시물이 포함된 ThreatDown Nebula 및 OneView - threatdown.com
UDM 매핑 표
| 로그 필드 | UDM 매핑 | 논리 |
|---|---|---|
| payload.payload.sa_details.data.list.0.details.0.detected_by.0.description | metadata.description | 값이 직접 복사됨 |
| has_principal | metadata.event_type | 처음에 'GENERIC_EVENT'로 설정한 다음 has_principal 및 has_target_file인 경우 'SCAN_FILE', has_principal인 경우 'STATUS_UPDATE', has_user인 경우 'USER_UNCATEGORIZED', 그 밖의 경우에는 'GENERIC_EVENT'로 설정합니다. |
| has_user | metadata.event_type | |
| has_target_file | metadata.event_type | |
| 유형 | metadata.product_event_type | 값이 직접 복사됨 |
| id | metadata.product_log_id | 값이 직접 복사됨 |
| machine.id | principal.asset.asset_id | 'MACHINE:' 및 machine.id에서 연결됨 |
| machine.name | principal.asset.hostname | 값이 직접 복사됨 |
| payload.payload.group_name | principal.group.group_display_name | 값이 직접 복사됨 |
| account.default_group_id | principal.group.product_object_id | 값이 직접 복사됨 |
| machine.name | principal.hostname | 값이 직접 복사됨 |
| account.id | principal.user.product_object_id | 값이 직접 복사됨 |
| account.name | principal.user.user_display_name | 값이 직접 복사됨 |
| account.owner_user_id | principal.user.userid | 값이 직접 복사됨 |
| payload.payload.category | security_result.category_details | 값이 직접 복사됨 |
| payload.payload.sa_details.data.mitre_attack_mapping.hosts file change.0.tactic.name | security_result.detection_fields | 각각 키가 있는 라벨로 설정한 후 병합됨 |
| payload.payload.sa_details.data.mitre_attack_mapping.hosts file change.0.tactic.description | security_result.detection_fields | |
| payload.payload.sa_details.data.mitre_attack_mapping.hosts file change.0.tactic.hyperlink | security_result.detection_fields | |
| payload.payload.sa_details.data.mitre_attack_mapping.hosts file change.0.tactic.tag | security_result.detection_fields | |
| payload.payload.policy_id | security_result.detection_fields | |
| payload.payload.policy_name | security_result.detection_fields | |
| payload.id | security_result.detection_fields | |
| payload.payload.sa_details.data.list.0.details.0.detected_by.0.tag | security_result.summary | 값이 직접 복사됨 |
| payload.payload.threat_name | security_result.threat_name | 값이 직접 복사됨 |
| payload.payload.sa_details.data.list.0.user | target.administrative_domain | grok 패턴을 사용하여 도메인을 가져오기 위해 추출됨 |
| payload.payload.path | target.file.full_path | 값이 직접 복사됨 |
| payload.payload.sa_process_graph.data.children.0.children.0.node_info.process_path | target.process.file.full_path | 값이 직접 복사됨 |
| payload.payload.sa_process_graph.data.children.0.node_info.process_path | target.process.parent_process.file.full_path | 값이 직접 복사됨 |
| payload.payload.sa_process_graph.data.children.0.node_info.process_id | target.process.parent_process.pid | 값이 직접 복사됨 |
| payload.payload.sa_process_graph.data.children.0.children.0.node_info.process_id | target.process.pid | 값이 직접 복사됨 |
| payload.payload.sa_details.data.list.0.user | target.user.userid | grok 패턴을 사용하여 tar_user를 가져오기 위해 추출됨 |
| metadata.product_name | metadata.product_name | 'Malwarebytes EDR'로 설정됨 |
| metadata.vendor_name | metadata.vendor_name | 'Malwarebytes'로 설정됨 |
도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가에게 문의하여 답변을 받으세요.