오늘은 두 개의 글을 포스팅하게 되는군요. 시간 날때 집에서 써야지 하다가다 애기의 장난과 저의 게으름에 그냥 지나치기 일쑤 인데, 오늘은 모처럼 시간을 내어 봅니다.
APT(Advanced Persistent Threat)와 관련된 원고도 과거에 한번 썼었던 적이 있었고, 외부 및 내부 강의로 인해 파워포인트(PowerPoint) 슬라이드도 버전만 조금씩 다르지 작성해 두었던 것이 제법 있었습니다.
오늘 공유하는 자료는 2014년 1월 초에 내용을 업데이트 한 자료인데, 당시 다른 메모리 포렌식(Memory Forensic) 관련 원고를 작성 중에 있던 시점이었습니다. 그래서, 원고를 담당하시는 담당자분께 파워포인트 슬라이드 파일만 전달 해드렸는데, 이를 원고로 보기좋게 정리를 하셔서 "월간 안" 2월호에 옮겨 주셨더군요.
그래서, 강남 성형외과 광고에 자주 보였던 문구 중 하나인 "비포(Before) & 애프터(After)"로 나누어, 초안이었던 PPT 슬라이더를 먼저 보여드리고, 그 아래 부분에 정리되어 실렸던 원고를 게시하였습니다.
초안이 되었던 PPT 슬라이드가 과거 자료와 다른 점은 마지막 3장에 조금 더 실질적이고 현실적인 대안이 "APT(Advanced Persistent Threat) 공격 예방적 System Hardening"와 "APT(Advanced Persistent Threat) 공격 탐지적 Network Control" 라는 내용으로 추가되었습니다.
이는 작년 가을 서울종합과학대학원 산업보안 MBA 과정에서 진행되었던 특강시에 받았던 여러 질문 중 하나가 "현실적으로 조치 할 수 있는 가이드라인(Guild-line)이 무엇이냐" 였습니다.
이 질문을 주신 분은 실제 기업 보안팀에서 현업 엔지니어로 근무하시는 분이라 개념적인 내용과 공격 기법 분석 역시 중요하지만, 방어적인 차원에서 삼을 수 있는 가이드라인이 필요하였던 분이었습니다. 그래서 내부 자료들을 정리하면서 가이드라인으로 삼을 수 있는 부분들을 추가하였습니다.
이런 초안이 아래와 같은 원고로 변경되어 "월간 안" 2월 호에 동일한 제목으로 "
APT 공격의 현재와 대응 방안, APT 공격 예방을 위한 11가지 수칙"으로 공개되었습니다.
+---------------------
APT 공격 예방을 위한 11가지 수칙
인터넷으로 연결된 세상은 그야말로 그물망처럼 더욱 정교하고 공고해지고 있다. 이러한 환경은 악성코드가 서식하기에 더없이 좋은 조건이기도 하다. 신년인사나 청첩장, 이력서도 이메일이나 SNS를 통해 전달하는 것이 이젠 어색하지 않다. 그러나 무심코 열어본 이메일, 늘 사용하던 SNS에 생각지도 못한 악성코드의 위험이 도사리고 있다. 인터넷 환경이 발달할수록, 사용자가 많아질수록, 그 틈새를 노리는 악성코드도 더욱 교묘해지기 마련이다. 더욱이 공격 타깃이 불특정 다수가 아닌 특정 기업이나 기관, 사회기반 시설 등이 되고 있으며 그 파괴력 또한 상상을 초월한다. 이제 보안을 아는 사람이라면 더 이상이 낯설지 않게 되어 버린 APT. 2014년 현재 APT는 어느 수준이며 이에 대응하기 위한 방안은 무엇인지 다시 한번 점검해보자.
APT의 정의
2004년 6월 우리나라 정부와 기업들을 대상으로 한 핍뷰어(PeepViewer)라는 트로이목마가 유포된 사례가 있었다. 국가정보원에 따르면, 6개 공공기관의 PC 64대와 민간 기업의 PC 52대가 감염되었다. 이 트로이목마는 이메일로 ‘워크숍 내용과 일정.MDB’라는 첨부 파일을 전송하여 악성코드 감염을 시도한 것으로 나타났다. 이것은 정부와 일반 기업들을 대상으로 정부 기밀을 탈취하기 위한 국내 최초의 APT 공격 사례로 꼽히고 있다.
이후 국내에서 APT 공격 사례가 대거 나타나기 시작한 것은 2011년부터였다.
2011년 4월에 농협 전산망 마비 사고가 대표적이다. 외부 공격으로 인해 농협의 전산망 시스템이 손상되어 모든 업무가 마비되었다. 이 사고는 외주 직원의 노트북 PC를 감염시킨 후 내부 시스템으로 침입하는 기법을 사용했다. 공격자는 P2P 프로그램으로 악성코드를 유포한 후 7개월 동안 꾸준히 감시하면서 공격 시점을 엿보았던 것으로 드러났다.
같은 해 7월, 3500만 명의 고객 개인정보가 유출된 SK커뮤니케이션즈 침해 사고가 대한민국을 뒤흔들었다. 무료 소프트웨어 업데이트 서버를 해킹하여 정상 파일을 악성코드로 변경한 후 유포하는 방식을 이용하였다. 공격자는 8일 만에 DB 관리자 권한을 획득하였고 DB 데이터를 분할 압축하여 외부로 유출하였다.
해외에서는 2010년 이란 원자력 발전소의 시스템 파괴를 목적으로 한 스턱스넷(Stuxnet)이 발견되었다. 공격자는 MS 윈도의 알려진 취약점 3개와 제로데이 취약점 2개를 악용하여 악성코드를 유포하였다. 2011년에 보고된 듀크(Duqu)와 2012년 발견된 플레임(Flame) 모두 이란 원자력 발전소 관련 정보 수집을 목적으로 침투한 사건이었다.
2010년 1월에는 구글의 기업 기밀 정보를 탈취하기 위한 일명 오퍼레이션 오로라(Aurora)가 발생했다. 이 사고는 구글 외에 첨단 IT 기업 34개도 공격하였다. 마이크로소프트 인터넷 익스플로러의 제로데이 취약점을 악용했으며, 이메일과 메신저로 악의적인 웹 사이트로 접속하는 링크를 전달했다.
2011년 3월에는 EMC/RSA의 OTP(One Time Password) 제품 기밀 정보를 탈취하려는 시도가 있었다. 공격 대상을 선정하기 위해 소셜 네트워크로 내부 직원의 개인정보를 확보하였다는 점에서 본격적인 APT 침해 사고로 알려져 있다. 어도비 플래시 플레이어의 제로데이 취약점을 악용한 첨부 파일을 이메일로 전파, 사회공학적 기법으로 내부 직원의 악성코드 감염을 유도했다.
2012년 2월 CNN은 시리아 정부가 반정부 인사 감시를 위한 악성코드를 유포했다고 폭로했다. 이메일 첨부 파일, 허위 유튜브(Youtube) 페이지, 스카이프(skype)로 악성코드를 유포했으며 언더그라운드에 공개된 DarkComet RAT 악성코드 생성기로 악성코드를 제작한 것으로 알려졌다.
시리아, 이스라엘, 사우디아라비아, 레바논 등지의 PC가 주로 감염됐다.
2013년에 APT 공격은 더욱 기승을 부렸다.
1월에는 오퍼레이션 ‘붉은 10월(Red October)’이라는 악성코드가 동유럽 및 중앙아시아 국가의 기관들을 해킹하는 사건이 발생했다. 이 악성코드는 정부와 연구 기관 등을 타깃으로 정교한 공격을 시도한 것으로 알려졌다. 2월에는 뉴욕타임즈, 월스트리트저널 등 미국의 주요 언론사들이 이전에 해킹 시도가 있었다고 밝히면서 그 배후를 중국의 ‘APT 1’이라고 보도하여 논란이 되었다. 3월에는 인도의 해커 집단인 오퍼레이션 행오버(hangover)가 인근 국가의 정부기관을 해킹하는 사건이 발생했고, 우리나라에서는 KBS, MBC, YTN과 농협, 신한은행, 제주은행 등 방송ㆍ금융 6개사의 전산망이 마비되는 3ㆍ20 사이버테러가 발생했다.
4월에는 국제 해커 집단 윈티(Winnti)가 한국, 미국, 일본 등 전 세계 30여 개국의 온라인 게임 업체를 공격했다고 발표됐으며, 6월에는 악성코드 넷트래블러(NetTraveler)가 우리나라를 포함해 40개국 350개 기관을 공격한 것으로 드러났다. 또한 9월에는 한국과 일본의 주요 정부 기관과 기업들을 대상으로 공격을 시도한 소규모 사이버 용병 그룹인 아이스포그(Icefog), 중국에 거점을 둔 청부 해커 집단인 Hidden Lynx 등에 대한 실체가 드러났다. 이어 12월에는 중국의 해커 집단인 케상창(Ke3chang)이 G20 정상회담 직전 유럽 5개국 외교통상부 장관의 컴퓨터를 해킹한 사건이 보도됐다.
APT 공격 형태의 특징
공격 대상의 확대
인터넷과 컴퓨터의 발달로 정부 기관이나 각 기업에서 업무 자동화 시스템을 도입하고 있다. 따라서 모든 업무는 물론, 기밀 문서 역시 전자 문서와 같은 데이터 형태로 파일 서버에 보관하는 것이 일반적이다. 이러한 환경은 APT 형태의 타깃형 공격이 증가하기 좋은 토양이 된다.
APT 공격의 목적은 더욱 다양화되고 있으며 그 공격 대상 역시 확대되고 있다.
과거에는 정부나 군사 기관만이 주요 공격 대상이었으나, 지금은 경제적 고부가가치 데이터를 보유한 첨단 기업들을 포함한 민간 기업으로까지 확대됐다.
한국과 일본은 특히 금융기관, 언론사 및 온라인 게임 업체들이 주 대상이 되고 있다.
고도화된 공격 기법
웹과 소셜 네트워크의 발달은 공격 대상의 개인정보 수집이 용이한 상황을 만들어준다. 수집한 개인정보들로 공격 대상에게 최적화된 사회공학적 기법을 개발하고 적용하기 쉬워진 것이다. EMC/RSA 침해 사고도 내부 직원들에게 채용 정보 관련 메일로 위장한 것이었다.
또한, 악성코드 제작 및 취약점 개발 기술들의 발전은 보안 제품 탐지 우회와 APT 공격의 성공률을 높이는 데 기여하였다. 악성코드는 셀프 업데이트(self-update), 보안 제품 무력화 등 다수의 개별 기능을 가진 파일들을 조합하기도 한다. 취약점은 다양한 일반 소프트웨어의 알려진 취약점이나 제로데이 취약점을 악용하고 있다.
현재까지 APT 공격의 주요 기법은 이메일의 첨부 파일을 이용하는 형태였다. 이전에는 첨부 파일이 실행 가능한 파일이었으나 최근에는 전자 문서 형태로 변하고 있다. 우리나라에서는 무료 소프트웨어의 자동 업데이트 기능과 국산 P2P 프로그램을 악용하는 사례가 늘고 있다.
APT 공격 대응 방안
APT 공격 방식
APT 공격은 먼저 공격 대상을 정의하는 데서 시작한다. 공격 대상을 정하고 나면, 대상에 맞는 악성코드를 제작하거나 구매한다. 이후 공격 대상에 대해 연구하면서 내부 감염을 시도한다. 이때 사회공학적 기법을 이용한 타깃형 공격이 진행된다. 내부 감염이 성공하면 일단 거점이 확보된 것이다. 악성코드가 감염되었으면 공격자와 연결하기 위해 역 접속(reverse connection)으로 C&C 서버와 연결한다. 연결 후에는 C&C 서버를 통해 원격으로 제어하건 공격 명령을 지시할 수 있다. 이렇게 해서 내부 데이터를 탈취한 후에는 잠복 흔적을 제거함으로써 대상에서 빠져나 온다.
APT 통합 대응 전략
보안 위협에 대응하기 위해 위기 관리 기반의 기업 보안 정책을 수립하는 것이 선행돼야 한다.
또한 공격 표면 축소와 공격 탐지의 효율을 위해 심층 대응(Defense in Depth) 전략을 수립하고, 새로운 보안 위협에 대한 신속한 대응을 위해 시큐리티 인텔리전스(Security Intelligence)를 확보해야 한다.
보안 위협의 출발점이 내부 임직원인 경우가 많으므로, 주기적인 보안 인식 교육도 매우 중요하다.
APT 공격을 사전에 예방하기 위해서는 아래 사항을 빠짐없이 준수하여야 한다.
APT 공격 예방을 위한 시스템 강화
1. 모든 운영체제와 웹 애플리케이션 및 관련 서버는 최신 버전을 유지하고 보안 패치를 적용한다.
2. WSUS(Windows Server Update Services)로 최신 보안 패치를 배포하고 설치한다.
3. 모든 시스템에는 안티바이러스 소프트웨어를 설치하고 안티바이러스 관리 서버에서 모니터링한다.
4. 모든 운영체제에 존재하는 사용하지 않는 사용자 계정은 비활성화하거나 삭제한다.
5. HSM(Host Security Monitoring, HIPS) 설치 후 모니터링하고 주기적으로 분석한다.
6. 터미널 서버에는 공용 계정을 삭제하고 저장된 계정 정보와 암호를 모두 삭제한다.
7. 터미널 서버에는 업무 목적별로 개별 계정을 생성한 후에 로그인 로그를 생성하고 관리한다.
8. 데이터베이스의 xp_cmdshell Procedure를 삭제하고 관련 파일 xplog70.dll을 삭제한다.
9. 데이터베이스 정보는 암호화해서 관리하되, 웹 서버에서 암호화하여 데이터베이스로 전송한다.
10. 웹 서버에는 SSL(Secure Socket Layer)를 활성화 한다.
11. 윈도우 이벤트 로그 및 IIS 웹 로그는 통합하여 로그 매니지먼트 서버에서 관리한다.
APT 공격 탐지를 위한 네트워크 제어
1. 백본 스위치에서는 화이트리스트 및 블랙리스트를 이중 정책으로 설정해 관리한다.
2. 기업 외부 네트워크에서 기업 내부로 접속할 때 IPSec VPN 혹은 SSL VPN을 이용하도록 한다.
3. IPSec VPN 혹은 SSL VPN 연결 시마다 발생하는 모든 VPN 로그를 별도로 관리한다.
4. VPN 계정은 업무 목적별로 생성하고, 권한도 구분하여 적용한다.
5. 기업 내부 아웃바운드 패킷에 대한 필터링을 적용한다.
6. 기업 내부 HTTP 통신은 모두 웹 프록시를 거치도록 운영하고 관리한다.
7. 기업 내부에서는 파일 공유 서비스 대신 SFTP 또는 SCP(Secure Copy)만 사용하도록 한다.
8. NIDS와 같은 NSM(Network Security Monitoring) 247을 운영 및 관리한다.
9. NIDS 이벤트 및 전체 세션 데이터와 전체 패킷을 저장하고 분석한다.
10. 업무 영역별로 네트워크 분리 후 각 업무 영역마다 방화벽을 설치하고 관리한다.
11. 시스템, 네트워크 및 데이터베이스 등 IT 관리 부서는 일반 업무 영역과 별도로 구분한다.