포티샌드박스(FortiSandbox)

 
[컴퓨터월드] 지능형지속위협에(APT)에 대응하기 위한 포티샌드박스(FortiSandbox)는 완전한 기능을 갖춘 멀티 레이어 샌드박스로서 두 가지 사전 필터링 기능을 지원한다. 첫 번째는 강력한 바이러스 백신 기능이며, 두 번째는 포티넷의 위협 조사, 인텔리전스 및 연구기관인 포티가드가 유지하고 있는 위협 인텔리전스에 대한 클라우드 액세스이다.

이 두 가지 별도의 프로세스에서도 제거되지 않은 샘플은 코드 에뮬레이션이 포함된 완전 가상 샌드박스로 보내져 악성 여부를 판가름 받는다. 여기서 샘플이 악성으로 밝혀지면 포티샌드박스(FortiSandbox)가 해당 멀웨어 데이터를 포티가드랩에 업로드한다. 그러면 포티가드랩에서 데이터를 분석하여 최종적으로 전 세계 포티넷 제품에 업데이트를 제공한다.

실시간 대시보드 및 풍부한 리포팅 제공

샌드박스는 포티넷의 차세대방화벽(NGFW) 제품인 포티게이트(FortiGate) 및 포티메일(FortiMail) 이메일 게이트웨이 어플라이언스와의 통합을 통해 단일 장비 내에서 듀얼-레벨(Dual-level) 샌드박스, 동적 위협 감지(Dynamic threat intelligence), 실시간 대시보드 및 풍부한 리포팅 등 포티넷만의 차별화된 기능을 제공한다.

포티넷의 차세대방화벽은 네트워크 가장 앞 단에서 스캐닝과 위협 완화를 통해 네트워크를 보호하는 역할을 담당한다. 해당 차세대방화벽과 포티샌드박스를 함께 사용할 경우 의심스러운 파일이나 고위험 파일에 대한 지능화된 탐지 및 검사 기능을 제공하며, 이후 검사가 끝난 공격의 활동주기를 기반으로 보안 정보를 업데이트한다.

또한, 최신 포티넷 이메일 게이트웨이 제품과 함께 사용할 경우 이메일 상에서 의심스러운 파일이나 고위험 파일을 탐지할 수 있어, 의심 파일 발견 시 해당 파일을 포티샌드박스로 전달해 지능화 검사를 실시한다.

이에 포티샌드박스는 지난 2015년 NSS 랩이 실시한 정보 유출 진단시스템에서 ‘추천’ 등급을 받기도 했다.

특허 받은 CPRL 기술로 선제 탐지

샌드박스 기술은 리소스 소모가 매우 크다. 코드를 분석하려면 샌드박스에서 완전히 실행해야 할 뿐만 아니라 가능하다면 악성 코드가 다운로드하려는 추가 모듈을 포함해 코드의 실행 경로를 모두 탐색하는데도 상당한 시간이 걸린다.

포티넷은 샌드박스 기술과 사전 시그니처 탐지 기술을 결합해 트래픽이 샌드박스를 통과하기 전에 필터링하기 때문에 샌드박스 기술만 사용할 때보다 속도가 훨씬 빠르다.

기존 시그니처 탐지 기술은 시그니처가 외부에서 발견된 위협 요소의 핑거프린트(Finger Print)에 불과하다는 점에서 수동적인 기술이라고 할 수 있다. 그러나 포티넷의 특허 기술인 CPRL(Compact Pattern Recognition Language)은 수년에 걸친 포티가드랩의 연구 끝에 개발된 심층적 검사 방식의 사전 시그니처 탐지 기술이다.

이 기술은 CPRL 시그니처 하나만으로 위장된 멀웨어를 50,000개 이상 탐지할 수 있다. CPRL 선제적 시그니처 탐지 기술은 샌드박스 기술과 결합돼 더욱 광범위한 그물망을 형성함으로써 오늘날 지능형 지속 위협(APT)과 지능형 우회 기술(AET)의 공격을 차단하는데 효과적이다.

▲ 포티샌드박스 단독 배포 시

다양한 우회공격 차단

위협요소가 보안 장벽을 회피할 수 있는 방법은 많다. 다음은 일반적으로 사용되는 몇 가지 샌드박스 회피 기술이다. 지능형 회피기술 중에서도 가장 많이 이용되는 로직 폭탄(Logic Bombs)은 시간 폭탄으로 매우 지능적인 공격에서 자주 드러난다. 시간 폭탄의 경우 악성코드 부분은 지정 시간이 될 때까지 잠복기를 유지한다. 공격자는 다수의 시스템에 멀웨어를 심어놓을 수 있으며, 지정한 시간까지 잠복하다가 모든 폭탄이 한 번에 폭발하는 방식이다.

그 밖에 마우스 클릭이나 시스템 재부팅 같은 사람의 작동으로 발동되는 로직 폭탄도 있다. 이때는 샌드박스 검사 어플라이언스가 아닌 사용자 PC에 폭탄이 설치된다. 샌드박스에서 로직 조건을 충족할 수는 없기 때문에 로직 폭탄을 탐지하기란 매우 어렵다. 검사 단계에서 코드가 악의적인 실행 경로를 따르지 않기 때문이기도 하다.

포티넷은 실제 코드 실행에 앞서 CPRL과 코드 에뮬레이션 분석을 통해 로직 폭탄을 탐지할 수 있는 환경을 제공한다. CPRL은 실제 연산 명령어를 실시간 분석해 폭탄이 터지는 로직 조건을 모니터링 할 수 있다.

루트킷(Rootkits)과 부트킷(Bootkits) 탐지에도 효과적이다. 루트킷은 커널 코드를 이용해 운영체제를 파괴함으로써 시스템을 완전히 장악하는데 이용되는 구성요소이다. 이러한 공격은 출력 모니터까지 파괴할 수 있기 때문에 샌드박스도 이러한 회피 기술에 잠재적으로 취약하다.

또한 부트킷은 시스템 부팅 단계에서 멀웨어를 이용해 시스템을 감염시키기 때문에 일반적으로 샌드박스에서는 탐지되지 않는다. 포티넷은 CPRL 탐지 기술을 이용해 지능형 루트킷이나 부트킷이 실행되기 전에 루틴을 찾아냄으로써 이러한 문제를 해결할 수 있다.

또 다른 지능형 회피 기술로 환경 인식이 있다. APT 코드에는 가상 환경 실행 여부를 알 수 있는 루틴이 저장되기도 한다. 그러면 현재 위치가 샌드박스라는 것을 코드가 감지한다. 그 밖에 APT 코드는 특정 벤더의 샌드박스 환경 핑거프린트 유무를 확인하기도 한다. 코드가 현재 위치를 샌드박스로 감지하면 악성 실행 경로가 실행되지 않는다. 하지만 CPRL은 심층 검사 방식을 통해 샌드박스를 감지하는 코드까지 탐지해 잡아낼 수 있다.

봇넷 탐지 및 DNS 감시 기능 제공

봇넷 명령과 제어 동작은 보통 드롭퍼(Dropper)로 시작된다. 드롭퍼는 명령 시에 URL/IP 주소에 연결돼 파일을 다운로드 하는 루틴만 제외하면 완전한 클린 코드이다. 공격자는 최초 실행 시간 이후 몇 시간, 며칠 또는 몇 주가 지나서 명령을 실행할 수 있다. 샌드박스가 코드를 실행해 기회가 발생하더라도 드롭퍼에 연결된 서버가 휴면 상태이면 악성코드의 동작도 탐지되지 않는다.

CPRL은 이러한 기회가 발생할 때까지 기다리지 않고도 변칙 코드 기법을 포착해 멀웨어를 식별한다. 또한 글로벌 포티가드 인텔리전스 네트워크에는 봇넷 모니터링 기능이 포함돼 발생 즉시 봇넷 동작을 탐지할 수 있다.

지능형 멀웨어는 패스트 플럭스(Fast Flux)나 도메인 생성 알고리즘 기술을 이용해 감염 파일이 연결되는 URL/IP를 바꿀 수 있다. 샌드박스 모니터링 단계에서는 감염 파일의 목표가 단일 주소일지 몰라도 최종 사용자의 시스템에서 시간이 지나면서 다른 경로를 통해 두 번째 주소로 이동해 악성 트래픽을 형성한다.

포티가드는 패스트 플럭스 네트워크를 추적하면서 수집된 위협 인텔리전스를 스캔 이전 단계에서 사용할 수 있도록 샌드박스에게 다시 보낸다. 포티넷은 다른 벤더들처럼 IP 블랙리스트만 감시하는데 그치지 않고 DNS까지 일일이 감시한다.

▲ 포티게이트와 함께 포티샌드박스 배포

암호화된 공격까지 탐지

공격자들은 멀웨어를 암호화해 아카이브에 저장할 수 있다. 그런 다음 사회 공학적 해킹을 통해 암호를 입력하여 최종 사용자가 감염 파일을 열도록 한다. 샌드박스는 암호를 자동으로 입력하지 않기 때문에 모니터링 단계에서 멀웨어가 실행되지는 않는다. 포티넷이 특허를 출원한 압축된 아카이브 헤더 검사 기술은 암호화로 위장한 멀웨어 핑거프린트까지 탐지할 수 있다.

바이너리 패커스(Binary packers)는 기존 안티바이러스 보안으로는 식별해 쉽게 분석하지 못하도록 멀웨어를 암호화해 난독화한다. 이후 코드를 실행하면 복호화돼 호스트를 감염시킨다. 자바스크립트(JavaScrip)t나 어도비의 액션스크립트 포 플래시(ActionScript for Flash) 같은 언어로 악성코드를 삽입할 때도 비슷한 기술이 사용된다.

지금까지 이러한 기술은 메모리가 부족해 실행 코드를 압축하는데 사용됐다. 그러나 오늘날 메모리는 더 이상 문제가 되지 않으면서 안티바이러스 검사를 회피하는데 바이너리 패커스가 종종 사용되고 있다. 자바스크립트나 액션스크립트의 경우에는 복제 방지를 위해 합법적으로 이 방법을 사용할 수 있다.

포티게이트 안티바이러스 엔진은 여러 바이너리 패커스의 스크립트 역난독화 및 탐지를 지원할 뿐만 아니라 멀웨어를 기본 형태로 복호화해 CPRL 기반 심층 분석을 실시함으로써 실시간 탐지 및 완화를 지원하고 나아가 샌드박스의 추가 실행도 가능하다.

변종 멀웨어는 실행될 때마다 바뀌면서 패턴 및 체크섬 기반 검사에 혼동을 줄 목적으로 가비지 코드(Garbege code)를 추가한다. 운영체제에서 이 멀웨어를 복호화하면 악성코드가 실행된다.

기존 수동식(reactive) 검사로는 이 변종 코드를 해결하는데 한계가 있지만 포티넷은 선제적 안티바이러스 검사 엔진 기술인 CPRL과 샌드박스를 결합해 이 문제를 해결하고 있다. 이 엔진은 멀웨어를 기본 형태로 복호화하면서 최소의 프로세싱 리소스로 최대한 많은 트래픽을 필터링한 후 샌드박스에 남은 트래픽에 심층 검사한다.

빠른 네트워크 위협 식별

오늘날 알고 있는 보안 기술들은 멀웨어 제작자에게도 이미 알려져 있을 뿐만 아니라, 이들 중 일부는 위장 전술과 함께 지능형 우회 기술을 사용하고 있다. 따라서 잠재적 공격 계획까지 모두 예상하여 최대한 많은 계층을 검사해야만 탐지가 가능하다.

가장 좋은 방법은 게이트웨이 기반 검사와 샌드박스 검사의 결합이다. 샌드박스 검사는 오늘날 위협 환경에서 유용한 방어 계층을 하나 추가하는 것이다. 올바로 사용하면 학습이 가능한 장치이고 궁극적으로 게이트웨이 보안과 연동도 가능하기 때문에 네트워크에서 새로운 위협 활동을 빠르게 식별해 사고 대응이 용이하다.

중요한 것은 이러한 어플라이언스의 통합 기능이다. 포티가드랩이 새롭게 등장하는 우회 기술을 면밀히 탐지해 모니터링하기 때문에, 빠르게 대응해 업데이트와 위협 인텔리전스를 포티넷 솔루션으로 전송할 수 있다. 포티넷은 현재 포티샌드박스와 포티게이트, 포티매니저, 포티메일 보안 어플라이언스의 통합을 지원하고 있다.

저작권자 © 컴퓨터월드 무단전재 및 재배포 금지