EventGen | Generator Settings
본문 바로가기

Splunk/Splunk Dev

EventGen | Generator Settings

728x90
반응형

5. Generator Settings

Generator는 실제 이벤트(payload)를 생성하는 컴포넌트이며,
샘플 파일의 원본 문자열을 어떻게 처리할지 정의한다.
Generator 종류에 따라 필요한 stanza 설정과 지원 기능이 달라진다.


5.1 generator

generator = default | <plugin>

 

설명
default eventgen.conf 기반 synthetic 생성
replay 샘플 timestamp 기반 이벤트 재생
perdayvolumegenerator 일일 볼륨 중심 생성
cweblog CW 웹로그 전용
jinja jinja 템플릿 기반 생성
💡 실사용 해설:
default는 가상 로그 생성(synthetic)에 적합하고,
replay는 공격/사고 타임라인 재현에 적합하다.
즉, 목적에 따라 Generator를 바꿔야 한다.

5.2 mode

mode = sample | replay

 

mode 역할 적합한 용도
sample count 기반 synthetic 생성 baseline / 정상 트래픽
replay timestamp 기반 재생 공격 / 사건 / 타임라인
💥 ES 기준 핵심:
Incident Review, Timeline, RBA 시연은 보통 replay로 해야 “진짜처럼” 보인다.

5.3 sampletype

sampletype = raw | csv

 

sampletype 설명 추가 기능
raw 기본 log 문자열 token 대체
csv CSV에서 _raw 필드 사용 host/source/sourcetype override
💡 CSV가 좋은 상황:
보안 로그에서 host, source, sourcetype 등을 바꿔 다중 자산 시뮬레이션이 필요할 때 유리하다.

예)
ulink-srv01 → ulink-srv24
10.0.3.20 → 10.0.3.41

5.4 timezone

timezone = local | <offset>
예:
timezone = +0900   # KST
timezone = -0500   # EST
🌍 중요한 이유:
ES는 Incident Timeline에서 timestamp 정렬이 중요하므로
timezone mismatch가 나면 공격 흐름이 깨져 보인다.

5.5 earliest & latest

earliest = <time-str>
latest = <time-str>
예:
earliest = -2h
latest = now
🧠 역할:
Generator가 랜덤 timestamp를 범위 내에서 생성하도록 제한한다.
이 기능은 baseline traffic 시뮬레이션에서 특히 유용하다.

5.6 Default Generator Advanced Settings

이 섹션은 특히 replay mode에서 강력하다.


5.6.1 timeMultiple

timeMultiple = <float>

 

예:
timeMultiple = 2
의미: > 원본 timestamp 간격 × 2배로 늘려 재생 또는
timeMultiple = 0.5
의미: > 원본보다 2배 빠르게 재생
💥 ES 교육 데모에서 매우 유용:
day-scale 공격을 minute-scale로 압축하여 시연 가능
---

5.6.2 timeField

timeField = timestamp

CSV replay 시 특정 컬럼을 timestamp로 사용.

예:
timeField = event_time

5.6.3 backfill

backfill = -24h

Splunk의 상대 시간 형식 사용 (-48h, -2d 등)

🔥 ES에서 최고 강력한 기능 중 하나:
과거 공격 타임라인을 즉시 채워 넣을 수 있음
→ Detection tuning + incident reconstruction + 교육에 최적
---

5.6.4 backfillSearch

splunkstream 사용 시 backfill 범위를 자동 계산하기 위한 검색

예:
backfillSearch = index=proxy sourcetype=zscaler earliest=-7d | head 1
이 경우: > 마지막 이벤트 시점 이후로 backfill 수행 ---

5.6.5 randomizeEvents

sample 행 순서를 무작위로 shuffle

💡 이 기능은 multi-user 또는 multi-asset 트래픽에서 현실감을 높여줌
---

5.7 breaker

샘플 파일을 이벤트 단위로 쪼개는 regex

예:
breaker = \n
⚠️ 주의: props.conf의 LINE_BREAKER와 다름
---

5.8 Generator와 Rater의 관계

둘의 역할은 명확히 구분된다:

컴포넌트 질문
Rater 얼마나? count/rate/volume
Generator 어떻게? timestamp/replay/format

5.9 Generator 선택 전략 (ES 기준)

목표 추천 설정
Baseline sample + rater
Incident 시연 replay + timeMultiple
과거 공격 백필 replay + backfill
SIEM 교육/보고서 replay + CSV + timeField
성능/부하 sample + perDayVolume

5.10 결론

Generator는 Eventgen의 “동작 방식”을 결정하며,
Rater는 “양”을 조절하고,
Timer는 “언제”를 정의한다.

728x90
반응형

'Splunk > Splunk Dev' 카테고리의 다른 글

EventGen | Token Settings  (0) 2026.01.27
EventGen | Rater Settings  (0) 2026.01.27
EventGen | Stanza Configuration Settings  (0) 2026.01.27
EventGen | Global Settings  (0) 2026.01.27
EventGen | Config 기본 개념 & Stanza  (0) 2026.01.27