- 근데 한번 들어오면 잘 나가지도 않는다 -
APT.
IT보안을 공부하다 보면 한 번쯤은 반드시 마주치는 단어다.
처음 이 단어를 접하는 사람들 반응은 대체로 두 가지다. "아, 아파트요?" 아니면 그냥 넘어가거나.
솔직히 APT 처음 유행일 때 아파트 드립은 나도 자주 했다. 애들이 웃어줬으니깐. 지금은 미안할 뿐이다.
미안했어. 내 후배들아.
(내가 아재니깐 아재 개그 한번 더 하자면) 이 APT와 저 APT 공통점이 있긴 하다. 아파트도 한번 세입자가 들어오면 내보내기 참 힘들지 않나. APT도 마찬가지다. 한번 들어오면 나가질 않는다. 아니, 정확히는 들어온 줄을 모른다.
미리 한 가지 말해두겠다. 이 글 길고 재미 없을 수도 있다.
이 글은 지금까지 내가 써온 방화벽, IPS, 랜섬웨어등 다른 글과는 결이 조금 다르다. 저 주제들은 취준생이나 주니어 엔지니어도 "아, 이 장비/공격 이런 거구나" 하고 체감할 수 있는 영역이었다면, APT는 솔직히 말해서 경력이 좀 쌓여야 비로소 피부로 느껴지는 주제다.
주니어 때는 그냥 "이런 게 있구나" 수준으로만 읽어도 충분하다. 오히려 이걸 지금 당장 다 이해하려고 머리 싸매는 것보다, 나중에 필드에서 관련 이슈를 마주쳤을 때 "아, 지난번에 브런치 어디서 봤던 내용 같은데?" 하고 연결되는 순간이 오면 그걸로 족하다.
이름 자체가 이미 핵심을 다 담고 있다. 고급스럽고(Advanced), 끈질기고(Persistent), 위협적이다(Threat). 이 세 단어 중에서 실무자 입장에서 가장 무서운 건 단연 Persistent, 지속성이다.
랜섬웨어가 "돈 내놔!"라고 대놓고 협박하는 강도라면, APT는 당신 집에 몇 달째 숨어서 통장 비밀번호를 조용히 외우고 있는 도둑이다. 들어온 것도 모르고, 나간 것도 모르고, 한참 뒤에서야 "어? 이거 없어졌네?" 하게 되는.
1. APT는 사건이 아니라 '과정'이다
① 일반적인 해킹이 문을 부수고 들어오는 방식이라면, APT는 창문을 조용히 열고, 집 구조를 파악하고, 가족 생활 패턴까지 익힌 다음 아무도 모르게 필요한 것만 챙겨 나가는 방식이다.
② 업계에서 회자되는 APT 평균 잠복 기간은 200일 이상이다. 누군가 이미 들어와 있는데 6개월 넘게 아무도 몰랐다는 게 '평균'이라는 이야기다. (물론 최근 하이엔드 보안장비를 적용할 경우 200일 보다는 짧긴 하다)
③ "우리 회사는 보안 장비 다 깔려 있으니까 괜찮습니다"라는 말이 APT 앞에선 반쯤 허언이 되는 이유다. 탐지를 피하는 게 목적인 놈을 실시간 탐지 장비로 잡는 건 그 자체로 굉장히 어렵다.
2. 누가 APT 공격을 하나 — 여기서부터 책과 현실의 괴리
책에서 APT를 배우면 "고도로 숙련된 해커 집단"이라고 나온다. 틀린 말은 아닌데, 결정적인 맥락 하나가 빠져 있다.
대부분의 APT 배후는 국가다.
① 실제 필드에서 APT로 분류되는 공격들을 보면 배후에 특정 국가의 정보기관이나 군사 조직이 있는 경우가 대부분이다. 우리가 뉴스에서 이름이 오르내리는 Lazarus(북한), APT41(중국), Fancy Bear(러시아) 같은 그룹들. 그리고 김수키도 당연히 여기 포함된다.
② 왜 국가가 직접 나서냐고? 목적 자체가 다르기 때문이다. 일반 해커나 랜섬웨어 그룹은 돈이 목적이다. 그런데 국가 배후 APT는 정보, 기술 탈취, 인프라 교란이 목적이다. 굳이 들키면서까지 돈을 요구할 이유가 없다. 조용히 가져가는 게 훨씬 이득이니까.
③ 그렇기 때문에 APT의 주요 표적은 일반 기업보다는 방산업체, 연구기관, 정부기관, 금융 인프라처럼 국가 안보나 핵심 기술과 연관된 곳들이다.
우리나라 입장에서는.. 딱 붙어있는 이웃나라들이 어디인지 생각해 보면, 남의 나라 이야기가 아닌 건 다들 알 거다.
3. 어떻게 들어오고, 어떻게 잠복하나
APT 공격에는 전형적인 흐름이 있다. 거창하게 Kill Chain이니 MITRE ATT&CK이니 하는 프레임워크로 정형화돼 있기도 한데, 현실적인 언어로 풀면 이렇다.
① 초기 침투 — 결국 스피어 피싱(Spear Phishing)이다. "인사팀 김 과장인 척" 수준이 아니라, 실제 거래처 담당자 이름과 서명을 그대로 베껴서 업무 맥락에 딱 맞게 보낸다. 나도 보면 한 번쯤 열어볼 것 같은 수준이다.
② 잠복 및 내부 이동 — 들어온 뒤 절대 서두르지 않는다. 시스템에 원래 있던 정상 관리 도구들을 악용하는 'Living off the Land' 기법으로 탐지를 피하면서, 천천히 관리자 권한을 탈취하고 핵심 서버로 가는 길을 찾는다.
③ 정보 유출 — 소량씩, 정상 트래픽으로 위장해서, 오랜 기간에 걸쳐 빼간다. 다 나간 다음에야 당했다는 걸 알게 되는 경우가 허다하다.
4. 현장에서는 어떻게 대응하나
솔직히 말하면, 완벽한 대응은 없지만 그래도 현실적인 방향은 있다.(일단 3가지 정도만 말하겠다)
탐지 체계 강화 — 방어의 핵심이 '막는 것'에서 '빨리 찾아내는 것'으로 바뀌고 있다. 200일 잠복을 20일로 줄이면 피해 규모가 완전히 달라진다. SIEM, EDR이 각광받는 이유다.
망 분리 및 최소 권한 원칙 — 내부 네트워크를 잘게 쪼개고(Segmentation), 각 계정이 꼭 필요한 권한만 갖도록 관리하는 것(Least Privilege). 귀찮고 지루하지만, 피해를 최소화하는 건 결국 이 기본기에서 나온다.
샌드박스(Sandbox) — 지금 당장 하나만 꼽으라면 주저 없이 샌드박스다. 의심스러운 파일을 격리된 가상 환경에 던져 넣고 "얘 진짜로 뭐 하나" 지켜보는 방식이다. APT 초기 침투가 대부분 첨부파일로 시작하는 만큼, 이 진입점을 틀어막는 데 가장 효과적이다.
물론 여기도 현실의 뒤통수는 있다. 요즘 고급 APT는 샌드박스 환경을 탐지해서 얌전히 있다가 실제 환경에서만 동작하기도 하고, 아무리 비싼 외산 장비라도 도입해 놓고 알람 방치하면 그냥 비싼 장식품이 된다. 그럼에도 현재 APT 대응 솔루션 중 가장 현실적인 효과를 내는 게 샌드박스라는 건 업계에서도 이견이 없다.
APT가 유독 무서운 이유는 기술적인 정교함 때문만이 아니다.
들어온 줄도 모르게, 나간 줄도 모르게, 나중에 보면 이미 다 털린 뒤인 그 침묵 때문이다.
랜섬웨어는 적어도 당했다는 걸 즉시 안다. APT는 몇 달 뒤 뉴스에서 "○○기관 기밀 유출" 제목을 보고서야 "아, 그게 우리였구나"를 깨닫게 되는 경우도 있다.
조용한 놈이 더 무섭다는 건, IT보안도 다르지 않다.