APT(Advanced Persistent Threat)는 특정 목표에 대해 장기간에 걸쳐 지속적으로 수행되는 정교한 사이버 공격이다. 보통 국가 지원을 받는 해킹 그룹이나 고도로 조직화된 범죄 집단이 수행한다.
APT vs 일반 사이버 공격
| 구분 | APT | 일반 공격 |
|---|
| 목표 | 특정 조직/정부/기업 | 불특정 다수 |
| 기간 | 수개월 ~ 수년 | 수시간 ~ 수일 |
| 목적 | 정보 수집, 사보타주 | 금전적 이득 |
| 기술 수준 | 매우 높음 | 낮음 ~ 중간 |
| 탐지 난이도 | 매우 어려움 | 비교적 쉬움 |
APT 공격 단계 (사이버 킬체인)
1. 정찰 (Reconnaissance)
└─ OSINT, 소셜 엔지니어링, 타겟 조사
2. 무기화 (Weaponization)
└─ 제로데이 + 페이로드 결합
3. 전달 (Delivery)
└─ 스피어 피싱 이메일, 워터링홀
4. 익스플로잇 (Exploitation)
└─ 취약점 실행, 초기 침투
5. 설치 (Installation)
└─ 백도어, RAT, 루트킷 설치
6. C2 (Command & Control)
└─ 은닉 채널 (DNS, HTTPS, 소셜미디어)
7. 목표 달성 (Actions on Objectives)
└─ 데이터 유출, 파괴, 지속 거점 확보
주요 APT 그룹
| 그룹 | 배후 | 주요 타겟 | 특징 |
|---|
| APT28 (Fancy Bear) | 러시아 GRU | 정부, 선거 | NotPetya, DNC 해킹 |
| APT29 (Cozy Bear) | 러시아 SVR | 정부, 싱크탱크 | SolarWinds |
| APT41 | 중국 | 기술, 의료 | 이중 목적 (간첩+금전) |
| Lazarus | 북한 | 금융, 암호화폐 | WannaCry, SWIFT 해킹 |
탐지 지표 (IoC)
python
# APT IoC 검사 예시
suspicious_indicators = {
"long_dwell_time": True, # 장기간 잠복
"low_slow_exfil": True, # 소량씩 느린 데이터 유출
"living_off_land": True, # PowerShell, WMI 등 합법 도구 악용
"lateral_movement": True, # 내부 망 횡적 이동
"c2_over_dns": True, # DNS 터널링 C2
"encrypted_c2_to_cloud": True # 클라우드 서비스 경유 C2
}
관련 문서