[논문 리뷰] Cybersecurity Threat Hunting and Vulnerability Analysis Using a Neo4j Graph Database of Open Source Intelligence
이 논문은 다양한 출처(예: 위협 보고서, 소셜 미디어, 악성코드 스캔 결과 등)에서 온라인 소스 정보(Open Source Intelligence, OSINT)를 집계하는 Neo4j 기반 그래프 데이터베이스를 제안한다. 이는 지침자기화 지표(IoCs)의 자동 탐지 및 상관관계 분석을 가능하게 하며, 구조화된 IoCs(예: IP 주소, 도메인, 해시값, CVE 등)를 추출하고 기계학습 강화 메타데이터를 통해 비정형 OSINT 문서와 연결함으로써 의미적 그래프 쿼리를 통해 효율적인 위협 사냥, 악성코드 패밀리 군집화 및 취약성 분석을 가능하게 한다. 이는 노이즈가 많고 대규모인 OSINT에서의 확장성과 인사이트 추출을 크게 향상시킨다.
Open source intelligence is a powerful tool for cybersecurity analysts to gather information both for analysis of discovered vulnerabilities and for detecting novel cybersecurity threats and exploits. However the scale of information that is relevant for information security on the internet is always increasing, and is intractable for analysts to parse comprehensively. Therefore methods of condensing the available open source intelligence, and automatically developing connections between disparate sources of information, is incredibly valuable. In this research, we present a system which constructs a Neo4j graph database formed by shared connections between open source intelligence text including blogs, cybersecurity bulletins, news sites, antivirus scans, social media posts (e.g., Reddit and Twitter), and threat reports. These connections are comprised of possible indicators of compromise (e.g., IP addresses, domains, hashes, email addresses, phone numbers), information on known exploits and techniques (e.g., CVEs and MITRE ATT&CK Technique ID's), and potential sources of information on cybersecurity exploits such as twitter usernames. The construction of the database of potential IoCs is detailed, including the addition of machine learning and metadata which can be used for filtering of the data for a specific domain (for example a specific natural language) when needed. Examples of utilizing the graph database for querying connections between known malicious IoCs and open source intelligence documents, including threat reports, are shown. We show three specific examples of interesting connections found in the graph database; the connections to a known exploited CVE, a known malicious IP address, and a malware hash signature.
연구 동기 및 목표
- 사이버보안 위협 탐지에 있어 OSINT의 확장성과 노이즈 문제를 해결한다.
- 블로그, 뉴스, 소셜 미디어, 위협 보고서와 같은 비정형 OSINT 자료에서 지침자기화 지표(IoCs)의 자동 식별 및 상관관계 분석을 수행한다.
- 의미적 관계와 메타데이터를 활용해 IoCs를 관련 OSINT 문서와 연결하는 확장 가능한 쿼리 가능한 지식 그래프를 구축한다.
- 상호 연결된 사이버보안 데이터를 기반으로 한 그래프 쿼리 기반 분석을 통해 효율적인 위협 사냥, 악성코드 패밀리 군집화 및 취약성 분석을 가능하게 한다.
제안 방법
- 위협 보고서, 소셜 미디어(Reddit, Twitter), 악성코드 스캔 결과, 뉴스 사이트 등 다양한 출처에서 OSINT를 수집한다.
- 비정형 텍스트에서 패턴 매칭을 통해 잠재적 IoCs(예: IP 주소, 도메인, 해시값, CVE, MITRE ATT&CK ID 등)를 추출한다.
- 노드가 IoCs 및 OSINT 문서이고, 간선이 동시 발생 또는 맥락적 관계를 나타내는 Neo4j 그래프 데이터베이스를 구축한다.
- 기계학습 모델을 통합하여 문서의 관련성(사이버보안 대비 비사이버보안 콘텐츠)을 분류하고 악성코드 기법을 탐지함으로써 데이터 품질을 향상시킨다.
- 언어 감지 및 신뢰도 점수와 같은 메타데이터를 통합하여 고품질의 도메인 전문 OSINT 문서를 필터링하고 우선순위를 정한다.
- Neo4j의 네이티브 인터페이스 및 PyGraphistry와 같은 외부 도구를 활용해 그래프 관계를 상호작용적으로 쿼리하고 시각화한다.
실험 결과
연구 질문
- RQ1어떻게 그래프 데이터베이스 모델이 다양한 비정형 OSINT 자료를 효과적으로 통합하고 상관관계를 맺어 위협 탐지 능력을 향상시킬 수 있는가?
- RQ2기계학습 강화 메타데이터는 OSINT 문서에서 추출된 IoCs의 관련성과 품질을 어느 정도 향상시킬 수 있는가?
- RQ3IoC 관계에 대한 그래프 기반 쿼리가 기존 방법에 비해 더 효과적으로 악성코드 패밀리 군집화 및 인프라 탐지가 가능한가?
- RQ4대규모 OSINT 코퍼스에서 복잡한 다단계 관계(멀티홉 관계)를 탐지하는 데 있어 이 시스템의 확장성과 효율성은 어떠한가?
주요 결과
- 시스템은 다양한 출처에서 유래한 상호 연결된 IoCs 및 OSINT 문서를 포함한 대규모 Neo4j 그래프 데이터베이스를 성공적으로 구축하여 사이버보안 관계에 대한 의미적 쿼리 기능을 제공했다.
- 그래프 쿼리는 알려진 악성 IoCs와 관련 OSINT 문서 간의 유의미한 연결을 드러내어 위협 사냥 및 인프라 맵핑에 실용성을 입증했다.
- 동일한 리소스 파일(예: 동일한 OriginalFilename 및 내장 리소스)을 가진 악성코드 샘플들이 서로 관련이 있을 가능성이 있음을 확인했으며, 해시값이 다를지라도 공통된 개발 배경을 가졌음을 시사했다.
- 큰 그래프 확장(예: Qakbot IP 연결)의 시각화 결과, 단 몇 단계의 간섭(도수)만으로도 매우 연결성이 높은 서브그래프가 생성되는 것을 확인했으며, 이는 그래프 기반 탐색의 가치를 입증했다.
- CTC 및 언어 감지 메타데이터 통합으로 영어권, 사이버보안 관련 문서에 한정된 쿼리 정밀도가 크게 향상되었다.
- 시스템은 관련 악성코드 및 인프라 군집을 식별하는 데 있어 확장성과 실용성을 입증했으며, 효과적인 악성코드 패밀리 군집화 및 취약성 분석 지원에 기여했다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.