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 버킷 만들기

  1. Google Cloud 콘솔로 이동합니다.
  2. 프로젝트를 선택합니다.
  3. 탐색 메뉴에서 Cloud Storage > 버킷으로 이동합니다.
  4. 버킷 만들기를 클릭합니다.
  5. 다음 구성 세부정보를 제공합니다.

    설정 값
    버킷 이름 지정 전역적으로 고유한 이름 (예: fireeye-etp-logs)을 입력합니다.
    위치 유형 필요에 따라 선택 (리전, 이중 리전, 멀티 리전)
    위치 위치를 선택합니다 (예: us-central1).
    스토리지 클래스 Standard (자주 액세스하는 로그에 권장)
    액세스 제어 균일 (권장)
    보호 조치 선택사항: 객체 버전 관리 또는 보관 정책 사용 설정
  6. 만들기를 클릭합니다.

FireEye ETP API 사용자 인증 정보 수집

Cloud Run 함수가 FireEye ETP에서 알림을 가져올 수 있도록 하려면 적절한 권한이 있는 API 키를 만들어야 합니다.

API 키 만들기

  1. FireEye ETP 관리 콘솔에 로그인합니다.
  2. 상단 탐색 메뉴에서 내 설정을 클릭합니다.
  3. API 키 탭을 클릭합니다.
  4. API 키 만들기를 클릭합니다.
  5. 제품 섹션에서 이메일 위협 방지를 선택합니다.
  6. 사용 권한 섹션에서 사용 가능한 모든 사용 권한을 선택합니다.
  7. 만들기 또는 생성을 클릭합니다.

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 메시지를 수신할 수 있는 권한이 있는 서비스 계정이 필요합니다.

  1. Google Cloud 콘솔에서 IAM 및 관리자 > 서비스 계정으로 이동합니다.
  2. 서비스 계정 만들기를 클릭합니다.
  3. 이름 (예: fireeye-etp-ingestion)과 설명을 입력합니다.
  4. 다음 역할을 부여합니다.
    • 스토리지 객체 관리자
    • Cloud Run 호출자
  5. 완료를 클릭합니다.

Pub/Sub 주제 만들기

  1. Google Cloud 콘솔에서 Pub/Sub > 주제로 이동합니다.
  2. 주제 만들기를 클릭합니다.
  3. Topic ID: fireeye-etp-trigger.
  4. 만들기를 클릭합니다.

Cloud Run 함수 만들기

FireEye ETP Alerts API를 쿼리하고 결과를 NDJSON으로 GCS에 쓰는 Cloud Run 함수를 만듭니다.

함수 코드 준비

  1. Google Cloud 콘솔에서 Cloud Run 함수로 이동합니다.
  2. 함수 만들기를 클릭합니다.
  3. 환경: 2세대
  4. 함수 이름: fireeye-etp-ingestion
  5. 리전: GCS 버킷과 동일한 리전을 선택합니다.
  6. 트리거 유형: Cloud Pub/Sub
  7. Cloud Pub/Sub 주제: fireeye-etp-trigger.
  8. 서비스 계정: 이전에 만든 서비스 계정을 선택합니다.
  9. 다음을 클릭합니다.
  10. 런타임: Python 3.11 이상
  11. 진입점: main
  12. 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"
    
  13. 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
  1. 할당된 메모리를 256MB로, 시간 제한을 540초로 설정합니다.
  2. 배포를 클릭합니다.

Cloud Scheduler 작업 만들기

  1. Google Cloud 콘솔에서 Cloud Scheduler로 이동합니다.
  2. 작업 만들기를 클릭합니다.
  3. 이름: fireeye-etp-ingestion-schedule.
  4. 빈도: */5 * * * * (5분마다)
  5. 시간대: UTC
  6. 계속을 클릭합니다.
  7. 대상 유형: Pub/Sub
  8. Cloud Pub/Sub 주제: fireeye-etp-trigger.
  9. 메일 본문: {"run": true}
  10. 만들기를 클릭합니다.

Google SecOps 서비스 계정 가져오기

  1. SIEM 설정 > 피드로 이동합니다.
  2. 새 피드 추가를 클릭하고 단일 피드 구성을 선택합니다.
  3. 피드 이름: FireEye ETP Alerts
  4. 소스 유형: Google Cloud Storage V2
  5. 로그 유형: FireEye ETP
  6. 서비스 계정 가져오기를 클릭하고 표시된 이메일을 복사합니다.
  7. 다음을 클릭합니다.
  8. 스토리지 버킷 URL: gs://fireeye-etp-logs/fireeye_etp/ (후행 슬래시 포함)
  9. 소스 삭제 옵션: 환경설정에 따라 선택합니다.
  10. 다음을 클릭하고 검토한 후 제출을 클릭합니다.

IAM 권한 부여

서비스 계정에는 버킷에 대한 스토리지 객체 뷰어 역할이 필요합니다.

  1. Cloud Storage > 버킷으로 이동합니다.
  2. 버킷을 선택하고 권한 탭을 클릭합니다.
  3. 액세스 권한 부여를 클릭합니다.
  4. 주 구성원 추가: Google SecOps 서비스 계정 이메일을 붙여넣습니다.
  5. 역할 할당: 스토리지 객체 뷰어를 선택합니다.
  6. 저장을 클릭합니다.

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 전문가에게 문의하여 답변을 받으세요.