샌드박스 회피 (Sandbox Evasion)
한 줄 정의: 악성코드가 자신이 분석용 가상 환경(샌드박스)에서 실행되고 있는지 판별해 악성 행위를 숨기는 기법입니다.
쉽게 풀면
샌드박스 회피는 마치 시험 감독관이 지켜보고 있다는 것을 눈치챈 사람이 부정행위를 멈추고 얌전히 문제만 푸는 것과 비슷합니다. 보안 담당자들은 의심스러운 파일을 실제 시스템이 아닌 격리된 가상 환경, 즉 샌드박스에서 먼저 실행해 안전하게 관찰합니다. 이를 알아챈 악성코드는 자신이 가상 환경에 있다고 판단되면 악성 행위를 하지 않고 정상 프로그램처럼 조용히 있다가, 실제 사용자의 컴퓨터에서만 본색을 드러냅니다.
왜 중요한가
샌드박스 회피는 동적 분석 시스템의 탐지력을 무력화하는 대표적인 기법이기 때문에 자동화된 악성코드 분석 플랫폼의 신뢰성 연구에서 중요하게 다뤄집니다. 이 기법을 우회할 수 있는 더 정교한 분석 환경 설계가 보안 업계의 지속적인 과제로 남아 있습니다.
논문에서는 이렇게 쓰입니다
"해당 악성코드는 가상머신 특유의 레지스트리 값과 하드웨어 정보를 확인하여 샌드박스 환경 여부를 판별하는 로직을 포함하고 있었다."
가상 환경 특유의 흔적을 이용한 샌드박스 판별 방식을 설명하는 문장입니다.
"본 연구는 사용자 상호작용을 모사하는 기법을 적용하여 샌드박스 회피형 악성코드의 실제 행위를 유도해 관찰하였다."
샌드박스 회피를 우회하기 위한 분석 기법 연구를 소개하는 문장입니다.
조금 더 깊게 보면
샌드박스 회피 기법은 크게 가상화 환경의 특징적인 파일·레지스트리·하드웨어 정보를 확인하는 환경 지문 탐지 방식과, 시스템 부팅 이후 경과 시간이나 마우스 움직임 같은 사용자 상호작용의 유무를 확인하는 행위 기반 탐지 방식으로 나뉩니다. 일부는 실행을 일정 시간 지연시켜 짧은 분석 시간 내에는 악성 행위가 관찰되지 않도록 하기도 합니다.
주의할 점
샌드박스 회피 여부를 확인했다고 해서 해당 파일이 반드시 안전하다고 볼 수는 없으며, 오히려 회피 로직 자체가 발견되면 그 파일을 더 의심스럽게 다뤄야 하는 신호가 될 수 있습니다.