알려지지 않은 위협과 제로데이 공격을 탐지하는 샌드박스

게시일: 2015-03-02 l 작성자: Weimin Wu (Threat Analyst)

제로데이 익스플로잇은 사용자들에게 매우 심각한 위험을 야기시킵니다. 이러한 공격들을 방어하기 위해 사용하는 보안 제품의 종류와 상관 없이 패치 적용의 책임은 사용자들에게 있습니다.

이러한 공격에 대비할 수 있는 도구로는 조직의 네트워크에 침입하는 다양한 위협들을 그 즉시 분석할 수 있는 샌드박스가 탑재된 트렌드마이크로의 Deep Discovery와 같은 고급 네트워크 탐지 솔루션이 있습니다. 이 제품은 별도의 업데이트 없이도 제로데이 익스플로잇을 활용한 공격들을 탐지하여 사용자들 즉각적으로 보호합니다.

일반 샌드박스의 문제점

현대의 위협 환경에서는 지속적으로 발생되는 위협들을 방어하기 위한 샌드 박싱 기술이 필수적입니다. 샌드박스는 일반적으로 다양한 위협들을 탐지하기 위해 가상 환경에서 행동 분석을 실시합니다. 샌드박스의 사용이 일반화되면 공격자들 역시 샌드박스를 회피하기 위한 방법을 모색할 것입니다.

공격자들은 안티 VM이나 안티 샌드박스 기술과 같이 샌드박스에서의 활동을 최대한 감출 수 있는 기술 개발에 박차를 가할 것입니다. 따라서 샌드박스는 사용자 환경을 최대한 정확하게 반영해야 하는데 Deep Discovery의 맞춤 샌드박스는 관리자가 직접 설정할 수 있습니다.

이로 인한 문제점은 기존의 파일 탐지 기능뿐 아니라 최근에는 익스플로잇으로까지 확대되었습니다. 다음은 일반 샌드박스가 안고 있는 중대한 문제점들입니다:

  • 익스플로잇은 페이로드를 배포할 뿐 아니라 이를 감추는 데에도 사용된다.
    멀웨어 페이로드는 암호화되므로 실행 파일인 경우에 샌드박스가 이를 확인할 수 없습니다. 익스플로잇의 셸 코드는 페이로드가 실행되기 전에 암호를 해제하는 역할을 합니다. 가장 간단한 형태의 멀웨어 페이로드는 단순히 XOR되지만 더 복잡한 알고리즘이 사용되는 경우도 있었습니다. 일부 페이로드는 메모리에서 직접 실행되도록 설계되기도 하며 이는 곧 샌드박스 내에서 PE 파일을 실행할 수 없게 된다는 의미입니다. 일반 샌드박스는 이러한 회피 기법을 사용하는 멀웨어를 쉽게 탐지할 수 없습니다.
  • 익스플로잇이 샌드박스까지도 회피한다.
    일반 샌드박스는 .SWF, .JAR, .PDF 등과 같은 파일에 익스플로잇 코드가 포함되어 있는지 확인하기 위해 이러한 파일들을 실행하며 공격자들 역시 이를 잘 알고 있기 때문에 이를 회피하고자 합니다. 익스플로잇 코드에는 익스플로잇이 실행되는 환경을 검사하는 라인이나 HTML의 매개변수/함수 호출이 포함될 수 있습니다. 익스플로잇 코드가 직접 공개되거나 올바르지 않은 컨텍스트로 공개될 경우엔 실행되지 않을 것입니다.

올해 초 우리가 분석한 플래시 제로데이 익스플로잇은 이러한 기법을 이용하여 일반 샌드박스의 탐지를 회피하였습니다. Deep Discovery에 탑재된 스마트 샌드박스는 이러한 회피 기법을 제어하고 제로데이 익스플로잇을 탐지합니다.

스마트 샌드박스

일반 샌드박스와 비교해 볼 때 스마트 샌드박스는 맞춤형 샌드박스 내에서 스크립트, 셸코드, 페이로드와 같은 위협의 다양한 측면의 활동을 분석할 수 있습니다.

그림 1. 맞춤 샌드박스 구조

스크립트 행동(Script behavior)은 익스플로잇의 변칙적 개체 활용, 함수 호출 및 힙 스프레이를 알려주며 변수들은 ROP/셸코드 데이터로 분석될 수 있습니다.

반면, 셸코드 데이터는 ROP/셸코드 실행을 통해 이루어지는 익스플로잇의 스택 및 힙 사용과 어플리케이션 프로세스의 변칙적 파일/레지스트리 활동을 탐지할 수 있습니다. 페이로드 분석을 통해 생성된 자동 실행 루틴, 드롭된 파일, C&C 서버 접속 등과 같이 시스템에 미치는 영향을 밝혀낼 수 있으며 이는 기존의 행동 분석에 사용되는 것과 동일한 방식입니다.

왜 스마트 샌드박스가 필요할까요? 고급 난독화 및 회피 기법을 사용하는 익스플로잇 킷이 늘어나고 있기 때문입니다:

그림 2. 익스플로잇 킷이 사용하는 정적 검사(static scan) 회피 기법

Deep Discovery의 샌드박스는 우리 제품들이 이러한 공격들을 처리할 수 있도록 특별하게 개발되었습니다. 샌드박스에는 Flash 익스플로잇을 위한 맞춤 ActionScript 가상 시스템 역할을 하는 에뮬레이터와 Java, JavaScript 및 VBScript를 실행하는 스크립트 엔진이 들어있습니다. 이와 같이 실행 환경을 제어함으로써 샌드박스 내에서 테스트되는 모든 코드에 대한 정보를 더 효과적으로 수집할 수 있습니다.

일례로, 최근 발생된 Adobe Flash 제로데이 익스플로잇은 매우 정교하게 암호화되어 정적 휴리스틱 기법으로 이를 분석할 수 없었습니다. 하지만 Deep Discovery는 이러한 악성 행위를 포착하여 파악할 수 있었으며 익스플로잇에 대한 더 정확한 정보를 얻을 수 있었습니다.

종합하자면, Deep Discovery는 더 신속하게 제로데이 위협을 탐지할 수 있습니다. 탑재된 스마트 샌드박스는 난독화된 익스플로잇까지도 정확하게 탐지할 수 있으며 별도의 업데이트 작업 없이도 이러한 공격들을 방어합니다. 이로써 제로데이 공격 발생 시 즉각적으로 시스템을 보호하고 시스템 관리자는 자신이 공격의 표적인지 여부인지를 확인하고 적절히 대응할 수 있습니다.

원문: Deploying a Smart Sandbox for Unknown Threats and Zero-Day Attacks