Microsoft Sentinel, Azure Log Analytics 및 Gemini를 활용한 에이전트형 SOC 분석가 구축
요약
Microsoft Sentinel과 Gemini를 활용하여 자연어로 위협 헌팅을 수행하는 에이전트형 SOC 분석가 구축 사례를 소개합니다. KQL 자동 생성 및 MITRE ATT&CK 매핑 기능을 갖추었으며, 보안을 위한 강력한 가드레일 설계가 핵심입니다.
핵심 포인트
- 자연어 요청을 KQL 쿼리로 변환하여 위협 조사 자동화
- 허용 목록(allow-list) 기반의 가드레일을 통한 보안 및 환각 방지
- MITRE ATT&CK 매핑 및 IOC 추출 기능 구현
- 안전한 테스트를 위한 합성 데이터셋 생성 유틸리티 활용
보안 운영 센터(Security Operations Centers, SOC)는 매일 엄청난 양의 텔레메트리(telemetry)를 생성합니다.
의미 있는 위협을 찾는 것은 대개 데이터의 한계 때문이 아닙니다.
분석가가 얼마나 빠르게 적절한 질문을 던질 수 있느냐에 달려 있습니다.
이러한 관찰을 바탕으로 저는 **에이전트형 SOC 분석가(Agentic SOC Analyst)**를 구축하게 되었습니다.
목표는 분석가를 대체하는 것이 아니었습니다.
목표는 조사 아이디어와 실행 가능한 결과 사이의 시간을 단축하는 것이었습니다.
문제점 (The Problem)
위협 헌터(threat hunter)는 종종 모호한 가설에서 시작합니다.
예를 들어:
"지난 2주 동안 이 사용자에게 무언가 특이한 일이 발생했다."
이를 조사로 전환하려면 보통 다음과 같은 과정이 필요합니다:
- 올바른 로그 소스 선택
- 스키마 (schema) 이해
- Kusto Query Language (KQL) 작성
- 쿼리 실행
- 수백 또는 수천 개의 이벤트 검토
- 활동을 알려진 공격 기법에 매핑
저는 인간의 통제권을 유지하면서 이 워크플로의 최대한 많은 부분을 자동화하고 싶었습니다.
아키텍처 (The Architecture)
파이프라인은 다음과 같습니다:
자연어 요청 (Natural Language Request)
│
▼
...
모델이 선택한 모든 테이블과 필드는 쿼리가 실행되기 전에 허용 목록(allow-list)을 통해 검증됩니다.
이를 통해 환각(hallucinated)된 테이블이나 지원되지 않는 필드가 Azure에 도달하는 것을 방지합니다.
주요 기능 (Features)
현재 구현에는 다음이 포함됩니다:
- 자연어 위협 헌팅 (Natural-language threat hunting)
- 동적 KQL 생성 (Dynamic KQL generation)
- Azure Log Analytics 통합
- Microsoft Sentinel 호환성
- 테이블 및 필드 허용 목록 검증
- 구조화된 위협 결과
- MITRE ATT&CK 매핑
- IOC 추출
- 신뢰도 점수 산정 (Confidence scoring)
- 토큰 사용량 및 비용 추정
- 합성 데이터셋 생성
- 테스트 워크스페이스로의 자동 로그 수집 (Automated log ingestion)
가드레일이 중요한 이유 (Why Guardrails Matter)
AI 에이전트를 구축하며 배운 교훈 중 하나는 모델이 외부 시스템에 대해 제한 없는 접근 권한을 가져서는 안 된다는 것입니다.
어떠한 KQL 쿼리가 실행되기 전에, 에이전트는 다음을 검증합니다:
- 요청된 테이블
- 사용 가능한 필드
- 엔티티 필터 (Entity filters)
- 쿼리 범위 (Query scope)
승인된 허용 목록 (allow-list) 이외의 모든 것은 폐기됩니다.
모델은 의사 결정(decision-making)을 보조하지만, 결정론적 코드 (deterministic code)가 안전성을 강제합니다.
테스트 환경 구축하기
운영 환경의 로그를 대상으로 SOC 도구를 테스트하는 것은 실용적이지 않습니다.
이를 해결하기 위해, 저는 합성된 Azure Activity, Entra ID 로그인, 네트워크 및 장치 로그 데이터 세트를 생성하는 유틸리티를 구축했습니다.
이 데이터 세트들은 Azure Log Analytics로 수집될 수 있으며, 이를 통해 민감한 정보를 노출하지 않고도 전체 위협 헌팅 (threat-hunting) 워크플로우를 안전하게 테스트할 수 있습니다.
배운 점
이 프로젝트를 통해 효과적인 AI 에이전트 (AI agents)는 단순한 프롬프트 엔지니어링 (prompt engineering) 그 이상이라는 것을 배웠습니다.
에이전트에게는 다음과 같은 요소가 필요합니다:
- 명확한 시스템 설계 (system design)
- 강력한 가드레일 (guardrails)
- 결정론적 검증 (deterministic validation)
- 안전한 도구 실행 (safe tool execution)
- 투명한 출력 (transparent outputs)
또한 Microsoft Sentinel, Azure Log Analytics, Kusto Query Language (KQL), 그리고 사이버 보안을 위한 LLM 기반 워크플로우 설계에 대한 실무 경험을 쌓을 수 있었습니다.
다음 단계는?
저는 다음과 같은 분야를 탐구하며 에이전트를 계속 개선하고 있습니다:
- 다단계 조사 계획 (Multi-step investigation planning)
- 추가적인 Sentinel 테이블
- 더 나은 증거 상관관계 (evidence correlation)
- 조사 전반에 걸친 메모리 (Memory across investigations)
- 추가적인 SIEM 플랫폼 지원
이 프로젝트를 구축하며 AI 엔지니어링에 대해 제가 믿게 된 한 가지 사실이 더욱 확고해졌습니다.
가장 가치 있는 AI 시스템은 전문가를 대체하지 않습니다.
그들은 전문가가 투명하고, 예측 가능하며, 안전한 상태를 유지하면서 더 빠르게 조사할 수 있도록 돕습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기