검색
색인
샌드박스, sandbox
안전하게 격리된 환경에서 악성 코드나 개발 중인 소프트웨어를 실행하고 테스트하는 방식.

샌드박스라는 용어가 사이버 보안 분야에서 처음으로 사용되기 시작한 것은 1996년에 이안 골드버그(Ian Goldberg) 등이 USENIX Security Symposium에서 발표한 논문 「A Secure Environment for Untrusted Helper Applications(Confining the Wily Hacker)」에 샌드박스를 사용하면서다. 원래 샌드박스는 아이들이 들어가 놀기 위해서 모래를 채워 넣은 상자를 의미한다. 논문에서는 이와 유사하게 외부에서 유입된 파일을 주요 시스템과 격리된 환경에서 실행시켜 신뢰할 수 없는 외부 파일이 시스템에 악영향을 주는 것을 방지하는 기술의 의미로 샌드박스를 사용하였다. 기술이 발전하면서 악성 코드로 의심되는 애플리케이션의 실행 동작을 분석하여 사전에 악성 행위를 탐지하고 공격을 방지하기 위한 용도로 샌드박스를 활용한다.

진화된 악성 코드는 샌드박스를 우회하기 위해 악성 행위 탐지 과정이 종료될 때까지 정상 파일처럼 위장하고, 악성 행위를 지연하는 샌드박스 우회 방법 등을 사용한다. 악성 코드의 샌드박스 우회 사례는 2013년 6월 25일에 주요 정부 기관을 대상으로 한 웹사이트 변조, 신상 정보 탈취, 분산 서비스 거부(DDos) 공격 등을 병행한 소위 ‘625 사이버 공격’이 대표적이다. 파이어아이(FireEye) 코리아에서 발표한 보고서에 따르면 ‘625 사이버 공격’을 일으킨 악성 코드 Simdisk.exe는 안티-디버깅(anti-debugging) 등의 기능이 포함된 themida packer라는 패킹 기술을 활용하여 범용 가상화 기반의 샌드박스에서는 분석 및 탐지가 거의 불가능하게 만들어졌다.악성 코드를 사용하는 정교한 회피 기술에 대응하기 위하여 클라우드 기반 샌드박스, 인공지능 기술 등을 활용할 수 있다.