Trellix Email Security Cloud (이전 명칭: FireEye ETP) 로그 수집
파서 버전: 10.0
이 문서에서는 Cloud Run 함수를 통해 Google Cloud Storage V2를 사용하여 Trellix Email Security - Cloud Edition (이전 명칭: FireEye ETP) 로그를 Google Security Operations에 수집하는 방법을 설명합니다.
Trellix Email Security - Cloud Edition은 피싱, 멀웨어, 업무용 이메일 침해, 사칭 공격 등 지능형 이메일 위협을 방어하는 클라우드 기반 이메일 보안 게이트웨이입니다. 이 솔루션은 Trellix Advanced Research Center에서 제공하는 URL 방어, 첨부파일 샌드박스, 실시간 위협 인텔리전스를 통해 포괄적인 인바운드 및 아웃바운드 이메일 보안을 제공합니다.
시작하기 전에
다음 기본 요건이 충족되었는지 확인합니다.
- Google SecOps 인스턴스입니다.
- 다음 API가 사용 설정된 Google Cloud 프로젝트
- Cloud Storage
- Cloud Run Functions
- Cloud Scheduler
- Pub/Sub
- Cloud Build
- GCS 버킷, Cloud Run 함수, Pub/Sub 주제, Cloud Scheduler 작업을 만들고 관리할 수 있는 권한
- FireEye ETP (Trellix Email Security - Cloud Edition) 관리 콘솔에 대한 권한 있는 액세스
- Trellix 포털에서 API 키를 만들 수 있는 관리자 권한
- Alerts 엔드포인트에 액세스할 수 있는 FireEye ETP API 키
Google Cloud Storage 버킷 만들기
- Google Cloud 콘솔로 이동합니다.
- 프로젝트를 선택합니다.
- 탐색 메뉴에서 Cloud Storage > 버킷으로 이동합니다.
- 버킷 만들기를 클릭합니다.
다음 구성 세부정보를 제공합니다.
설정 값 버킷 이름 지정 전역적으로 고유한 이름 (예: fireeye-etp-logs)을 입력합니다.위치 유형 필요에 따라 선택 (리전, 이중 리전, 멀티 리전) 위치 위치를 선택합니다 (예: us-central1).스토리지 클래스 Standard (자주 액세스하는 로그에 권장) 액세스 제어 균일 (권장) 보호 조치 선택사항: 객체 버전 관리 또는 보관 정책 사용 설정 만들기를 클릭합니다.
FireEye ETP API 사용자 인증 정보 수집
Cloud Run 함수가 FireEye ETP에서 알림을 가져올 수 있도록 하려면 적절한 권한이 있는 API 키를 만들어야 합니다.
API 키 만들기
- FireEye ETP 관리 콘솔에 로그인합니다.
- 상단 탐색 메뉴에서 내 설정을 클릭합니다.
- API 키 탭을 클릭합니다.
- API 키 만들기를 클릭합니다.
- 제품 섹션에서 이메일 위협 방지를 선택합니다.
- 사용 권한 섹션에서 사용 가능한 모든 사용 권한을 선택합니다.
- 만들기 또는 생성을 클릭합니다.
API 사용자 인증 정보 기록
다음 정보를 기록합니다.
- API 키: 고유한 API 키입니다.
- 기준 URL: 리전의 정규화된 도메인 이름입니다 (예:
etp.us.fireeye.com).
일반적인 기본 URL은 다음과 같습니다.
etp.us.fireeye.com(미국)etp.eu.fireeye.com(EU)etp.ap.fireeye.com(아시아 태평양)
API 권한 확인
| 제품/이용 권한 | 목적 |
|---|---|
| 이메일 위협 방어 | 이메일 알림, 추적 데이터, 위협 정보에 대한 액세스 |
| 모든 사용 권한 | 알림, 이메일 추적, 스팸 격리 저장소 API에 대한 전체 액세스 권한 |
API 액세스 테스트
API 키가 유효한지 확인합니다.
curl -s -o /dev/null -w "%{http_code}" \ -H "x-fireeye-api-key: YOUR_API_KEY" \ "[https://etp.us.fireeye.com/api/v1/alerts?size=1](https://etp.us.fireeye.com/api/v1/alerts?size=1)"
200 응답 코드는 API 키가 유효함을 확인합니다.
Cloud Run 함수의 서비스 계정 만들기
Cloud Run 함수에는 GCS에 로그를 쓰고 Pub/Sub 메시지를 수신할 수 있는 권한이 있는 서비스 계정이 필요합니다.
- Google Cloud 콘솔에서 IAM 및 관리자 > 서비스 계정으로 이동합니다.
- 서비스 계정 만들기를 클릭합니다.
- 이름 (예:
fireeye-etp-ingestion)과 설명을 입력합니다. - 다음 역할을 부여합니다.
- 스토리지 객체 관리자
- Cloud Run 호출자
- 완료를 클릭합니다.
Pub/Sub 주제 만들기
- Google Cloud 콘솔에서 Pub/Sub > 주제로 이동합니다.
- 주제 만들기를 클릭합니다.
- Topic ID:
fireeye-etp-trigger. - 만들기를 클릭합니다.
Cloud Run 함수 만들기
FireEye ETP Alerts API를 쿼리하고 결과를 NDJSON으로 GCS에 쓰는 Cloud Run 함수를 만듭니다.
함수 코드 준비
- Google Cloud 콘솔에서 Cloud Run 함수로 이동합니다.
- 함수 만들기를 클릭합니다.
- 환경: 2세대
- 함수 이름:
fireeye-etp-ingestion - 리전: GCS 버킷과 동일한 리전을 선택합니다.
- 트리거 유형: Cloud Pub/Sub
- Cloud Pub/Sub 주제:
fireeye-etp-trigger. - 서비스 계정: 이전에 만든 서비스 계정을 선택합니다.
- 다음을 클릭합니다.
- 런타임: Python 3.11 이상
- 진입점:
main main.py에 다음을 붙여넣습니다.
"""Cloud Run function to ingest FireEye ETP alerts into GCS.""" import json import os import time from datetime import datetime, timedelta, timezone import functions_framework import urllib3 from google.cloud import storage GCS_BUCKET = os.environ["GCS_BUCKET"] GCS_PREFIX = os.environ.get("GCS_PREFIX", "fireeye_etp") STATE_KEY = os.environ.get("STATE_KEY", "fireeye_etp_state.json") API_KEY = os.environ["API_KEY"] API_BASE = os.environ.get("API_BASE", "etp.us.fireeye.com") MAX_RECORDS = int(os.environ.get("MAX_RECORDS", "10000")) PAGE_SIZE = int(os.environ.get("PAGE_SIZE", "100")) LOOKBACK_HOURS = int(os.environ.get("LOOKBACK_HOURS", "1")) http = urllib3.PoolManager() gcs = storage.Client() def _load_state() -> dict: """Load the last event time from GCS state file.""" bucket = gcs.bucket(GCS_BUCKET) blob = bucket.blob(f"{GCS_PREFIX}/{STATE_KEY}") if blob.exists(): return json.loads(blob.download_as_text()) return {} def _save_state(state: dict) -> None: """Persist the state dict back to GCS.""" bucket = gcs.bucket(GCS_BUCKET) blob = bucket.blob(f"{GCS_PREFIX}/{STATE_KEY}") blob.upload_from_string( json.dumps(state), content_type="application/json" ) def _api_get(path: str, params: dict, retries: int = 5) -> dict: """Execute a GET request against the FireEye ETP API with retry on 429.""" url = f"https://{API_BASE}{path}" headers = { "x-fireeye-api-key": API_KEY, "Accept": "application/json", } backoff = 2 for attempt in range(retries): resp = http.request( "GET", url, headers=headers, fields=params ) if resp.status == 200: return json.loads(resp.data.decode("utf-8")) if resp.status == 429: wait = backoff * (2 ** attempt) print( f"Rate limited (429). Retrying in {wait}s " f"(attempt {attempt + 1}/{retries})." ) time.sleep(wait) continue raise RuntimeError( f"FireEye ETP API error: {resp.status} — {resp.data.decode('utf-8')}" ) raise RuntimeError( "FireEye ETP API rate limit exceeded after maximum retries." ) def _fetch_alerts(since: str) -> list: """Fetch alerts from FireEye ETP with offset-based pagination.""" all_alerts = [] offset = 0 while len(all_alerts) < MAX_RECORDS: params = { "from_last_modified_on": since, "size": str(PAGE_SIZE), "offset": str(offset), } data = _api_get("/api/v1/alerts", params) alerts = data.get("data", []) if not alerts: break all_alerts.extend(alerts) offset += len(alerts) if len(alerts) < PAGE_SIZE: break return all_alerts[:MAX_RECORDS] def _write_ndjson(alerts: list, run_ts: str) -> str: """Write alerts as NDJSON to GCS and return the blob path.""" bucket = gcgcs.bucketCS_BUCKET) blob_path = ( f"{GCS_PREFIX}/year={run_ts[:4]}/month={run_ts[5:7]}/" f"day={run_ts[8:10]}/{run_ts}_alerts.ndjson" ) blob = bucket.blob(blob_path) ndjson = "\n".join(json.dumps(a, separators=(",", ":")) for a in alerts) blob.upupload_from_stringdjson, content_type="application/x-ndjson") return blob_path @functions_framework.cloud_event def main(cloud_event): """Entry point triggered by Pub/Sub via Cloud Scheduler.""" state = _load_state() now = datetime.now(timezone.utc) since = ststateet( "last_event_time", (now - timedelta(hours=LOOKBACK_HOURS)).strftime( "%Y-%m-%dT%H:%M:%S.000" ), ) print(f"Fetching FireEye ETP alerts since {since}.") alerts = _fetch_alerts(since) if not alerts: print("No new alerts found.") return "OK" run_ts = now.strftime("%Y-%m-%dT%H%M%SZ") blob_path = _write_ndjson(alerts, run_ts) print(f"Wrote {len(alerts)} alerts to gs://{GCS_BUCKET}/{blob_path}.") latest = max( a.get("attributes", {}) .get("meta", {}) .get("last_modified_on", since) for a in alerts ) state["last_event_time"] = latest _save_state(state) print(f"State updated. last_event_time={latest}.") return "OK"requirements.txt에 다음을 붙여넣습니다.
functions-framework==3.* google-cloud-storage==2.* urllib3==2.*
환경 변수 구성
런타임 환경 변수에서 다음을 추가합니다.
| 변수 | 예시 값 |
|---|---|
GCS_BUCKET |
fireeye-etp-logs |
GCS_PREFIX |
fireeye_etp |
STATE_KEY |
fireeye_etp_state.json |
API_KEY |
FireEye ETP API 키 |
API_BASE |
etp.us.fireeye.com |
MAX_RECORDS |
10000 |
PAGE_SIZE |
100 |
LOOKBACK_HOURS |
1 |
- 할당된 메모리를 256MB로, 시간 제한을 540초로 설정합니다.
- 배포를 클릭합니다.
Cloud Scheduler 작업 만들기
- Google Cloud 콘솔에서 Cloud Scheduler로 이동합니다.
- 작업 만들기를 클릭합니다.
- 이름:
fireeye-etp-ingestion-schedule. - 빈도:
*/5 * * * *(5분마다) - 시간대:
UTC - 계속을 클릭합니다.
- 대상 유형: Pub/Sub
- Cloud Pub/Sub 주제:
fireeye-etp-trigger. - 메일 본문:
{"run": true} - 만들기를 클릭합니다.
Google SecOps 서비스 계정 가져오기
- SIEM 설정 > 피드로 이동합니다.
- 새 피드 추가를 클릭하고 단일 피드 구성을 선택합니다.
- 피드 이름:
FireEye ETP Alerts - 소스 유형: Google Cloud Storage V2
- 로그 유형: FireEye ETP
- 서비스 계정 가져오기를 클릭하고 표시된 이메일을 복사합니다.
- 다음을 클릭합니다.
- 스토리지 버킷 URL:
gs://fireeye-etp-logs/fireeye_etp/(후행 슬래시 포함) - 소스 삭제 옵션: 환경설정에 따라 선택합니다.
- 다음을 클릭하고 검토한 후 제출을 클릭합니다.
IAM 권한 부여
서비스 계정에는 버킷에 대한 스토리지 객체 뷰어 역할이 필요합니다.
- Cloud Storage > 버킷으로 이동합니다.
- 버킷을 선택하고 권한 탭을 클릭합니다.
- 액세스 권한 부여를 클릭합니다.
- 주 구성원 추가: Google SecOps 서비스 계정 이메일을 붙여넣습니다.
- 역할 할당: 스토리지 객체 뷰어를 선택합니다.
- 저장을 클릭합니다.
UDM 매핑 테이블
| 로그 필드 | UDM 매핑 | 로직 |
|---|---|---|
| 정보 | about_field에서 병합됨 | |
| about.file.full_path | 비어 있지 않은 경우 entry.attributes.email.attachment의 값 | |
| about.file.md5 | entry.attributes.alert.malware_md5의 값 | |
| about.hostname | entry.attributes.email.attachment에서 추출됨 | |
| about.url | hxxp로 시작하는 경우 정규화된 full_path | |
| additional.fields | 다수의 내부 라벨 및 메타데이터 필드에서 병합됨 | |
| intermediary | 중개업체에서 병합됨 | |
| intermediary.ip | alert.smtp-message.ip_address에서 병합됨 | |
| intermediary.location.country_or_region | %{alert.smtp-message.country}로 설정 | |
| intermediary.user.email_addresses | src_email에서 병합됨 | |
| metadata.description | %{alert.name}으로 설정 | |
| metadata.event_timestamp | accepted_timestamp, last_modified_on 또는 attack-time에서 일치함 | |
| metadata.event_type | 네트워크, 사용자 또는 상태 업데이트 조건에 따라 분류됨 | |
| metadata.product_log_id | 메시지 ID, 속성 ID 또는 알림 UUID로 설정됩니다. | |
| metadata.product_version | %{version}으로 설정 | |
| metadata.url_back_to_product | %{entry.links.detail}로 설정 | |
| network.application_protocol | 'SMTP'로 설정 | |
| network.direction | 대문자로 된 traffic_type (INBOUND/OUTBOUND) | |
| network.dns_domain | %{attributes.domain}으로 설정 | |
| network.email.cc | 헤더 또는 배열의 참조 필드에서 병합됨 | |
| network.email.from | SMTP 또는 헤더 '보낸사람' 필드에서 설정 | |
| network.email.mail_id | 다운스트림 또는 원본 메시지 ID에서 설정 | |
| network.email.subject | 헤더 제목 필드에서 병합됨 | |
| network.email.to | SMTP 수신자 또는 헤더 '받는사람' 필드에서 병합됨 | |
| principal.administrative_domain | ETP 메시지 ID 또는 소스 도메인으로 설정 | |
| principal.asset.hostname | 소스 호스트 또는 다운스트림 호스트 이름으로 설정 | |
| principal.asset.ip | sender_ip 또는 source_ip 필드에서 병합됨 | |
| principal.asset.mac | 비어 있지 않은 경우 소스 MAC에서 병합됨 | |
| principal.hostname | 소스 호스트 또는 다운스트림 호스트 이름으로 설정 | |
| principal.ip | sender_ip 또는 source_ip 필드에서 병합됨 | |
| principal.labels | mail_from 및 rcpt_to 라벨과 병합됨 | |
| principal.location.country_or_region | 소스 국가 코드로 설정 | |
| principal.mac | 비어 있지 않은 경우 소스 MAC에서 병합됨 | |
| principal.user.email_addresses | alert.smtp-message.from에서 병합됨 | |
| principal.user.user_display_name | 보낸사람 헤더 표시 이름 필드 설정 | |
| principal.user.userid | 원본 메시지 ID로 설정 | |
| principal.email | '보낸 사람' 헤더 이메일 필드 설정 | |
| security_result | 여러 결과 구조에서 병합됨 | |
| security_result.about.resource.attribute.creation_time | 알림 타임스탬프 필드에서 일치 | |
| security_result.action | 상태가 삭제됨, 격리됨 또는 삭제됨인 경우 'BLOCK' | |
| security_result.action_details | %{alert.action}으로 설정 | |
| security_result.attack_details.tactics | MITRE ID 또는 이름을 기반으로 병합됨 | |
| security_result.attack_details.techniques | MITRE 기법 데이터를 기반으로 병합됨 | |
| security_result.category | threat_type이 피싱과 일치하는 경우 'MAIL_PHISHING' | |
| security_result.category_details | threat_type 또는 verdict에서 병합됨 | |
| security_result.detection_fields | 다수의 상태 및 평결 라벨에서 병합됨 | |
| security_result.risk_score | 심각도에 따라 5.0 또는 10.0으로 설정 | |
| security_result.severity | 알림 심각도에 따라 높음/중간/낮음으로 설정 | |
| security_result.severity_details | %{alert_severity}로 설정 | |
| security_result.summary | last_malware 또는 다운스트림 설명에서 설정 | |
| security_result.threat_id | 레거시 ID 또는 추적 ID에서 설정 | |
| security_result.threat_name | 요약 또는 멀웨어 이름에서 설정 | |
| security_result.verdict_info | 결과가 RISKWARE인 경우 병합됨 | |
| target.asset.hostname | 전송 메시지 호스트 이름에서 설정 | |
| target.file.first_seen_time | 알림 공격 시간과 일치 | |
| target.file.first_submission_time | 멀웨어 제출 시간과 일치 | |
| target.file.full_path | 원래 멀웨어 경로에서 설정 | |
| target.file.md5 | 멀웨어 MD5 합계에서 설정 | |
| target.file.names | 멀웨어 이름에서 병합됨 | |
| target.file.sha256 | 멀웨어 SHA256에서 설정 | |
| target.file.size | 전송 메시지 바이트에서 설정 | |
| target.hostname | 전송 메시지 호스트 이름에서 설정 | |
| target.labels | 대기열 및 프로토콜 라벨과 병합됨 | |
| target.url | 원본 멀웨어 URL에서 설정 | |
| target.user.email_addresses | 타겟 이메일 및 수신자 필드에서 병합됨 | |
| metadata.vendor_name | 'FireEye'로 설정 | |
| metadata.product_name | 'ETP'로 설정 | |
smtp-message.threat_type |
event.idm.read_only_udm.metadata.product_event_type |
변경 로그에서 매핑됨 |
smtp-message.protocol |
event.idm.read_only_udm.security_result.detection_fields |
변경 로그에서 매핑됨 |
entry.attributes.email.smtp.rcpt_to |
event.idm.read_only_udm.principal.resource.attribute.labels |
변경 로그에서 매핑됨 |
entry.attributes.email.smtp.mail_from |
event.idm.read_only_udm.principal.resource.attribute.labels |
변경 로그에서 매핑됨 |
alert.smtp-message.last-malware |
event.idm.read_only_udm.target.resource.attribute.labels |
변경 로그에서 매핑됨 |
alert.smtp-message.protocol |
event.idm.read_only_udm.target.resource.attribute.labels |
변경 로그에서 매핑됨 |
alert.smtp-message.queue-id |
event.idm.read_only_udm.target.resource.attribute.labels |
변경 로그에서 매핑됨 |
alert.ack |
event.idm.read_only_udm.target.resource.attribute.labels |
변경 로그에서 매핑됨 |
mta_msg_id |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
msg |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
domain |
event.idm.read_only_udm.security_result.detection_fields |
변경 로그에서 매핑됨 |
original |
event.idm.read_only_udm.security_result.detection_fields |
변경 로그에서 매핑됨 |
alert_date |
event.idm.read_only_udm.metadata.event_timestamp |
변경 로그에서 매핑됨 |
smtp-message.ip_address |
event.idm.read_only_udm.principal.ip 및 event.idm.read_only_udm.principal.asset.ip |
변경 로그에서 매핑됨 |
smtp-message.threat_type |
event.idm.read_only_udm.security_result.summary |
변경 로그에서 매핑됨 |
smtp-message.threat_type_description |
event.idm.read_only_udm.security_result.description |
변경 로그에서 매핑됨 |
email-header.to |
event.idm.read_only_udm.network.email.to |
변경 로그에서 매핑됨 |
smtp-message.to |
event.idm.read_only_udm.network.email.to |
변경 로그에서 매핑됨 |
email-header.from |
event.idm.read_only_udm.network.email.from |
변경 로그에서 매핑됨 |
email-header.cc |
event.idm.read_only_udm.network.email.cc |
변경 로그에서 매핑됨 |
email-header.subject |
event.idm.read_only_udm.network.email.subject |
변경 로그에서 매핑됨 |
email-header.message-id |
event.idm.read_only_udm.network.email.mail_id |
변경 로그에서 매핑됨 |
malware.name |
event.idm.read_only_udm.security_result.threat_name |
변경 로그에서 매핑됨 |
malware.stype |
event.idm.read_only_udm.security_result.threat_id |
변경 로그에서 매핑됨 |
sha256 |
event.idm.read_only_udm.security_result.about.file.sha256 |
변경 로그에서 매핑됨 |
md5 |
event.idm.read_only_udm.security_result.about.file.md5 |
변경 로그에서 매핑됨 |
email_status |
event.idm.read_only_udm.security_result.action |
변경 로그에서 매핑됨 |
email_status |
event.idm.read_only_udm.security_result.action_details |
변경 로그에서 매핑됨 |
smtp-message.from |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
smtp-message.last-malware |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
smtp-message.country |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
smtp-message.queue-id |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
ack |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
is_read |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
alert.smtp-message.threat_type_description |
event.idm.read_only_udm.security_result.detection_fields |
변경 로그에서 매핑됨 |
custom.riskware_action |
event.idm.read_only_udm.security_result.detection_fields |
변경 로그에서 매핑됨 |
custom.riskware_result |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
alert_type |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
traffic_type |
event.idm.read_only_udm.network.direction |
변경 로그에서 매핑됨 |
domain_id |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
, |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
custom |
event.idm.read_only_udm.security_result.detection_fields |
변경 로그에서 매핑됨 |
alert.smtp-message.threat_type |
event.idm.read_only_udm.security_result.detection_fields |
변경 로그에서 매핑됨 |
alert.email-header.cc |
event.idm.read_only_udm.network.email.cc |
변경 로그에서 매핑됨 |
action_yara |
event.idm.read_only_udm.security_result.detection_fields |
변경 로그에서 매핑됨 |
verdict_yara |
event.idm.read_only_udm.security_result.detection_fields |
변경 로그에서 매핑됨 |
delivery_timestamp |
event.idm.read_only_udm.security_result.detection_fields |
변경 로그에서 매핑됨 |
syslog_process |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
timestamp |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
usr_display_name |
event.idm.read_only_udm.principal.user.user_display_name |
변경 로그에서 매핑됨 |
is_retro |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
alert.email-header.to |
event.idm.read_only_udm.target.user.email_addresses |
변경 로그에서 매핑됨 |
alert.action |
event.idm.read_only_udm.security_result.action_details |
변경 로그에서 매핑됨 |
alert.attack-time |
event.idm.read_only_udm.target.file.first_seen_time |
변경 로그에서 매핑됨 |
alert.dst.smtp-to |
event.idm.read_only_udm.target.user.email_addresses |
변경 로그에서 매핑됨 |
alert.email-header.from |
event.idm.read_only_udm.network.email.from |
변경 로그에서 매핑됨 |
alert.email-header.message-id |
event.idm.read_only_udm.network.email.mail_id |
변경 로그에서 매핑됨 |
alert.email-header.subject |
event.idm.read_only_udm.network.email.subject |
변경 로그에서 매핑됨 |
alert.ack |
event.idm.read_only_udm.target.labels |
변경 로그에서 매핑됨 |
alert.explanation.malware-detected.malware.application |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
alert.explanation.malware-detected.malware.downloaded-at |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
alert.explanation.malware-detected.malware.executed-at |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
alert.explanation.malware-detected.malware.md5sum |
event.idm.read_only_udm.target.file.md5 |
변경 로그에서 매핑됨 |
alert.explanation.malware-detected.malware.md5sum |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
alert.explanation.malware-detected.malware.name |
event.idm.read_only_udm.target.file.names |
변경 로그에서 매핑됨 |
alert.explanation.malware-detected.malware.original |
event.idm.read_only_udm.target.url |
변경 로그에서 매핑됨 |
alert.explanation.malware-detected.malware.original |
event.idm.read_only_udm.target.file.full_path |
변경 로그에서 매핑됨 |
alert.explanation.malware-detected.malware.original |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
alert.explanation.malware-detected.malware.profile |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
alert.explanation.malware-detected.malware.sha256 |
event.idm.read_only_udm.target.file.sha256 |
변경 로그에서 매핑됨 |
alert.explanation.malware-detected.malware.sha256 |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
alert.explanation.malware-detected.malware.stype |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
alert.explanation.malware-detected.malware.submitted-at |
event.idm.read_only_udm.target.file.first_submission_time |
변경 로그에서 매핑됨 |
alert.explanation.malware-detected.malware.type |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
alert.interface.interface |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
alert.interface.mode |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
alert.name |
event.idm.read_only_udm.metadata.description |
변경 로그에서 매핑됨 |
alert.occurred |
event.idm.read_only_udm.metadata.event_timestamp |
변경 로그에서 매핑됨 |
alert.sc-version |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
alert.severity |
event.idm.read_only_udm.security_result.severity |
변경 로그에서 매핑됨 |
alert.smtp-message.country |
event.idm.read_only_udm.intermediary.location.country_or_region |
변경 로그에서 매핑됨 |
alert.smtp-message.date |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
alert.smtp-message.from |
event.idm.read_only_udm.principal.user.email_addresses |
변경 로그에서 매핑됨 |
alert.smtp-message.ip_address |
event.idm.read_only_udm.intermediary.ip |
변경 로그에서 매핑됨 |
alert.smtp-message.last-malware |
event.idm.read_only_udm.target.labels |
변경 로그에서 매핑됨 |
alert.smtp-message.protocol |
event.idm.read_only_udm.target.labels |
변경 로그에서 매핑됨 |
alert.smtp-message.queue-id |
event.idm.read_only_udm.target.labels |
변경 로그에서 매핑됨 |
alert.smtp-message.to |
event.idm.read_only_udm.network.email.to |
변경 로그에서 매핑됨 |
alert.src.domain |
event.idm.read_only_udm.principal.administrative_domain |
변경 로그에서 매핑됨 |
alert.src.smtp-mail-from |
event.idm.read_only_udm.principal.user.email_addresses |
변경 로그에서 매핑됨 |
alert.uuid |
event.idm.read_only_udm.metadata.product_log_id |
변경 로그에서 매핑됨 |
mitre_mapping.bale.bale_id |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
mitre_mapping.bale.name |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
mitre_mapping.bale.os_change_id |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
mitre_mapping.bale.severity |
event.idm.read_only_udm.security_result.detection_fields |
변경 로그에서 매핑됨 |
mitre_mapping.bale.description |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
mitre_mapping.bale.id |
event.idm.read_only_udm.security_result.attack_details.techniques |
변경 로그에서 매핑됨 |
tactics_data |
event.idm.read_only_udm.security_result.attack_details.tactics |
변경 로그에서 매핑됨 |
alert.src.url |
event.idm.read_only_udm.principal.url |
변경 로그에서 매핑됨 |
mta_msg_id |
event.idm.read_only_udm.target.labels |
변경 로그에서 매핑됨 |
msg |
event.idm.read_only_udm.about.labels |
변경 로그에서 매핑됨 |
parent_uuid |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
verdict |
event.idm.read_only_udm.security_result.verdict_info |
변경 로그에서 매핑됨 |
version |
event.idm.read_only_udm.metadata.product_version |
변경 로그에서 매핑됨 |
report_id |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
object_uuid |
event.idm.read_only_udm.additional.fields |
변경 로그에서 매핑됨 |
type", "InternalId", "attributes.acceptedDateTime", "attributes.lastModifiedDateTime", "attributes.senderSMTP", "attributes.status", and "attributes.urlDomains |
additional.fields |
변경 로그에서 매핑됨 |
attributes.countryCode |
principal.location.country_or_region |
변경 로그에서 매핑됨 |
attributes.senderIP |
principal.ip |
변경 로그에서 매핑됨 |
attributes.recipientSMTP |
network.email.to |
변경 로그에서 매핑됨 |
attributes.senderHeader |
network.email.from |
변경 로그에서 매핑됨 |
attributes.subject |
network.email.subject |
변경 로그에서 매핑됨 |
alert.attributes.alert.malware_md5 |
about.file.md5 |
변경 로그에서 매핑됨 |
id", "alert.explanation.analysis","alert.explanation.malware_os_analysis","email.dod_report_id" and "email.status |
security_result.detection_fields |
변경 로그에서 매핑됨 |
alert.sha256 |
about.file.sha256 |
변경 로그에서 매핑됨 |
alert.severity |
security_result.severity |
변경 로그에서 매핑됨 |
email.smtp.mail_from |
network.email.from |
변경 로그에서 매핑됨 |
email.smtp.recipients |
network.email.to |
변경 로그에서 매핑됨 |
email.headers.subject |
network.email.subject |
변경 로그에서 매핑됨 |
email.source_ip |
principal.ip |
변경 로그에서 매핑됨 |
alert.explanation.malware_detected.malware.threat_type |
security_result.category |
변경 로그에서 매핑됨 |
alert.explanation.malware_detected.malware.trace_iden |
security_result.threat_id |
변경 로그에서 매핑됨 |
alert.explanation.malware_detected.malware.name |
security_result.threat_name |
변경 로그에서 매핑됨 |
email.source_country |
principal.location.country_or_region |
변경 로그에서 매핑됨 |
변경 로그
도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가에게 문의하여 답변을 받으세요.