오늘날의 디지털 환경에서 사이버 위협은 개별 조직의 경계를 넘어 전 세계적으로 연결된 생태계 전반에 영향을 미친다. 공격자들은 포럼, 다크웹 마켓, 비공개 채널을 통해 협력하고 전술을 공유하며 도구를 거래한다. 이러한 협력적인 위협에 맞서기 위해 방어자들 역시 정보를 공유해야 한다는 것은 자명한 사실이다. 그러나 오랫동안 사이버 위협 인텔리전스(CTI) 공유는 비효율성과 혼돈의 장벽에 부딪혀 왔다. STIX와 TAXII는 바로 이 문제를 해결하기 위해 탄생한 표준이다.
STIX와 TAXII가 등장하기 전, CTI 공유는 주로 수동적이고 비정형적인 방식에 의존했다. 보안 분석가들은 이메일을 통해 PDF 보고서를 주고받거나, 악성 IP 주소 목록이 담긴 스프레드시트를 공유하고, 긴급한 경우 전화로 구두 정보를 전달했다. 이러한 방식은 선의에 기반했지만, 다음과 같은 근본적인 결함을 내포하고 있었다.
보편적 언어와 글로벌 우편 서비스이러한 혼란을 해결하기 위해 미국 국토안보부(DHS)의 주도로 시작되어 현재는 비영리 표준화 기구인 OASIS에서 관리하는 두 가지 핵심 표준이 개발되었다. 이 보고서 전반에 걸쳐 사용될 핵심 비유는 다음과 같다.
이 두 표준의 결합은 CTI 공유를 수동적이고 느린 프로세스에서 자동화된 기계 대 기계(machine-to-machine) 교환으로 전환시켰다. 이를 통해 방어 시스템이 공격의 속도에 맞춰 기계의 속도로 운영될 수 있는 기반이 마련되었다.
STIX와 TAXII의 설계에서 가장 중요한 특징 중 하나는 이 두 표준이 의도적으로 분리되어 있다는 점이다. STIX는 특정 전송 메커니즘에 의존하지 않으며, TAXII는 STIX가 아닌 다른 형식의 정보도 전송할 수 있다. 이러한 설계는 단일 표준으로 묶었을 때 발생할 수 있는 경직성을 피하고 엄청난 유연성을 제공하기 위한 전략적 선택이었다.
이 분리 설계가 중요한 이유는 다음과 같다.
결론적으로, STIX와 TAXII의 분리는 전체 프레임워크의 유연성, 상호 운용성, 그리고 장기적인 생존 가능성을 보장하는 핵심적인 설계 원칙이다. 이는 조직들이 완전한 자동화 전송 프로토콜(TAXII)을 구현할 준비가 되지 않았더라도, 우선 구조화된 언어(STIX)부터 도입할 수 있는 점진적인 채택 경로를 제공한다.
STIX 2.x 데이터 모델은 사이버 위협에 대한 정보를 체계적으로 표현하기 위한 정교한 구조를 제공한다. 이 복잡한 개념을 쉽게 이해하기 위해, STIX를 범죄 수사팀이 작성하는 '사건 파일'에 비유할 수 있다. 이 비유를 통해 추상적인 STIX 객체들을 구체적이고 이해하기 쉬운 개념으로 전환해 본다.
과거의 위협 정보 공유 방식은 단순히 용의자(악성 IP 주소, 파일 해시 등) 목록을 나열하는 것과 같았다. 여기에는 용의자들이 누구인지, 어떤 동기를 가졌는지, 어떤 도구를 사용했는지에 대한 정보가 전혀 없었다. 반면, STIX 기반의 보고서는 용의자, 동기, 도구, 장소, 그리고 행동을 하나의 일관된 이야기로 엮어내는 완전한 '사건 파일'과 같다.
STIX 사건 파일은 크게 세 가지 유형의 구성 요소로 이루어져 있으며, 이는 사건 파일의 각 섹션에 해당한다.
사건 파일의 핵심 내용을 구성하는 주요 SDO들을 비유와 함께 살펴본다.
SCO는 네트워크나 호스트에서 관찰된 객관적인 사실, 즉 디지털 포렌식 증거를 나타낸다. 이는 해석이 개입되지 않은 순수한 데이터이다. 예를 들어, File (악성 실행 파일), IPv4-Addr (C2 서버의 IP 주소), Domain-Name (악성 도메인), Email-Addr (피싱 이메일 발신 주소), Registry-Key (악성코드가 생성한 레지스트리 키) 등이 있다.
SRO는 분리된 정보 조각들을 연결하여 의미 있는 맥락을 부여한다.
'uses' [Malware] (위협 행위자가 악성코드를 사용한다) 또는 [Malware] 'communicates-with' [IPv4-Addr] (악성코드가 특정 IP 주소와 통신한다)와 같이 동사를 사용하여 관계를 명확히 표현한다.[Organization X] 'sighted' [Indicator Y] on their network at [Timestamp] (X 기관이 Y 지표를 특정 시간에 자신들의 네트워크에서 목격했다)와 같은 형식으로 표현된다. 이는 커뮤니티 내에서 위협 정보의 신뢰도를 검증하는 데 매우 중요한 역할을 한다.맨디언트(Mandiant)의 APT1 보고서에 기반한 시나리오를 STIX로 어떻게 표현하는지 살펴본다.
"위협 행위자 그룹 APT1은 장기간에 걸쳐 스파이 활동 캠페인을 수행했다. 그들은 피싱 이메일을 통해 'POISON IVY'라는 특정 악성코드 변종을 유포했다. 이 악성코드는 IP 주소 1.2.3.4의 명령 제어(C2) 서버와 통신한다. 이 활동에 대한 지표는 해시값 'abc...def'를 가진 파일의 존재이다."
Threat-Actor 객체를 생성한다.Campaign 객체를 생성한다.Malware 객체를 생성한다. [file:hashes.MD5 = 'abc...def']와 같은 STIX 패턴을 가진 Indicator 객체를 생성한다.IPv4-Addr (SCO) 객체를 생성한다.Relationship 객체를 사용하여 이들을 연결한다:[Threat-Actor: APT1] -> attributed-to -> [Campaign][Campaign] -> uses -> [Malware: POISON IVY][Indicator] -> indicates -> [Malware: POISON IVY][Malware: POISON IVY] -> communicates-with -> [IPv4-Addr: 1.2.3.4]이 예시는 STIX가 어떻게 평범한 텍스트 단락을 기계가 읽고 분석할 수 있는 구조화된 인텔리전스 객체들의 그래프로 변환하는지를 명확하게 보여준다.
초기의 위협 정보 공유는 IP 주소나 파일 해시와 같은 개별적인 침해 지표(IOCs)에 집중되었다. 이러한 접근 방식은 순전히 전술적이고 반응적인 방어에 머물렀다. 공격자는 IP 주소를 쉽게 바꾸거나 악성코드를 약간 수정하여 해시값을 변경함으로써 이러한 지표를 무력화할 수 있었고, 이는 방어자에게 끝없는 "두더지 잡기" 게임을 강요했다.
STIX는 Campaign, Threat Actor, Attack Pattern (TTPs)과 같은 고수준의 개념을 도입하고 이들을 서로 연결함으로써 근본적인 변화를 가져왔다. 방어자는 이제 단순히 일회성 IP 주소를 차단하는 대신, 이 IP가 특정 Threat Actor가 수행하는 더 큰 Campaign의 일부이며, 그들이 지속적으로 사용하는 특정 Attack Pattern(예: 매크로가 포함된 워드 문서를 이용한 스피어 피싱)과 관련이 있음을 파악할 수 있다.
이러한 맥락적 서사는 전략적 방어를 가능하게 한다. 조직은 일시적인 지표 대신 공격자의 행동 방식 자체를 방어하는 데 집중할 수 있다. 예를 들어, 매크로 보안 정책을 강화하거나 특정 유형의 피싱 공격에 대해 사용자를 교육하는 것은 공격자가 IP 주소를 바꾸는 것보다 훨씬 극복하기 어려운 방어벽을 만든다. 이처럼 STIX는 단순히 IOC를 공유하는 형식을 넘어, 사이버 보안 방어 패러다임을 반응적, 전술적 접근에서 예측적, 전략적 접근으로 전환시키는 강력한 프레임워크이다.
| STIX 도메인 객체 (SDO) | 목적 | 간단한 비유/예시 |
|---|---|---|
| Threat Actor | 악의적인 의도를 가진 개인, 그룹, 조직을 식별 | 범죄 조직 (예: Lazarus Group) |
| Campaign | 특정 목표를 가진 일련의 악의적인 활동을 그룹화 | 특정 은행을 노린 연쇄 강도 사건 |
| Malware | 악성 코드를 나타내고 그 특성을 설명 | 범죄에 사용된 특수 제작된 도구 (예: WannaCry) |
| Indicator | 악의적인 활동을 탐지하는 데 사용되는 패턴이나 단서 | 범죄 현장에 남겨진 특정 종류의 발자국 |
| Attack Pattern | 공격자가 목표를 침해하기 위해 사용하는 기술(TTPs) | 범죄 조직의 특징적인 침입 수법 (예: 스피어 피싱) |
| Course of Action | 위협에 대응하기 위한 권고 조치 | 경찰의 대응 작전 계획 (예: 특정 도로 봉쇄) |
| Intrusion Set | 공통된 속성을 가진 공격 활동 및 리소스의 집합체 | 특정 범죄 조직의 모든 사건 파일 및 증거물 모음 |
| Vulnerability | 공격자가 악용할 수 있는 소프트웨어나 시스템의 결함 | 건물의 보안 시스템에 있는 설계상의 허점 |
| Identity | 실제 개인, 조직, 시스템 또는 그룹을 나타냄 | 범죄 조직의 알려진 신원 또는 소속 |
| Tool | 공격자가 사용할 수 있는 합법적인 소프트웨어나 도구 | 범죄에 사용된 일반 망치나 드라이버 |
STIX가 위협 정보를 표현하는 '언어'라면, TAXII는 그 정보를 교환하는 '고속도로'이다. TAXII 프로토콜의 아키텍처와 클라이언트가 서버와 상호 작용하여 STIX 데이터를 교환하는 방식을 이해하기 위해, 현대적인 자동화 도서관 시스템에 비유해 본다.
TAXII 서버는 사이버 위협 인텔리전스를 위한 전문 도서관과 같다. 이 도서관은 책 대신 STIX 객체들의 모음을 보관하고 있다. TAXII 클라이언트는 이 도서관의 자원에 접근할 수 있는 회원증을 가진 도서관 회원에 비유할 수 있다. TAXII는 독점적이거나 복잡한 시스템이 아니라, HTTPS 및 RESTful API와 같은 표준 웹 기술을 기반으로 구축되어 현대적인 보안 도구와 쉽게 통합될 수 있다는 장점이 있다.
도서관 비유를 사용하여 TAXII 서버의 아키텍처를 자세히 살펴본다.
TAXII 클라이언트가 서버로부터 데이터를 검색하는 과정, 즉 '풀(pull)' 또는 '폴링(polling)' 모델은 다음과 같은 명확한 단계로 이루어진다.
탐색 (Discovery): 클라이언트는 먼저 서버에 "어떤 서비스를 제공하나요?"라고 묻는다. 클라이언트는 알려진 Discovery URL(예: https://otx.alienvault.com/taxii/discovery 25)에 접속한다. 서버는 사용 가능한 API 루트 목록으로 응답한다.
인증 (Authentication): 클라이언트는 자신의 도서관 회원증(예: API 키, 사용자 이름/비밀번호, 클라이언트 인증서)을 제시하여 리소스에 접근할 권한이 있음을 증명한다.
컬렉션 목록 가져오기 (Get Collections): 특정 API 루트를 선택한 클라이언트는 "이 관에는 어떤 컬렉션들이 있나요?"라고 묻는다. 서버는 해당 클라이언트가 접근 권한을 가진 Collection 목록을 반환한다.
컬렉션 폴링 (Poll Collection): 클라이언트는 "지난번 방문 이후 '피싱 지표' 컬렉션에 추가된 모든 새로운 인텔리전스 객체를 주세요"와 같이 구체적인 요청을 보낸다. 이때 날짜, STIX 객체 유형 등으로 필터링할 수 있다. 서버는 요청에 맞는 STIX 객체들의 묶음(bundle)으로 응답한다.
TAXII는 다양한 정보 공유 시나리오를 지원하기 위해 세 가지 주요 공유 모델을 지원한다.
IP 주소를 차단하는 것과 같은 보안 조치를 자동화하는 것은 본질적인 위험을 수반한다. 만약 수신한 인텔리전스가 부정확하다면, 정상적인 비즈니스 파트너의 IP나 중요한 클라우드 서비스를 차단하여 심각한 서비스 장애를 유발할 수 있다. 따라서 자동화는 인텔리전스 소스에 대한 높은 수준의 신뢰가 보장될 때에만 가능하다.
TAXII는 바로 이 신뢰를 구축하고 강제하도록 설계되었다. HTTPS 프로토콜을 사용하여 전송 중 데이터의 위변조를 방지하고, 강력한 인증 메커니즘을 통해 허가된 클라이언트만 데이터에 접근하도록 보장한다. 또한, API 루트와 컬렉션 구조를 통해 서버 관리자는 매우 세분화된 접근 제어를 설정할 수 있다. 예를 들어, 완전 자동화 조치를 위한 "신뢰도 높은 검증된 지표" 컬렉션과 분석가의 검토가 필요한 "검증되지 않은 원시 지표" 컬렉션을 분리하여 운영할 수 있다.
이러한 설계는 TAXII가 단순한 전송 프로토콜을 넘어 신뢰 기반 자동화(Trust-Based Automation) 프레임워크임을 보여준다. TAXII가 제공하는 보안 및 접근 제어 기능들은 조직이 수동 검토에서 자동화된 대응으로 나아갈 수 있는 확신을 제공하며, 이는 현대 CTI 프로그램의 궁극적인 목표이다. 이러한 신뢰 보장 기능이 없다면, TAXII는 단순히 조금 더 나은 FTP 서버에 불과했을 것이다.
지금까지 STIX와 TAXII의 기술적 표준을 살펴보았다면, 이제 이들이 실제 보안 운영 환경에서 어떻게 활용되고 어떤 가치를 창출하는지 구체적인 사례를 통해 알아본다.
STIX/TAXII가 현대 SOC의 워크플로우에 어떻게 통합되는지 단계별로 살펴본다.
STIX/TAXII를 도입함으로써 얻을 수 있는 이점은 명확하고 강력하다.
이러한 이점들을 종합적으로 보여주는 다음 표는 수동 방식과 자동화된 방식의 차이를 한눈에 비교하여 STIX/TAXII의 가치를 명확하게 보여준다.
| 지표 | 수동 방식 (이메일/PDF) | 자동화된 방식 (STIX/TAXII) |
|---|---|---|
| 속도 | 몇 시간 ~ 며칠 | 몇 초 ~ 몇 분 |
| 기계 판독 가능성 | 아니오 (사람의 해석 필요) | 예 (도구가 직접 사용 가능) |
| 확장성 | 낮음 (분석가의 처리량에 제한됨) | 높음 (수백만 개의 지표 처리 가능) |
| 정확성 | 사람의 실수에 취약함 | 높음 (복사/붙여넣기 오류 제거) |
| 맥락 | 단편적이거나 손실되기 쉬움 | 관계 객체를 통해 풍부하게 보존됨 |
| 실행 가능성 | 지연됨 (수동 조치 필요) | 즉각적 (자동화된 대응 가능) |
이 표는 STIX/TAXII 도입의 가치 제안을 명확하게 요약한다. 이는 여러 핵심 운영 지표에 걸쳐 '전'과 '후'의 상태를 직접적으로 대조함으로써, 관리자와 실무자 모두가 그 이점을 실질적이고 쉽게 이해할 수 있도록 돕는다.
누구나 접근하여 STIX/TAXII를 경험해볼 수 있는 잘 알려진 공개 피드들이 있다.
개발자와 분석가가 STIX/TAXII 표준을 보다 쉽게 다룰 수 있도록 도와주는 다양한 오픈 소스 도구들이 있다.