brunch

브런치북 APT 개론 11화

You can make anything
by writing

C.S.Lewis

by 흐르는 강물처럼 Mar 08. 2021

APT-11 (샌드박스-Sandbox기반 공격 탐지)

업무에서의 인터넷과 이메일 사용이 활성화되면서, 조직 내에 있는 단말을 아주 쉽게 감염시켜 공격에 사용할 수 있게 되면서 인터넷 구간에 집중되어 운영 중인 방화벽, IPS 등의 다양한 보안장비들만 가지고는 완벽한 보안이 불가능하게 되었습니다. 대부분의 공격이 애플리케이션 레벨의 웹이나 이메일에 첨부된 파일이나 URL 클릭을 유도하여 감염시키기 때문에 악성코드 및 URL 등의 정보(공격 침해 지표: IOC)가 없는 상황에서는 공격에 대한 탐지와 차단이 불가능한 상황이 되었습니다.



IOC정보를 공유받아서 방화벽과 IPS를 통해 알려진 공격을 막는다고 하더라도 공격 그룹에서 새로운 공격 인프라(공격을 하기 위해 이용하는 해킹한 서버, 경유지로 활용되는 해킹된 단말 PC, 사용한 악성코드 등)를 사용하면 기존에 공유받은 IOC정보는 효용가치가 떨어지게 됩니다.



그래서 알려지지 않은 악성코드나 URL 등의 공격 인프라에 대해 악성 여부를 사후에 인력이 분석하는 것이 아니고, 방어 장비 내에서 실시간으로 확인할 수 있는 탐지체계가 필요하였고 이를 위해 동적 분석방식이 개발되었습니다. 동적 분석방법이란 악성코드의 파일 패턴 분석을 통해 알려진 악성코드인지 여부를 판별하는 정적 분석방식에 비해, 가상화 시스템에 직접 악성코드를 다운로드하여 악성 행위를 모니터링하고 악성 여부를 판별하는 방식을 사용하기 때문에 변종 악성코드 같이 알려지지 않은 검사대상에 대해 악성 여부 판단이 가능한 장점이 있습니다.



이러한 기술 방식을 통상 샌드박스(Sandbox)라고 불립니다. 아래 <그림 1>과 같이 모래상자(샌드박스)는 모래로 채워진 상자를 방벽으로 세우고 테스트를 할 경우 폭발하더라도 실험자의 안전을 지키기 위해 사용하는 장치이다. 즉, 악성코드로 의심되는 파일을 가상 시스템에서 검사를 수행하여 주위의 시스템에는 감염의 위험이 없도록 격리된 환경 내에서 악성 여부를 확인하는 장비를 샌드박스 방식이라고 합니다. 처음에는 바이러스 백신업체에서 백신에 대한 테스트 목적으로 시작된 체계였으나, 자동화 기능이 추가되면서 하나의 독립된 보안기술로 발전하였습니다.



< 그림 1 >  폭발물의 위험으로부터 안전을 지키기 위한 모래방벽 (Sandbox)



아래 <그림 2>는 실제 샌드박스 가상화 시스템에 악성코드를 다운로드시켜 악성코드가 동작하는 행위를 분석한 다이어그램입니다. 익스플로러 웹브라우저를 통해서 파일을 생성하거나 기존 파일을 변경, 복사하고 특정 URL에서 파일을 다운로드하는 등 다양한 행위가 모니터링되어 악성 동작 여부를 판단하는 기준으로 활용됩니다. 기존에 알려진 악성코드는 파일의 패턴을 통해 인지가 가능하지만 신규로 만들어진 변종 악성코드의 경우 이런 식으로 동작시켜 보지 않으면 악성 여부를 판단하기가 어렵게 때문에 이러한 검사를 통해 확실한 악성 여부 탐지가 가능합니다.



< 그림 2-1 >  샌드박스 가상 시스템에 분석한 악성코드 행위 분석 결과 (출처: FireEye)



< 그림 2-2 >  샌드박스 가상 시스템에 분석한 악성코드 행위 분석 결과 (출처: FireEye)


문제는 이러한 샌드박스 기반의 탐지 방식이 만능이 아니라는 점입니다. 악성코드를 개발하는 공격 그룹에서 동작하는 환경이 샌드박스의 가상 시스템인지를 확인하여 악성 행위를 노출하지 않는 방식으로 탐지를 우회하는 기능을 추가하기 시작하면서 악성코드 탐지율이 떨어지게 되었습니다. 더욱이 이러한 가상 시스템을 동시에 여러 개를 동작시킬 경우 장비의 CPU, 메모리 등의 자원 소모량이 기하급수적으로 늘어나기 때문에 장비의 운영비가 늘어나는 문제가 발생하게 됩니다. 



이러한 문제를 보완하기 위해서 결국은 기존의 공격 침해 지표(IOC) 기반의 정보를 활용할 수밖에 없게 되었습니다. 기존의 방화벽, IPS 장비에 알려진 공격 침해 지표를 입력하는 방식은 관리자가 일일이 수작업으로 수행하고, 이러한 IOC정보도 실시간으로 공유되는 것이 아니기 때문에 효용가치가 떨어지게 됩니다.



그러나 실제 현장에서 사용되고 있는 전 세계 고객의 샌드박스에서 수집된 다양한 악성코드의 정보와 모니터링된 악성 행위들(접속 URL 정보, 다운로드 파일 정보, 파일 변경정보)에 대한 데이터를 실시간으로 공유하면 샌드박스 방식에만 의존하여 생기는 문제를 어느 정도 해결할 수 있습니다. 수집된 악성코드 정보를 중앙 서버에 저장하고 고객에 설치된 장비에서는 실시간으로 저장된 악성코드 정보를 공유받아 악성코드 판별에 활용할 수 있게 되면서, 기존과 같이 일일이 샌드박스에서 동작시키지 않아도 좀 더 시스템의 부하 없이 신속하고 정확하게 탐지가 가능하게 되었습니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari