감지 범위 평가에 이벤트 시뮬레이션 사용
이 가이드는 이벤트 시뮬레이션 을 사용하여 실시간 수집 파이프라인에 실제 위협 시퀀스를 프로그래매틱 방식으로 제공하려는 감지 엔지니어링 및 SOC팀을 위한 것입니다. 이벤트 시뮬레이션은 Google Security Operations에 직접 삽입된 위협 시뮬레이션 및 감지 범위 평가 프레임워크입니다. 이벤트 시뮬레이션은 감지 엔지니어링 에이전트 (DEA) 아키텍처의 기본 기능으로, 운영 SOC 워크플로를 유지하면서 원격 분석 수집 및 정규화에서 다중 이벤트 상관관계 및 알림에 이르기까지 감지 수명 주기를 확인합니다.
이벤트 시뮬레이션은 Google SecOps MCP 도구를 Gemini 또는 Claude Code와 같은 AI 지원과 연결하여 원시 위협 보고서 수집, 위협 전술을 실행 가능한 위협 감지 기회(TDO)로 구성, 실제 통합 데이터 모델(UDM) 원격 분석 합성, 단일 이벤트, 다중 이벤트, 복합 규칙 전반의 기존 YARA-L 2.0 규칙 범위 평가, 식별된 보안 격차를 해소하기 위한 새로운 감지 규칙 초안 작성 등 감지 엔지니어링 수명 주기를 자동화합니다.
주요 사용 사례
이벤트 시뮬레이션 및 감지 엔지니어링 에이전트 (DEA)는 다음과 같은 핵심 워크플로를 지원합니다.
- 실시간 파이프라인 수집 및 정규화 테스트: 합성 통합 데이터 모델 (UDM) 원격 분석을 실시간 수집 파이프라인, 컨텍스트 보강 모듈, 항목 그래프를 통해 직접 프로그래매틱 방식으로 스트리밍하여 완전한 엔드 투 엔드 감지 준비 상태를 달성합니다.
- 지속적인 위협 범위 및 회귀 검증: 특정 공격자 전술, 기법, 절차 (TTP)에 대해 관리형 및 커스텀 YARA-L 2.0 규칙을 평가하여 프로덕션 배포 전에 규칙 집합 전반에 자동화된 단위 테스트 및 지속적인 회귀 테스트를 설정합니다.
- 합성 원격 분석 생성: 복잡한 공격 체인 (예: 웹 애플리케이션 악용, 사용자 인증 정보 액세스, 측면 이동)을 시뮬레이션하는 스키마 유효 UDM 이벤트를 생성하여 실제 프로덕션 환경에서 규칙을 테스트합니다.
주요 이점 및 가치 제안
- 선제적 태세 및 위협 검증: 실제 사고가 발생하기 전에 새로 공개된 취약점 및 위협 행위자 동작에 대해 YARA-L 2.0 규칙을 테스트합니다.
- 직접 합성 및 수집 보장: 실시간 Google SecOps 수집 파이프라인 (
ImportEvents)을 통해 흐르는 위협 인텔리전스 텍스트에서 스키마 유효 UDM 이벤트를 직접 합성하여 완전한 정규화, 필드 정렬, 컨텍스트 보강을 거칩니다. - 격리된 원격 분석 및 프로덕션 안전: 이벤트 시뮬레이션으로 생성된 합성 이벤트는 시뮬레이션 메타데이터 (
SIMULATION수집 라벨)로 태그 지정되며INCLUDES_SIMULATION_DATA로 태그 지정된 감지를 생성합니다. 시뮬레이션된 데이터의 감지는 프로덕션 케이스, 플레이북, 위험 분석 (RBA) 스트림, 알림 분류 대시보드에서 자동으로 제외됩니다.
이벤트 시뮬레이션 개념 및 아키텍처 이해
이벤트 시뮬레이션 및 감지 엔지니어링 에이전트 (DEA) 프레임워크의 다음 핵심 구성요소는 배포에 필수적입니다.
- 위협 감지 기회 (TDO): 위협 인텔리전스 보고서 또는 자연어 설명에서 추출된 특정 공격자 TTP를 식별, 우선순위 지정, 분류하는 단위 테스트 역할을 하는 공식화된 데이터 모델입니다. TDO 식별자는 엄격한 형식 요구사항을 따릅니다 (예:
^[a-zA-Z]\d{2}$정규 표현식과 일치하는t01,t02). - 합성 UDM 이벤트: Google SecOps 통합 데이터 모델 (UDM) 스키마에 따라 엄격하게 형식이 지정된 머신 생성 로그 이벤트입니다. 이러한 이벤트는
ImportEvents를 사용하여 감지 규칙 로직을 테스트하는 데 필요한 특정 공격자 작업을 시뮬레이션합니다. - 시뮬레이션 라벨링 및 알림 태그 지정: 합성 이벤트는 수집 라벨 (
metadata.ingestion_labels["SIMULATION"])을 전달합니다.Collection프로토에서 시뮬레이션된 데이터로 인한 감지는tags아래에INCLUDES_SIMULATION_DATA로 표시됩니다. 감지 메타데이터 프로토 필드에는simulated_event_count(감지에 기여하는 시뮬레이션된 이벤트의 총 수) 및simulated_event_names(기여 이벤트의SIMULATION라벨 값 집합)가 포함됩니다. - 데이터 공개 상태 및 검색 억제: 표준 Google SecOps UDM 검색은 기본적으로 시뮬레이션 라벨이 지정된 이벤트를 억제합니다. 검색어 및 UI 뷰는
simulated_data_visibility구성 매개변수 또는 사용자 환경설정 전환을 사용하여 시뮬레이션된 데이터를 명시적으로 포함할 수 있습니다. - 장기 실행 작업 (LRO): API HTTP 시간 초과가 발생하지 않고 주문형 규칙 실행 일괄 처리를 조정하는 비동기 백엔드 실행 메커니즘 (
evaluate_rule_coverage_long_running)입니다.
시작하기 전에
이벤트 시뮬레이션은 감지 엔지니어링 에이전트 툴킷과 기본 환경 기본 요건, IAM 권한, 서버 설정을 공유합니다. 시작하기 전에 다음 기본 요건을 충족하는지 확인하세요.
- IAM 역할: Chronicle API 뷰어, Chronicle API 편집기, MCP 도구 사용자 역할이 필요합니다.
- MCP 서버 및 기술 설정:
settings.jsonMCP 서버 페이로드 구성, 작업공간 컨텍스트 설정 (Gemini.md), 감지 엔지니어링 기술 사용 설정에 관한 단계별 안내는 감지 엔지니어링 에이전트를 사용하여 위협 범위를 평가하고 Google SecOps MCP 서버 사용을 참고하세요.
합성 원격 분석이 삽입되는 방식
합성 원격 분석은 MCP 에이전트 툴킷 또는 직접 Chronicle API 호출을 사용하여 Google SecOps에 삽입됩니다.
- MCP 하위 에이전트 호출: 대상 위협 감지 기회 (TDO) ID 및 동작 사양으로
generate_synthetic_events도구를 호출합니다. - Chronicle API 엔드포인트:
ImportEventsREST API 엔드포인트 (POST /v1alpha/projects/{project}/locations/{location}/instances/{instance}/events:import)를 사용하여 합성 UDM 이벤트를 프로그래매틱 방식으로 스트리밍합니다. - 시뮬레이션 라벨링:
ImportEventsAPI를 직접 호출할 때 호출자는 요청 페이로드에 키"SIMULATION"와 고유한 시뮬레이션 또는 테스트 실행 식별자를 값으로 포함하는metadata.ingestion_labels를 수동으로 포함해야 합니다 (예:"key": "SIMULATION", "value": "TEST123"또는"t01"). API는 시뮬레이션 라벨을 자동으로 채우지 않습니다.
UDM 수집 호출 예시
HTTP 요청:
POST https://chronicle.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/events:import
요청 본문:
{
"events": [
{
"metadata": {
"event_type": "PROCESS_LAUNCH",
"event_timestamp": "2026-08-05T20:00:00Z",
"ingestion_labels": [
{
"key": "SIMULATION",
"value": "TEST123"
}
]
},
"principal": {
"user": {
"userid": "victim_user"
}
},
"target": {
"process": {
"command_line": "powershell.exe -ExecutionPolicy Bypass -File dump.ps1"
}
}
}
]
}
이벤트 시뮬레이션은 ImportEvents를 사용하여 합성된 UDM 이벤트를 직접 삽입하고 UDM 정규화, 컨텍스트 보강, 규칙 감지를 평가합니다. 원시 로그 파싱은 감지 엔지니어링 에이전트 (DEA) 도구 내에서 합성 이벤트 생성 중에 테스트됩니다.
합성 테스트 데이터의 사용자 환경설정 구성
UI, API 또는 MCP 도구 전반에서 Google SecOps의 합성 테스트 이벤트 및 시뮬레이션된 알림을 보려면 인터페이스에 따라 공개 상태를 구성하세요.
Google SecOps 콘솔
SIEM 검색 페이지 또는 UI 콘솔에서 합성 이벤트를 보려면 다음 단계를 따르세요.
- Google SecOps 콘솔의 탐색 메뉴에서 프로필 아바타를 클릭하고 사용자 환경설정 을 선택합니다.
- 데이터 공개 상태 로 이동합니다.
- 합성 테스트 데이터 표시 를 사용 설정 으로 설정합니다.
- 저장 을 클릭합니다.
Chronicle API
프로그래매틱 API 쿼리의 경우 Chronicle API를 사용하여 UDM 검색, 규칙 또는 감지 엔드포인트를 쿼리할 때 simulated_data_visibility = "SIMULATED_DATA_INCLUDED"를 제공합니다.
{
"query": "metadata.event_type = \"USER_LOGIN\"",
"simulated_data_visibility": "SIMULATED_DATA_INCLUDED"
}
지원되는 simulated_data_visibility 매개변수 열거 값:
SIMULATED_DATA_EXCLUDED(기본값): 시뮬레이션 라벨이 지정된 이벤트 및 알림을 억제합니다.SIMULATED_DATA_INCLUDED: 쿼리 결과에 프로덕션 데이터와 합성 테스트 데이터를 모두 반환합니다.
Google SecOps MCP 서버
MCP 클라이언트 (예: Gemini CLI 또는 AntiGravity)를 사용하여 Google SecOps와 상호작용할 때 작업공간 컨텍스트 파일 (Gemini.md 또는 settings.json)에서 테넌트 전체 시뮬레이션 공개 상태를 구성합니다.
GoogleSecOps MCP 서버를 사용하는 경우 모든 UDM 검색, 규칙 평가, 감지 쿼리 도구에 대해 simulated_data_visibility = "SIMULATED_DATA_INCLUDED"를 설정합니다.
다운스트림 시스템 격리 이해
Google SecOps 전반에서 테스트 데이터가 적절하게 처리되도록 이벤트 시뮬레이션은 다운스트림 구성요소에 대해 클린 격리 경계를 적용합니다.
| 시스템 또는 기능 | 합성 데이터 처리 | 격리 메커니즘 |
|---|---|---|
| 감지 및 알림 저장소 | 격리 및 태그 지정 | Collection 프로토에서 시뮬레이션된 원격 분석으로 인한 감지는 tags 아래에 INCLUDES_SIMULATION_DATA로 표시되며 감지 메타데이터 프로토 필드 simulated_event_count 및 simulated_event_names를 포함합니다. simulated_data_visibility = "SIMULATED_DATA_INCLUDED"가 요청되지 않는 한 표준 감지 읽기 및 목록 API에서 억제됩니다. |
| UDM 검색 및 대시보드 | 기본적으로 숨김 | simulated_data_visibility = "SIMULATED_DATA_INCLUDED"가 지정되지 않는 한 필터링됩니다. |
| 케이스 및 사고 분류 | 제외됨 | 시뮬레이션 태그가 있는 감지는 자동 케이스 생성에서 우회됩니다. |
| 플레이북 및 SOAR 자동화 | 제외됨 | 자동화된 SOAR 플레이북은 시뮬레이션된 알림에서 트리거되지 않습니다. |
| 위험 분석 (RBA) | 제외됨 | 스트리밍 위험 점수 집계 파이프라인은 시뮬레이션 라벨이 지정된 이벤트를 삭제합니다. |
| 위협 헌팅 에이전트 (THA) | 제외됨 | 위협 헌팅 데이터 세트 쿼리는 시뮬레이션 라벨이 지정된 원격 분석을 자동으로 억제합니다. |
에이전트 제품군 및 도구 기능
이벤트 시뮬레이션은 Google SecOps MCP 서버에서 노출되는 하위 에이전트 도구 기능을 활용합니다. 사용 가능한 하위 에이전트 도구 (generate_threat_detection_opportunity, generate_synthetic_events, evaluate_rule_coverage_long_running, get_operation, generate_rules, create_rule 포함), 주요 입력, 출력 스키마에 관한 자세한 내용은 감지 엔지니어링 에이전트를 사용하여 위협 범위를 평가를 참고하세요.
감지 엔지니어링 수명 주기 및 워크플로 이해
엔드 투 엔드 이벤트 시뮬레이션 감지 엔지니어링 워크플로는 구조화된 다단계 수명 주기를 따릅니다.
- 인텔 처리 및 원격 분석 수집: 원시 위협 인텔리전스 텍스트를
generate_threat_detection_opportunity에 전달하여 구조화된 TDO (예:t01,t02)를 추출하고, 사전 실행 타임스탬프 이동을 적용하고,generate_synthetic_events를 호출하여 실시간 Google SecOps 수집 파이프라인 (ImportEvents)을 통해SIMULATION라벨이 지정된 UDM 로그를 스트리밍합니다. - 비동기 범위 평가:
evaluate_rule_coverage_long_running을 실행하여 합성 원격 분석 전반의 YARA-L 2.0 규칙 범위를 평가하고 완료될 때까지get_operation을 폴링하여 규칙 일치 행렬을 가져옵니다. - 격차 해결 및 규칙 수명 주기 관리: 검색되지 않은 TDO에 대해
generate_rules를 호출하여 검증된 YARA-L 2.0 규칙 초안을 생성하고create_rule을 사용하여 검토된 규칙을 프로덕션에 배포합니다.
감지 수명 주기의 각 단계에서 자세한 도구 호출 페이로드와 전체 코드 예시는 감지 엔지니어링 에이전트를 사용하여 위협 범위를 평가를 참고하세요.
문제 해결
이 섹션에는 자주 묻는 문제 해결 질문과 답변이 포함되어 있습니다.
Q: 합성 UDM 이벤트가 표준 UDM 검색에 표시되지 않는 이유는 무엇인가요?
기본적으로 표준 Google SecOps UDM 검색은 SOC 운영 위생을 유지하기 위해 SIMULATION 수집 라벨이 지정된 이벤트를 억제합니다. UDM 검색 또는 UI 콘솔에서 합성 이벤트를 보려면 사용자 환경설정에서 합성 테스트 데이터 표시가 사용 설정되어 있는지 확인하거나 쿼리 요청에서 simulated_data_visibility = "SIMULATED_DATA_INCLUDED"를 설정하세요.
Q: 시뮬레이션된 데이터의 감지가 SOC 분석가에게 알림을 보내지 않도록 방지하는 방법은 무엇인가요?
규칙이 합성 이벤트를 트리거하면 백엔드 컴파일러가 결과 감지에 INCLUDES_SIMULATION_DATA 태그를 지정합니다. 이 태그가 있는 감지는 기본적으로 프로덕션 케이스, 플레이북, 위험 분석 (RBA), 알림 분류 대시보드에서 제외됩니다.
Q: evaluate_rule_coverage_long_running이 합성 이벤트에 대해 일치 항목 0개를 반환한 이유는 무엇인가요?
합성 이벤트 타임스탬프가 1시간 실행 창 ([StartTime - 1 hour, StartTime]) 내에 있는지 확인합니다. TDO ID가 필수 정규 표현식 (^[a-zA-Z]\d{2}$, 예: t01)을 준수하는지 확인합니다.
Q: 원자 지표 (IP 주소, 도메인 이름, 파일 해시)는 동작 규칙과 어떻게 처리해야 하나요?
정적 IP 주소 또는 해시 값을 YARA-L 2.0 감지 규칙에 직접 하드코딩하는 대신 Google SecOps IOC 일치 또는 데이터 테이블을 사용하여 원자 지표를 관리합니다. 동작 패턴 및 TTP 상관관계에 YARA-L 2.0을 예약합니다.
Q: TDO 범위 평가 호출의 최대 일괄 처리 크기는 얼마인가요?
성능을 최적화하고 API Gateway 매개변수를 준수하기 위해 일괄 처리 범위 평가 요청은 evaluate_rule_coverage_long_running 호출당 최대 3개의 TDO 또는 40개의 합성 이벤트로 제한됩니다.
도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가에게 문의하여 답변을 받으세요.