[논문 리뷰] AIQL: Enabling Efficient Attack Investigation from System Monitoring Data
AIQL은 도메인 특화 쿼리 언어와 최적화된 저장/실행 엔진을 도입해 대규모 시스템 모니터링 데이터에 대한 빠르고 간결한 공격 조사를 가능하게 하며, SQL 기반 및 그래프 기반 시스템보다 수십 배 이상 빠릅니다.
The need for countering Advanced Persistent Threat (APT) attacks has led to the solutions that ubiquitously monitor system activities in each host, and perform timely attack investigation over the monitoring data for analyzing attack provenance. However, existing query systems based on relational databases and graph databases lack language constructs to express key properties of major attack behaviors, and often execute queries inefficiently since their semantics-agnostic design cannot exploit the properties of system monitoring data to speed up query execution. To address this problem, we propose a novel query system built on top of existing monitoring tools and databases, which is designed with novel types of optimizations to support timely attack investigation. Our system provides (1) domain-specific data model and storage for scaling the storage, (2) a domain-specific query language, Attack Investigation Query Language (AIQL) that integrates critical primitives for attack investigation, and (3) an optimized query engine based on the characteristics of the data and the semantics of the queries to efficiently schedule the query execution. We deployed our system in NEC Labs America comprising 150 hosts and evaluated it using 857 GB of real system monitoring data (containing 2.5 billion events). Our evaluations on a real-world APT attack and a broad set of attack behaviors show that our system surpasses existing systems in both efficiency (124x over PostgreSQL, 157x over Neo4j, and 16x over Greenplum) and conciseness (SQL, Neo4j Cypher, and Splunk SPL contain at least 2.4x more constraints than AIQL).
연구 동기 및 목표
- 고도 지속 위협(APT)을 차단하기 위한 대규모 시스템 모니터링 데이터에 대한 시의적절한 공격 조사 필요성을 제시한다.
- 모니터링 데이터를 확장하기 위한 도메인특화 데이터 모델과 저장 전략을 제안한다.
- 공격 행위에 대한 도메인 특화 쿼리 언어 Aiql을 설계한다.
- 시스템 모니터링 데이터에 맞춘 최적화를 가진 특수 쿼리 엔진을 개발한다.
- 실세계 데이터를 대상으로 Aiql을 전통적인 SQL/그래프 시스템과 비교 평가한다.
제안 방법
- 병렬 처리가 가능하도록 데이터를 시간적으로 및 공간적으로 파티션하는 도메인 특화 데이터 모델과 저장소를 제안한다.
- 다중 이벤트 패턴, 의존성 추적 및 이상 쿼리 구문을 갖춘 Aiql를 도입한다.
- 이벤트 패턴별로 SQL 쿼리를 합성하고 관계 인식 스케줄링을 사용하는 쿼리 엔진을 개발한다.
- 시간 창 분할 및 다중 프로세싱플랫폼(MPP) 데이터베이스에 걸친 분산을 구현한다(예: Greenplum).
- 두 층의 최적화를 사용한다: (a) 이벤트 패턴 가지치기 능력, (b) 시간적/공간적 병렬화를 통해 하위 쿼리를 병렬로 실행.
- 맥락 인식 구문 단축키와 속성 추론을 제공하여 쿼리 작성의 복잡성을 줄인다.
실험 결과
연구 질문
- RQ1Aiql가 핵심 공격 행위(다단계 공격, 의존성, 이상) 를 간결하고 효과적으로 표현할 수 있는가?
- RQ2저장 및 쿼리 스케줄링의 도메인 특화 최적화가 대규모 모니터링 데이터 세트에서 공격 조사 성능을 실질적으로 향상시키는가?
- RQ3일반적인 APT 관련 쿼리에서 Aiql은 효율성 및 간결성 면에서 SQL, Cypher, Splunk SPL과 어떻게 비교되는가?
- RQ4수백 대의 호스트와 수십억 개의 이벤트를 가진 엔터프라이즈 규모 배포로 시스템이 확장될 수 있는가?
주요 결과
- Aiql은 실제 공격 시나리오에서 PostgreSQL보다 124배, Neo4j보다 157배의 엔드투엔드 효율 향상을 달성한다.
- 관계 기반 가지치기와 시간적/공간적 병렬화를 통한 스케줄링은 PostgreSQL 대비 40배, Greenplum 대비 16배 더 빠른 스케줄링을 제공한다.
- Aiql 쿼리는 SQL, Neo4j Cypher, Splunk SPL보다 간결하며 제약 조건이 최소 2.4배 적고, 단어 수가 3.1배 적고, 문자 수가 4.7배 적다.
- 평가에는 857 GB의 실제 시스템 모니터링 데이터(16일, 25억 개의 이벤트)가 150대의 호스트에 걸쳐 사용되어 엔터프라이즈 규모 배포의 실용성을 보여준다.
- Aiql은 세 가지 공격 행위 원시(다단계, 의존성 추적, 이상 기반 쿼리)를 지원하고 저장소 및 쿼리 실행을 최적화하기 위해 도메인 특화 데이터 모델링을 통합한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.