Google SecOps UEBA는 기존 YARA-L 규칙 엔진에 직접 의존하던 구조에서 벗어났습니다. 이제 멀티스테이지 검색으로 단계별 계산 값을 전달하고, Risk Metrics를 활용해 30일 베이스라인과 비교 분석한 뒤, 최종적으로 Calibrated Risk Index(CRI)로 위험 점수를 산출해 알림과 복합 탐지까지 구성하는 다단계 분석 구조로 진화했습니다.
기존 YARA-L 규칙 기반 UEBA의 구조적 한계
과거 Google SecOps UEBA는 YARA-L 규칙 엔진에 직접 의존하는 구조를 써 왔습니다. 이 구조는 UEBA의 잠재력을 제한하는 요인으로 지적되었고, 핵심 문제는 두 가지로 꼽힙니다.
전문가 분석에 따르면 UEBA 출시 당시 YARA-L의 수학적 기능이 제한적이었고, 특히 다단계 집계(중첩 GROUP BY 방식)가 불가능했다는 점이 한계로 작용했습니다. 이 때문에 적용 가능한 통계 연산 유형이 제한되었고, outcome 변수가 동시에 계산되는 특성상 특정 값(예: 분산 등)을 후속 계산에 재귀적으로 투입할 수 없는 종속성 제약이 있었습니다.
멀티스테이지 검색: 단계 간 값을 전달하는 새로운 분석 단위
최근 도입된 멀티스테이지 검색(Multi-Stage Search)은 앞선 단계에서 계산된 값을 다음 단계로 전달해 추가 분석을 수행합니다. 기존 구조의 제약이 이 방식으로 풀립니다.
UDM stats search의 계산 패스와 구조
UDM stats search는 데이터를 여러 번에 나눠 처리하는 다단계 구조를 지원합니다. 자료에서 확인되는 범위에 따르면 세 단계의 분석 단계와 마지막 root 단계까지 지원되며, 데이터에 계산 패스가 총 네 번 적용됩니다. 첫 번째 단계의 데이터 소스로는 metrics 데이터를 활용할 수 있습니다.
분석 효율화 방안
다단계 분석 구조는 단계가 늘어날수록 복잡도가 커지지만, 수식 라이브러리가 풍부해지면 추가적인 분석 단계를 줄일 수 있을 것으로 보입니다.
위험도 지표(Risk Metrics)의 베이스라인 비교 메커니즘
Risk Metrics는 현재의 검색 데이터를 내부 테이블에 저장된 과거 데이터와 비교해 이상 징후를 포착합니다.
- 비교 윈도우 설정: 현재 검색 데이터를 내부 테이블에 저장된 30일 창(window)과 비교합니다.
- 분석 모드(Mode A): 하루치 데이터를 30일의 과거 관점과 비교해 활동의 특이성을 분석합니다.
- 데이터 보존: 계산된 지표는 내부 테이블에서 롤링 1년간 유지되며 장기적인 추세 분석의 근거가 됩니다.
측정항목 함수의 기술적 스펙
위험 분석을 위해 사용되는 측정항목 함수는 YARA-L 2.0 구문의 기능을 활용하며, 매개변수 체계는 다음과 같습니다.
| 구분 | 지원 내용 및 허용 값 | 비고 |
|---|---|---|
| Period | 1h, 1d | 데이터 분할 단위 |
| Window | today (period:1h 시), 30d (period:1d 시) | 집계 대상 기간 |
| Metric 유형 | event_count_sum, first_seen, last_seen, value_sum, num_unique_filter_values (5종) | 추출 지표 |
| Agg 유형 | avg, max, min, num_metric_periods, stddev, sum (6종) | 집계 방식 |
CRI 위험 점수에서 알림 및 복합 탐지까지의 연결 구조
멀티스테이지 분석과 Risk Metrics로 계산된 최종 위험 점수는 Calibrated Risk Index(CRI)에 대응됩니다.
CRI는 단순한 수치를 넘어 실제 보안 운영의 트리거 역할을 합니다. 보안 아키텍트는 이 CRI 값을 기반으로 다음과 같은 탐지 체계를 구성할 수 있습니다.
- 알림 생성 규칙: 특정 CRI 임계치 초과 시 보안 분석가에게 알림을 전송하는 규칙 설계.
- 복합 탐지(Composite Detection): 여러 개의 CRI 지표를 결합해 더 높은 신뢰도의 공격 시나리오를 탐지하는 구조 설계.
설계 및 운영 시 주의사항과 한계점
Google SecOps UEBA를 설계할 때 기술자가 반드시 검토해야 할 분석 구조적 주의사항이 있습니다.
범위 불일치 안티패턴(Scope Mismatch Antipattern)
UDM 규칙이나 쿼리에서 이벤트 필터로 특정 개인을 명시적으로 좁게 설정하면 이벤트 수준의 필터가 측정항목 엔진으로 전파되지 않는 특성이 있습니다. 그러면 이벤트 스트림은 좁아졌는데도 측정항목 엔진은 여전히 넓은 행동 베이스라인을 참조해 무의미한 결과가 나올 수 있습니다. 의미 있는 데이터를 얻으려면 다음 설계가 권장됩니다.
- 이벤트 스트림의 범위를 넓게 유지함.
match:블록을 사용해 엔티티를 묶고 범위를 정렬함.
분석 규칙의 특성 및 제한사항
- 규칙 분류: 측정항목 함수를 사용하는 규칙은
match섹션이 없더라도 단일 이벤트 변수만 사용한다면 자동으로 ‘멀티 이벤트 규칙’으로 분류돼 관련 할당량에 포함됩니다. - 데이터 처리 제한: 통계 쿼리는 최대 10,000개의 결과를 반환하며, 90일이 지난 데이터는 처리하지 못합니다.
- 계산 지연: 일별 측정항목 계산은 완료까지 최대 6시간이 걸리며, 전날 데이터는 매일 오전 6시(UTC) 또는 그 이전에 제공됩니다.
자료 기반의 한계 명시
본 분석은 단일 기고글과 공식 문서 일부를 근거로 작성되었습니다. AI 모델의 구체적인 학습 방법이나 정량적인 성능 지표는 포함되어 있지 않으며, CRI라는 용어의 공식 정의 여부는 Google 공식 문서에서 별도로 확인되지 않은 전문가 제언 기반의 정보임을 밝힙니다.