SentinelGraph: FalkorDB를 활용한 그래프 기반 AI 사이버 보안 조사 에이전트 구축
요약
SentinelGraph는 FalkorDB 기반의 그래프 데이터베이스를 활용하여 사이버 보안 조사 에이전트를 구축한 시스템입니다. 이 시스템은 개별적인 보안 경고들을 고립된 기록으로 취급하는 대신, 관계형 데이터를 연결하여 분석가가 전체 그림을 파악하고 증거 경로를 추적하도록 돕습니다.
핵심 포인트
- 보안 경고 간의 관계 탐색 및 다단계(multi-hop) 연결 순회 지원
- FalkorDB와 같은 그래프 DB를 활용하여 조사 과정의 중심에 '관계'를 배치함
- 단순한 결론 제시가 아닌, 증거 경로 추적을 통해 설명 가능한 조사 과정을 제공
- 보안 분석가의 의사결정을 돕는 보조 도구로서 기능하며, 인간 검토(human review)를 통합함
SentinelGraph: FalkorDB를 활용한 그래프 기반 AI 사이버 보안 조사 에이전트 구축
연결된 데이터가 보안 분석가가 경고를 조사하고, 증거를 추적하며, 더 설명 가능한 결정을 내리는 데 어떻게 도움을 줄 수 있는지.
문제점: 보안 경고는 고립되어 존재하지 않는다
사이버 보안 팀은 종종 여러 시스템에서 발생하는 다수의 경고들을 처리해야 합니다. 각 경고를 개별적으로 살펴보는 것은 관계를 파악하고, 더 큰 그림을 이해하며, 여러 신호가 동일한 사고에 속하는지 판단하기 어렵게 만들 수 있습니다.
개별적인 경고는 그 자체로는 무해해 보일 수 있습니다. 하지만 다른 경고, 증거 및 과거 사고와 연결될 때, 훨씬 더 의미 있는 패턴의 일부가 될 수 있습니다.
이러한 문제로 인해 저는 보안 분석가가 경고 간의 관계를 탐색하고 조사 뒤에 숨겨진 증거를 이해하도록 설계된 AI 기반 사이버 보안 조사 에이전트인 SentinelGraph를 구축하게 되었습니다.
핵심 아이디어는 간단합니다. 보안 경고를 고립된 기록으로 취급하는 대신, 연결된 데이터로 표현하고 이러한 관계를 활용하여 조사를 지원하는 것입니다.
SentinelGraph 소개
SentinelGraph는 FalkorDB를 중심으로 구축된 그래프 기반 사이버 보안 조사 시스템입니다.
이 시스템은 조사관들이 다음을 수행하도록 돕습니다:
- 겉보기에는 관련 없어 보이는 보안 경고들 간의 관계 탐색.
- 다단계(multi-hop) 연결을 순회하여 관련 컨텍스트 발견.
- 경고가 왜 관련될 수 있는지 설명하는 증거 경로 추적.
- 추가적인 컨텍스트를 위해 과거 사고 기록(historical incident memory) 검색.
- 특정 후보들이 왜 그룹화되거나 제외되는지 이해.
- 승인하거나 거부하기 전에 권장되는 대응 조치 검토.
이 시스템의 목표는 보안 분석가를 대체하는 것이 아닙니다. 사용 가능한 증거에 대한 더 명확한 그림을 제공하여, 그들이 더 정보에 입각한 결정을 내릴 수 있도록 돕는 것입니다.
프로젝트 저장소: https://github.com/parnika0110/SentinelGraph
실시간 데모: https://frontend-production-717c.up.railway.app
FalkorDB를 사용하는 이유?
기존 방식은 경고(alerts)를 개별 데이터베이스 레코드로 저장하고, 관계를 파악하기 위해 별도의 쿼리에 의존하는 경우가 많습니다. 이는 여러 엔티티에 걸쳐 연결 고리를 추적해야 하는 조사 과정에서는 어려움을 초래할 수 있습니다.
그래프 데이터베이스는 이러한 관계를 표현하는 자연스러운 방법을 제공합니다.
SentinelGraph에서 FalkorDB는 핵심 그래프 데이터베이스 역할을 합니다. 경고들을 개별적으로 보는 것이 아니라, 조사 워크플로우는 그래프 관계(graph relationships)를 사용하여 연결된 엔티티를 탐색하고, 증거 경로(evidence paths)를 추적하며, 관련 역사적 맥락(historical context)을 검색합니다.
그래프는 단순히 인터페이스에 추가되는 시각화 요소가 아니라, 조사 과정의 중심입니다.
이를 통해 사용 가능한 증거를 어떻게 지원하는지 보여주면서, 결론만 제시하는 것이 아니라 관계와 경로의 관점에서 조사를 설명할 수 있게 됩니다.
조사 작동 방식
SentinelGraph 워크플로우는 그래프 탐색, 증거, 역사적 맥락, 그리고 인간 검토(human review)를 통합합니다.
1. 보안 경고로 시작하기
조사는 일련의 보안 경고에서 시작됩니다. 이번 시연을 위해 SentinelGraph는 합성 보안 데이터(synthetic security data)를 사용하며, 이를 통해 실제 민감한 보안 정보에 의존하지 않고도 워크플로우를 탐색할 수 있습니다.
2. 연결된 관계 탐색하기
시스템은 FalkorDB를 사용하여 그래프 전반의 관계를 순회(traverse)합니다. 다중 도약 탐색(Multi-hop traversal)은 각 경고가 독립적으로 고려될 때 명확하지 않을 수 있는 연결 고리를 밝혀내는 데 도움을 줍니다.
이러한 연결 고리는 경고들이 관련성이 있을지 평가하는 추가적인 맥락을 제공합니다.
3. 증거 경로 검토하기
연결 고리가 왜 중요한지 조사관이 이해할 수 있을 때, 그 가치가 더 커집니다.
SentinelGraph는 증거 경로를 노출하여 조사(investigation)를 뒷받침하는 관계들을 설명하는 데 도움을 줍니다. 이를 통해 분석가(analyst)는 완전히 설명되지 않은 결과에 의존하기보다 제안된 그룹화 뒤에 숨겨진 연결 고리들을 직접 검사할 수 있는 방법을 얻게 됩니다.
4. 과거 사고 기록 메모리 고려 (Consider historical incident memory)
과거의 사고(incident)들은 새로운 경고(alert)를 조사할 때 유용한 맥락을 제공할 수 있습니다.
SentinelGraph는 역사적 사고 기록 메모리를 검색하여 현재 진행 중인 조사를 관련 이전 맥락과 연결하는 데 도움을 줍니다. 이는 즉각적인 경고 세트를 넘어선 또 다른 차원의 조사 깊이를 더합니다.
5. 그룹화 및 제외 설명 (Explain grouping and exclusion)
모든 후보(candidate)가 자동으로 같은 사고의 일부로 취급되어서는 안 됩니다.
SentinelGraph는 왜 특정 후보들이 함께 그룹화될 수 있는지, 또는 제외되어야 하는지를 설명하는 데 도움을 줍니다. 이러한 구분을 명확하게 보여주는 것이 중요합니다. 왜냐하면 조사 도구는 분석가들이 생성된 결론에 맹목적으로 신뢰하기보다는 증거를 평가하도록 도와야 하기 때문입니다.
6. 인간의 감독 하에 조치 권고 (Recommend actions with human oversight)
사용 가능한 맥락을 검토한 후, 시스템은 대응 조치(response action)를 권고할 수 있습니다.
이러한 권고 사항들은 반드시 인간의 검토 및 승인 또는 거부 대상입니다. 이번 시연은 실제 보안 복구 작업을 조용히 실행하기보다는 통제된 조사 워크플로우에 초점을 맞추었습니다.
아키텍처 및 기술 스택 (Architecture and Technology Stack)
SentinelGraph는 그래프 데이터베이스, API 백엔드, 웹 인터페이스를 결합합니다.
- FalkorDB: 연결된 조사 데이터를 저장하고 그래프 순회(graph traversal)를 지원합니다.
- FastAPI: 조사 워크플로우를 위한 백엔드 API를 제공합니다.
- Next.js 및 React: 웹 애플리케이션에 동력을 공급합니다.
- TypeScript 및 Tailwind CSS: 프론트엔드 구현과 인터페이스 스타일링을 지원합니다.
- React Flow (
@xyflow/react): 조사 인터페이스에서 그래프 기반 시각화(graph-oriented visualisation)를 지원합니다.
전반적인 워크플로우는 다음과 같습니다:
보안 경고 → API 및 조사 로직 → FalkorDB 그래프 순회(graph traversal) → 증거 및 역사적 맥락 → 조사 결과 → 인간 검토 기반 응답 권장 사항
프론트엔드는 사용자가 관계를 탐색하고 결과의 근거가 되는 추론 과정을 이해할 수 있도록 조사 맥락을 제시합니다.
그래프 기반 조사가 중요한 이유
그래프를 사용하는 핵심 이점은 관계 자체가 조사 과정의 일부가 된다는 것입니다.
단순히 “이 경고가 무엇을 말하는가?”라고 묻는 것을 넘어, 조사자는 다음과 같은 질문도 할 수 있습니다:
- 이 경고와 연결된 다른 엔티티(entity)는 무엇인가?
- 이 경고들을 연결하는 관계(relationship)는 무엇인가?
- 이 연결을 뒷받침하는 증거 경로가 있는가?
- 역사적 사고 기록(historical incident memory)이 유용한 맥락을 제공하는가?
- 왜 한 후보는 포함되었고 다른 후보는 제외되었는가?
이러한 질문들은 보안 조사에 더 맥락적인 접근 방식을 장려합니다.
그래프 순회 자체가 두 경고가 동일한 사고(incident)에 속한다는 것을 자동으로 보장하지는 않습니다. 그 가치는 검토하고 평가할 수 있는 관련 연결 고리를 드러내는 데 있습니다.
안전성과 인간의 감독
보안 도구는 대응 조치가 실제 결과를 초래할 수 있으므로 신중하게 설계되어야 합니다.
SentinelGraph는 시뮬레이션(synthetic data) 데이터를 사용하여 시연됩니다. 이 응답 워크플로우는 권장 사항과 실제 행동 선택 사이에 인간의 승인 단계를 유지합니다.
이것은 중요한 설계 원칙입니다: 에이전트는 분석가(analyst)를 의사 결정 과정에서 배제하지 않으면서 맥락을 수집하고, 증거를 연결하며, 다음 단계를 권장하는 데 도움을 줄 수 있습니다.
본 프로젝트는 프로덕션 보안 운영 플랫폼의 대체재가 아니라 그래프 기반 조사의 시연 목적으로 설계되었습니다.
제가 배운 것
SentinelGraph를 구축하면서 AI 에이전트에 대한 중요한 교훈을 얻었습니다: 조사 결과의 품질은 그저 그럴듯한 답변을 생성하는 것 이상의 것에 달려 있습니다.
조사 에이전트는 또한 관련 컨텍스트에 접근하고, 관계를 추적하며, 검사할 수 있는 증거와, 사람들이 그 추천 사항을 검토할 수 있도록 하는 워크플로우가 필요합니다.
FalkorDB는 이러한 연결된 관계를 탐색하기 위한 그래프 기반 토대를 제공했습니다. 여기에 API 백엔드 및 웹 인터페이스를 결합함으로써, 근본적인 그래프 연산들을 사용자가 상호작용할 수 있는 조사 워크플로우로 전환하는 데 도움이 되었습니다.
이 프로젝트는 또한 제외 항목과 불확실성을 가시화하는 것의 중요성을 강조했습니다. 보안 조사에서 무언가를 포함하지 않은 이유를 설명하는 것이, 무언가를 포함한 이유를 설명하는 것만큼 유용할 수 있습니다.
향후 계획 (What's Next)?
SentinelGraph는 다음과 같은 여러 방향으로 추가 개발될 수 있습니다:
- 추가적인 보안 데이터 소스 통합.
- 그래프 기반 조사 패턴 확장.
- 증거 순위 지정 및 조사 설명 개선.
- 더 크고 다양한 데이터셋을 대상으로 시스템 평가.
- 조사 품질에 대한 더 강력한 평가 지표 추가.
- 추천되고 승인된 조치 주변의 감사 가능성(auditability) 향상.
이것들은 현재 구현에 대한 주장이라기보다는 잠재적인 미래 개선 사항입니다.
결론 (Conclusion)
SentinelGraph는 그래프 데이터베이스가 AI 기반 사이버 보안 조사를 어떻게 더 컨텍스트적이고 설명 가능하게 만들 수 있는지 탐구합니다.
FalkorDB를 사용하여 경고(alerts)들을 연결하고, 관계를 순회하며(traverse), 증거 경로를 추적하고, 과거 사고 기록 메모리(historical incident memory)를 검색함으로써, 이 프로젝트는 연결된 데이터가 어떻게 조사 워크플로우를 지원할 수 있는지 보여줍니다. 사람이 검토한 대응 추천 사항은 분석가가 중요한 결정에 계속 관여하도록 돕습니다.
더 넓은 시사점은 유용한 AI 에이전트가 언어 모델(language model) 이상의 것이 필요하다는 것입니다. 그들은 구조화된 컨텍스트, 의미 있는 관계, 검사 가능한 증거, 그리고 적절한 인간의 감독을 필요로 합니다.
이것이 바로 SentinelGraph의 아이디어입니다.
프로젝트 살펴보기:
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기