
ThreatDNA 구축하기: 사이버 보안 분석가에게 결코 잊지 않는 기억력을 부여하다
요약
사이버 보안 분석가를 위한 지식 그래프 기반의 메모리 플랫폼인 ThreatDNA 구축 과정을 소개합니다. Cognee를 활용하여 보안 사고 데이터를 지속적으로 학습하고 연결함으로써, 반복되는 공격 조사 효율을 극대화하는 방법을 다룹니다.
핵심 포인트
- Cognee를 활용한 지속 가능한 지식 그래프 구축
- 사고 보고서 및 IOC 데이터를 활용한 메모리 관리
- remember, recall, improve, forget API를 통한 데이터 제어
- FastAPI 기반의 보안 메모리 엔드포인트 구현
ThreatDNA 구축하기: 사이버 보안 분석가에게 결코 잊지 않는 기억력을 부여하다
저는 WeMakeDevs × Cognee 해커톤을 위해 ThreatDNA를 구축하고 있습니다. 이는 조직이 직면했던 모든 사고를 기억하는 사이버 기억 지능 (cyber memory intelligence) 플랫폼으로, 분석가들이 매번 동일한 공격을 처음부터 다시 조사하는 일을 방지합니다.
문제점
보안 팀은 사고 보고서, IOC 피드, 악성코드 분석, 분석가 노트 등 산더미 같은 데이터를 생성합니다. 일단 사고가 종결되면, 그 모든 지식은 보통 PDF나 Jira 티켓 속으로 사라져 버립니다. 6개월 후 유사한 일이 다시 발생하면, 팀은 거의 제로 상태에서 다시 시작해야 합니다.
왜 Cognee인가
대부분의 "AI 보안 어시스턴트" 프로젝트는 단순히 검색 기능이 결합된 챗봇에 불과합니다. 이들은 세션 간에 실제로 아무것도 기억하지 못합니다. Cognee는 다릅니다. Cognee는 사고, 악성코드, CVE, 기술들을 시간에 따라 연결하는 지속적이고 셀프 호스팅 가능한 지식 그래프 (knowledge graph)이며, 사용할수록 더 똑똑해집니다.
저는 Cognee의 네 가지 핵심 API를 모두 사용하고 있습니다:
remember()— 사고 보고서, IOC, 분석가 노트를 수집 (ingest)recall()— 조직의 전체 사고 이력을 가로지르는 그래프 탐색 (graph-traversal) 검색improve()— 모든 조사 후에 관계를 강화forget()— 전체 그래프를 파괴하지 않고 선택적으로 데이터 삭제 (예: GDPR/고객 특정 정리)
지금까지 구축한 내용
Cognee에 직접 연결된 FastAPI 백엔드와 네 가지 메모리 작업(memory operations) 모두에 대해 작동하는 엔드포인트(endpoints)를 구축했습니다. 중요한 사항을 테스트하기 위해 몇 달에 걸친 몇 가지 가짜 침해 사고(incidents) 데이터를 시드(seed)로 입력했습니다. 테스트 목적은 이것이 단순히 키워드를 검색하는 것을 넘어, 실제로 시간을 가로질러 사건들을 연결할 수 있는지 확인하는 것이었습니다.
가능했습니다. "이 공격 패턴을 이전에 본 적이 있는가?"라고 물었을 때, ThreatDNA는 1월의 PowerShell 기반 공격을 몇 달 전의 유사한 공격과 정확히 추적하여 연결했습니다. 기법(technique)은 동일하고 페이로드(payload)만 달랐던 것입니다. 그리고 그 연결 고리를 쉬운 언어로 설명해 주었습니다. 이것은 단순한 키워드 매칭이 아닙니다. 시간을 가로지르는 지식 그래프(knowledge graph) 추론입니다.
또한 서버를 완전히 재시작한 후 동일한 질문을 다시 던졌는데, 메모리가 유지되었습니다. 아무것도 손실되지 않았습니다. 이것이 핵심입니다. 이것은 세션 사이에 건망증을 앓는 챗봇(chatbot)이 아닙니다.
향후 계획
앞으로 며칠 동안 다음 사항들을 구축할 예정입니다:
- 침해 사고가 연결되는 것을 문자 그대로 볼 수 있는 그래프 시각화 프론트엔드(frontend)
- "메모리 있음 vs 메모리 없음" 비교 데모
- MITRE ATT&CK 기법 오버레이(overlays)
- 다듬어진 데모 영상
이것이 중요한 이유
이 작업을 수행하며 얻은 진짜 통찰은 다음과 같습니다. 대부분의 해커톤 AI 프로젝트들은 메모리를 챗봇에 부수적인 요소로 덧붙입니다. 만약 그런 프로젝트에서 Cognee를 제거한다면, 기본적으로는 여전히 작동할 것입니다. 하지만 ThreatDNA의 경우, Cognee를 제거하면 남는 제품이 없습니다. 지속 가능한 그래프 메모리(persistent graph memory) 그 자체가 바로 제품이기 때문입니다. LLM은 메모리가 이미 파악한 내용을 설명해 줄 뿐입니다.
계속 따라오고 계신가요? X(https://x.com/KaldeoDev)를 통해 매일 진행 상황을 게시할 예정입니다.
이 모든 것을 구동하는 기술이 궁금하시다면 Cognee 프로젝트를 확인해 보세요.
GitHub 저장소: https://github.com/Kaldeo1666/ThreatDNA — 이런 종류의 프로젝트에 관심이 있다면 스타(star)를 눌러주세요. 해커톤이 계속됨에 따라 더 많은 업데이트가 이어질 예정입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기
