본문 바로가기

현장속으로/세미나

전문가가 말하는 지능적인 APT에 맞서는 방법

11월 18일부터 19일까지 "제 7회 국제 통합 정보보호 구축전략 컨퍼런스(ISEC 2013)"가 코엑스 컨퍼런스룸에서 열렸다. 이 컨퍼런스를 통하여, 각 분야의 보안 실무자는 사회적 이슈인 정보보호의 최신 트렌드를 공유하고 보안 업체로부터 가이드와 솔루션을 제공받을 수 있다. 

APT공격이 지능화되고 피해가 증가함에 따라 APT 대응의 중요성이 높아지는 가운데 트랙B에서 진행하는 안랩 오상언 차장의 "위기로 다가온 APT, 어떻게 맞설 것인가?"를 들어보았다. 그는 APT솔루션이 APT공격에 어떻게 대응하는지와, 안랩 TrusWatcher(글로벌 제품명 안랩 MDS)에서 이루어지는 수집(Collection), 분석(Analysis), 모니터링(Monitoring), 대응(Response)의 4가지 측면을 설명했다. 다음은 주요 내용.

지난 4년 동안 이슈가 된 DDOS공격(2009,2011,2013), 금융기관 해킹 사고(2011), 개인정보유출(2011,2012), 전산망 마비 (2013), J언론 해킹사고(2012)등의 보안문제 가운데, 악성코드에 관하여 많은 논의가 이루어지고 있다. 그렇기 때문에 APT공격에 대하여 무엇을(What), 어떻게(How), 할(DO) 것인지가 중요하다. 

APT솔루션이 APT에 대응하는 4가지 방법

대부분의 APT솔루션은 파일을 모은 후 분석하고, 모니터링한 후, 악성코드가 발견되면 그것에 대응을 한다. APT솔루션이 처음으로 하는 파일 수집(Collection)은 웹이나 FTP 메일등과 같이 네트워크 유입경로를 지나가는 모든파일을 수집하고, 실행파일인 PE파일과 문서형파일인 Non-PE파일로 구분을 하는 것이다. 분석(Analysis)은 가상머신을 이용하여 행위분석을 하는 것이다.  

안랩 APT솔루션인 은 컨텐츠 분석을 추가적으로 수행한다. 이러한 분석을 통하여 Anti-VM에 어떻게 대응할 것인지 방향을 정하고, 지능적으로 악성코드를 탐지하고, 오탐을 최소화할 수 있어야한다. 모니터링(Monitoring)은 APT솔루션이 가상머신을 채택하고 있기 때문에 악성의 여부를 가시성있게 보여줘야한다. 대응(Response)은 악성코드가 발견되면 디스크를 포맷하거나 Malware를 치료나 삭제를 하는 것이다.

안랩의 TrusWatcher는 APT공격에 탐지 및 대응에 특화한 보안 솔루션으로, 다른 APT솔루션과 마찬가지로 수집, 분석, 모니터링, 대응의 4단계로 APT를 막는다. 

<수집>

실제 인터넷과 내부의 pc간의 통신하는 모든 서비스 프로토콜에 대해서 장비가 기본적으로 인식하고 수집된 파일내에서 PE파일과 NON-PE파일로 구분한다. 대부분 인터넷 프로토콜을 인식하여 파일을 수집할 수 있는 지가 중요하다.

<분석>

안랩 TrusWatcher는 모든 정보를 시그니처 기반으로 탐지한다. 시그니처 방식을 채택하는 이유는  고객사의 PC에 유입되는 파일에 악성코드, 신종악성코드, 변성악성코드가 있을 위험이 있기때문에, 모든 파일을 최대한 빨리 악성과 정상인지를 구분하기 위해서이다. 탐지한 파일 중에서 악성파일도, 정상파일도 아닌 알려지지 않은 파일도 발견된다. 이러한 파일은 가상머신에서 행위 기반으로 탐지를 하게된다. 하지만 가상머신은 고객사의 PC와 동일하게 세팅을 할 수 없으므로 오탐이 발생할 가능성이 있다. 

그렇기 때문에 안랩 TrusWatcher는 행위 기반 탐지와 동시에 평판기반 탐지를 한다. 행위 기반 탐지와 편판 기반 탐지 후, 위협과 잠재적인 위협, 정상으로 분류가 된다. 이에 따라 시그니처 기반의 탐지를 통하여 알려진 악성코드를 필터링더라도 평판기반으로 오탐을 최소화할 수 있다.

안랩 TrusWatcher는 파일이 실행하기 전과 연관 행위 종료 후 사이에서 프로세스, 파일, 네트워크, 레지스트리에 대하여 실시간으로 분석한다. 분석한 정보를 악성인지 여부만 탐지하는 것이 아니라 클라우드, 시그니처, 평판 기반 탐지를 종합적으로 연관 분석하여 실질적으로 오탐을 줄인다. 

하지만 타사는 파일이 시작되는 전과 후의 변화에 따라 악성 여부를 판단한다. 즉, 평판 기반 탐지를 하지 않기 때문에 레지스터나 프로세스의 변화만 보고 악성 여부를 판단하여 오탐이 발생할 가능성이 크지만, 안랩 TrusWatcher는 행위분석 외에 크라우드, 평판분석, IP/URL Filtering, 시그니처 방식의 다차원 분석을 통해 오탐을 최소화한다.

앞의 내용은 정적 지능형 컨텐츠 분석의 내용이다. 그럼 가상머신의 엔진 속에서 동적 지능형 컨텐츠 분석은 어떻게 할까? 파일이 실행되면 exe 파일과 DLL#1, DLL#2, DLL#3의 파일이 생긴다. 정상 파일의 경우 exe에서 DLL#1로 갔다가, 다시 exe에서 DLL#2로 가고, 다시 exe에서 DLL#3으로 탐지 한 후 파일이 열린다. exploit 파일의 경우 exe에서 DLL#1으로 갔다가, 특정 시간 이후에, 메모리의 heap 영역에 shell code를 만든 후 exe에서 DLL#2로, 다시 exe에서 DLL#3으로 가는 정상행위를 하다가 exploit이 발생하면 shell code로 점프를 한다. 안랩은 악성코드 분석을 디버깅 프로그램을 통해 한다. 문서파일이면 컨텐츠파일 분석을 하고, exploit이 발생하면 shell code 영역으로 점프를 하여 탐지하고 분석한다.

ROP gadget이란 악성코드 제작자가 정상적인 코드를 악성 shell code로 재사용하는 것이다. 이러한 ROP를 탐지하는 것이 안랩의 동적 콘텐트 분석 엔진(DICA)이다. DICA는 ROP gadget에 의하여 발생하는 가능한 모든 트리거를 모니터링하여 shell code로 실행하는 메모리 영역을 실시간으로 검사한 후, 메모리 영역의 악성 shell code 여부를 판단한다. 또한 DICA 엔진을 통하여 APT에 활용되는 비실행형 악성코드를 탐지가 가능하다. 요즈음 아래한글,워드, 아래한글같은 비실행형 코드를 통하여 APT공격이 이루어지고 있다. 

안랩 TrusWatcher는 워드파일이 수집되면 DICA 엔진으로 동적 컨텐츠 분석을 수행하고, 그 후 실행파일에 대하여 실시간으로 모니터링하고 평판분석하여 오탐을 최소화한다. 타사는 워드나 pdf 파일에 대하여 탐지가 가능하나, 많이 사용되는 아래한글에 대해서는 정확하게 탐지할 수 없다. 아래한글파일이 들어오면 워드파일이라 인식하고, 워드파일로 분석한다. 그러다보니 아래한글파일의 분석결과가 워드파일로 분석되어 보안담당자에게 혼락을 줄 수 있고, 실행 전과 후의 변화로 악성여부를 판단함으로 오탐이 발생할 가능성이 크다. 

APT에 대응하는 솔루션이 많이 나오다보니, 악성코드 제작자 입장에서는 악성코드를 분석하는 엔진이 악성코드를 인식하게 못하도록 압축, 패킹, 가상머신이나 샌드박스가 우회하도록 하는 기술을 발전시키고 있다. 안랩은 이 부분을 정적분석과 동적분석을 통해 막고 있다. 정적분석의 방법으로 알집같은 압축 포맷을 해제하는 것이 중요한데, 알집의 압축 포맷을 해제하는 기술은 안랩만이 가지고 있다.

<모니터링>

대부분의 APT대응 솔루션들은 악성코드 탐지 분석에 대한 내용을 점수를 메기고 위험도를 평가한다. 고객사가 신종/변종 악성코드인지 알려진 악성코드인지 의심스러운 행위파일인지 알 수 있게 가시성을 확보하여야한다. 가상머신으로 나온 결과만으로 교정을 할 수 없기때문에, 보안담당자가 모든 파일을 훑어봐야해서 업무가 더 늘어날 수 있다. 하지만 안랩의 truswatcher은 레벨을 1부터 10까지 나눠서 레벨 1부터 3은 의심스러운 행위파일, 레벨 4부터 7은 알려진 악성코드, 레벨 8부터 10은 신종,변종 악성코드로 나누어 가시성을 확보한다.

<대응>

안랩 TrusWatcher은 에이전트 방식을 채택하고 있다. 실행 보류 기능이 있어, 정상 판정이 나야 실행이 허용되고, 악성 판정이 나면 실행 홀딩이 유지된다. 이처럼 실제 분석된 정보를 바탕으로 하여 에이전트롤 활용해 악성코드에 대응해야 한다.

이어서 미리 페이스북에 받은 질문에 대한 답변이 이어졌다.

Q1.

A. 이 부분은 안랩뿐만 아니라 모든 APT대응 솔루션 업체들의 숙제이다. 비슷한 경우로, 가상머신기반으로 실제 의심되는 파일을 분석하여 분석한 데이터를 봤을 때, 행위기반으로 본다는 것은 악성행위가 나타날 때마다 악성으로 판단할 수 있고, 연관분석을 한다 해도 분명이 오탐이 발생할 수 있다. IBS 시절에 맞춤화했던 것처럼 APT 대응솔루션도 어느 정도 악성코드에 대한 맞춤 기관이 필요하다. 

APT 대응솔루션 하나만으로 모든 APT공격을 차단할 수는 없다. 그러나 기존에 운영하던 방화벽 로그나 네트워크 패킷 분석 시스템 등과 조화하여 지능형 악성코드 시스템에 대하여 대응하고, 기존보안솔루션과 잘 연동하여 사용하는가가 중요하다. ESM/SIM이나 기타 빅데이터 솔루션과 연동하여 시나리오 베이스로 잘 모니터해야 한다.

Q2.  

A. 이 질문은 네트워크 포렌식 장비와 어떻게 연계를 할 수 있는지에 대한 것이다. APT 대응솔루션은 파일에 대하여 수집을 하고 기본적인 패킷 분석을 하지, full packet 이나 double packet에 대하여 실시간으로 정확한 패킷분석을 하지 못한다. 

패킷분석시스템과 APT 보안 솔루션과 함께 방화벽도 이용하여 APT대응을 해야 한다. APT대응솔루션을 통하여 의심스런 파일의 패킷 조합을 살펴서 파일 분석을 해야 한다. APT대응솔루션이 파일을 가상머신에서 돌리면 대부분의 방화벽은 의심되는 외부 IP와 통신하는 것을 탐지한다. APT대응솔루션으로 부터 나오는 파일에 대한 분석대응과 방화벽의 패킷분석 시스템의 분석로그를 조화시켜 APT에 대한 정확한 공격을 할 수 있다. Ahn

대학생기자 윤현정 / 동덕여대 컴퓨터학과