ViRobot

하우리샵 바로가기

보안뉴스

샌드박스를 중심에 둔 공격자와 방어자의 추격전
등록일 : 2017.09.13
샌드박스, 처음 보는 공격에도 대응이 가능해 대세로 굳어지고 있어
최근 멀웨어, 샌드박스 환경 스캐닝 기술 덧입거나 시간차 공격 수행해


[보안뉴스 문가용 기자] 샌드박스 기술은 미리 겪어보지 못한 사이버 공격도 탐지해낼 수 있다는 장점 때문에 현대 정보보안 분야의 굳건한 기둥의 자리를 확보하게 되었다. 하지만 사이버 공격 행위를 완전히 종식시킬만한 것은 당연히 아니었고, 이제 샌드박스를 미리 탐지하는 멀웨어들이 등장하기 시작했다. 멀웨어와 보안 솔루션 사이의 쫓고 쫓기는 군비경쟁이 다시 시작된 것일까?

[이미지 = iclickart]


그럴지도 모른다. 현재 샌드박스 내에 있는 관찰 및 감시 기능은 우리가 이미 가지고 있는 지속적 모니터링(CM) 기능과 상당히 흡사하다. 물론 샌드박스가 보통 클라우드 내에 혹은 중앙 기계에서 실행되는 것에 반해 CM의 에이전트들은 엔드포인트 단에서 모니터링 기능을 구현한다는 차이점은 있다. (뒤에 설명하겠지만, 이는 중요한 차이다.) 하지만 프로세스 생성, 파일 및 레지스트리 변경, 네트워크 내 통신 등을 관찰하는 데 필요한 운영 시스템을 분석한다는 건 비슷하다. 이런 분석을 통해 발견된 패턴을 가지고 멀웨어일 가능성을 판가름하는 것 역시 마찬가지다.

아직 해커들은 샌드박스 내의 모니터링 행위 자체에 대한 대응책을 가지고 있지는 못하다. 사이버 보안 업체 라스트라인(Lastline)의 CEO인 크리스토퍼 크루겔(Christopher Kruegel)은 “샌드박스에서 멀웨어가 실행되면 ‘게임오버’라는 사실을 해커들도 잘 이해하고 있다”고 설명한다. 그래서 ‘환경 스캐닝’을 통해 샌드박스인지 아닌지만 확인하고 멀웨어 본연의 기능을 지속시키거나 멈추는데, 지금은 이게 고작이다.

현존하는 샌드박스 대부분 가상 기기 환경과 행동 관찰 및 탐지 기능으로 구성되어 있다. 샌드박스에 대항하는 멀웨어는 1) 파일 시스템을 확인하고 2) OS 서비스를 점검하거나 3) 열려 있는 포트들을 살핀다. 4) DLL이나 레지스트리 키를 확인해가며 ‘가상 환경’의 힌트가 있는지 없는지도 점검한다. 최근 등장한 멀웨어 Trojan.APT.BaneChan은 인간의 흔적이 있는지를 살피기까지 했다. 이에 보안 업체들은 이러한 스캐닝 행위를 하는 것에 대한 것까지 탐지하기에 이르렀다. 쫓고 쫓긴다.

그래서 이 지겨운 순환에서 벗어나고자 애쓰는 기업들도 생겨났다. 라스트라인의 경우는 가상 기기 대신 CPU 명령을 중간에서 가로채가는 에뮬레이터를 만들었다. 크루겔은 “프로그램을 에뮬레이트 하면 행동과 기능에 대한 모든 것을 알아낼 수 있다”고 설명한다. “보통은 OS의 어떤 부분을 호출하느냐를 관찰하는 게 전부인데, 에뮬레이션을 하면 그 중간 과정에서 일어나는 모든 일들을 파악할 수 있습니다. 데이터 처리가 언제 이뤄지는지, 결정은 언제 내려지는지 등도 알아낼 수 있고요.”

에뮬레이션도 나름의 강점을 가지고 있음이 분명하다. 하지만 그 어떤 솔루션 혹은 아키텍처라도 100% 안전한 건 없다. 해커들은 이미 기기가 모르는 모호한 기기 명령을 주입함으로써 이른 바 ‘에뮬레이션 갭’이라고 하는 걸 탐지해내는 방법을 발견했고, 보안 전문가들 역시 이에 대한 대응책을 마련했다. 역시나, 쫓고 쫓기는 중이다.

악성 행위 자체 억누르기
또한 샌드박스는 멀웨어 행동을 파악하기 위해 긴 시간 모니터링을 진행시켜야 한다. 그렇기 때문에 시간차를 두고 벌어지는 멀웨어 공격에는 그다지 큰 효용을 발휘하지 못한다. 하지만 CM 에이전트의 감시 기능은 멈추지 않기 때문에 아직은 샌드박스가 우위를 점하고 있다.

CM은 멀웨어의 행동을 관찰하는데, 이는 보통 시스템 호출을 점검한다는 뜻이 된다. 그래서 사이버 공격자들은 툴을 만들 때 시스템 호출 기록을 지우거나 샌드박스의 코드가 시스템 호출 내용을 보거나 기록하지 못하도록 하는 기능을 덧입고 있다. 나름의 대응책인 것인데, 아직까지 그다지 치명적인 효과를 발휘하지는 못하고 있는 것으로 알고 있다.

방어하는 입장에서도 어렵긴 마찬가지다. 아직 표면으로 드러나지 않은 행동을 유발해서 관찰한다는 건 대단히 어려운 일이기 때문이다. 스턱스넷이 왜 그리 악명이 높을까? 바로 특정한 조건이 갖춰지기 전까지 도대체 본연의 모습을 드러내지 않는 특성 때문이다. 그래서 현재까지는 단계별 공격을 하는 것만으로도 샌드박스를 어느 정도 통과하는 게 가능하다. 대신 엔드포인트 단에서 구현되는 CM은 이런 면에서 샌드박스보다 유리하다.

위에서 언급한 에뮬레이션 형태의 샌드박스 방법도 ‘단계별 공격’이나 ‘본질을 숨기는 멀웨어’를 막아낸다는 면에서는 꽤나 기대된다. 예를 들어 스턱스넷이 코드의 5%만을 실행시키면서 자기의 정체를 감춘다고 할 때, 에뮬레이터는 CPU가 나머지 코드도 실행하도록 강제할 수 있기 때문이다. 그렇게 해서 모든 기능이 다 드러났을 때 에뮬레이션 시스템은 위협의 정도를 파악해 추가 조치를 취할 수 있게 된다.

멀웨어 개발자들과 멀웨어 방어자들의 추격전은 여러 양상을 통해 우리에게 알려지고 있는데 하나 같이 흥미롭다. 샌드박스를 둘러싼 추격전 역시 CM과 에뮬레이션의 개입으로 더욱 흥미로워지고 있는 중이다. 하지만 한편으론 다층위 보안(multilayer security)이 중요해지고 있기에 샌드박스와 CM이 경쟁할 필요는 없어 보이지만, 괜히 지금의 양상이 둘의 싸움으로 번져 해커들이 어부지리를 할까 염려되기도 한다.

글 : 폴 쇼모(Paul Shomo), Guidance Software
[국제부 문가용 기자(globoan@boannews.com)]

<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>

목록
- 본 정보에 대한 저작권은 '보안뉴스'에게 있으며 이에 무단 사용 및 재배포를 금지합니다.
- 본 정보에 대한 이용문의는 “보안뉴스(www.boannews.com)”로 문의하여 주십시오.