데이터 엔지니어 · AI 엔지니어를 위한 핵심 요약
MITRE ATT&CK (Adversarial Tactics, Techniques & Common Knowledge)는 실제 위협 행위자들의 공격 전술(Tactics), 기법(Techniques), 절차(Procedures)를 체계적으로 정리한 지식 베이스입니다. 보안 팀은 이를 활용해 탐지 규칙을 개발하고, 침해 지표를 식별하며, 위협 모델링을 수행합니다.
공격자의 전체 kill chain을 TTP 관점으로 분석하여 탐지·대응 우선순위를 명확히 설정합니다.
STIX/TAXII 표준과 연계하여 외부 위협 정보를 내부 로그 및 탐지 규칙에 바로 매핑할 수 있습니다.
ATT&CK Navigator 등을 통해 현재 보안 커버리지를 시각화하고, 미탐지 기법을 식별하여 개선합니다.
기존 위협 모델링 프레임워크와의 차이를 비교하면 ATT&CK의 실용성이 더욱 명확해집니다.
| 프레임워크 | 초점 | 장점 | ATT&CK 대비 한계 |
|---|---|---|---|
| Cyber Kill Chain | 공격 단계 | 직관적, 고수준 흐름 | 세부 기법 부족, 현대 공격 반영 미흡 |
| STRIDE | 위협 유형 | 개발자 친화적 | 운영 환경 탐지·대응에 취약 |
| NIST CSF | 보안 거버넌스 | 조직 정책 수립에 적합 | 기술적 TTP 상세화 부족 |
| MITRE ATT&CK | TTP 기반 위협 인텔 | 실제 공격 기반, 지속 업데이트, 도구 연계 용이 | 초기 학습 곡선 |
✅ 핵심 — ATT&CK은 단순한 분류체계를 넘어, SOC·RED팀·위협 인텔리전스 전반에서 공통 언어로 사용됩니다.
ATT&CK은 Tactics (왜?), Techniques (무엇을?), Procedures (어떻게?)의 계층 구조로 설계되어 있습니다.
Matrix는 플랫폼별로 분리되어 있으며, 각 기법에는 MITIGATION과 DETECTION이 연결되어 실무에 바로 활용 가능합니다.
⚠️ 주의 — 모든 기법이 모든 환경에 적용되지는 않습니다. 자신의 인프라(클라우드, 온프레미스, 컨테이너)에 맞는 Matrix를 선택하세요.
ATT&CK 데이터를 활용하는 가장 빠른 방법은 attackcti (Python 라이브러리)와 REST API를 사용하는 것입니다.
pip install attackcti
from attackcti import attackcti
import json
# ATT&CK 데이터 로드 (v14 기준, 최신 버전 자동 반영)
attck = attackcti.attackcti()
# 모든 Enterprise 기법 출력 (처음 5개만)
techniques = attck.get_techniques()
for t in techniques[:5]:
print(f"[{t.id}] {t.name} - {t.description[:100]}...")
# 특정 Tactics에 속한 기법 조회 (예: Initial Access)
initial_access = attck.get_techniques_by_tactic("initial-access")
print(f"\nInitial Access 기법 수: {len(initial_access)}")
for t in initial_access[:3]:
print(f" → {t.id}: {t.name}")
# Enterprise ATT&CK 최신 데이터를 JSON으로 다운로드
curl -s https://raw.githubusercontent.com/mitre/cti/master/enterprise-attack/enterprise-attack.json | jq '.objects | length'
# 특정 기법 조회 (예: T1059 Command and Scripting Interpreter)
curl -s "https://raw.githubusercontent.com/mitre/cti/master/enterprise-attack/enterprise-attack.json" \
| jq '.objects[] | select(.id == "attack-pattern--e3b6e7b2-6c0b-4e6e-8c0f-4f1c2a3b4c5d") | .name'
💡 팁 — attackcti 외에도 stix2 라이브러리를 사용하면 더욱 유연하게 STIX 데이터를 핸들링할 수 있습니다.
실무에서 자주 사용하는 ATT&CK 도구 및 설정값을 표로 정리했습니다.
| 구성 요소 | 설명 | 비고 |
|---|---|---|
| ATT&CK Navigator | Matrix 시각화 & 커버리지 분석 도구 | mitre-attack.github.io/attack-navigator |
| STIX/TAXII | 위협 인텔리전스 공유 표준 (JSON 기반) | OASIS TC 표준 |
| Sigma Rules | ATT&CK 기반 탐지 룰 (YAML 형식) | sigmahq.github.io |
| Atomic Red Team | ATT&CK 테스트 시나리오 자동화 | github.com/redcanaryco/atomic-red-team |
| Unfetter | 보안 분석 및 시각화 플랫폼 | unfetter.io |
⚠️ 문제 1: "API 응답이 너무 커서 로딩이 오래 걸려요."
✅ 해결: attackcti에서 특정 Matrix만 선택하거나 stix2 필터를 사용하세요. 예: enterprise_only=True
⚠️ 문제 2: "커스텀 탐지 규칙을 ATT&CK에 어떻게 매핑하나요?"
✅ 해결: Sigma 룰의 tags 필드에 attack.tXXXX 또는 attack.initial_access 형태로 태깅합니다.
⚠️ 문제 3: "클라우드 전용 기법이 누락된 것 같아요."
✅ 해결: ATT&CK v14부터 AWS, Azure, GCP 별 기법이 대폭 확장되었습니다. 항상 최신 버전을 확인하세요.
✅ 베스트 프랙티스 — 매 분기마다 ATT&CK Navigator를 통해 현재 탐지 커버리지를 재평가하고, 신규 기법(CVE와 연계된 것)을 우선적으로 대응하세요.