백신은 못잡는 악성코드…"MS워드 첨부문서 조심"

일반입력 :2014/08/05 10:03

윈도 시스템 영역에 교묘하게 숨어 일반적인 퇴치 방법으로 잡아낼 수 없는 악성코드가 나왔다.

악의적인 해킹 사례와 악성코드(malware, 유해소프트웨어)를 연구하는 폴 라스카그네레스는 지난달 말 자신의 보안 기술 블로그에서 관련 내용을 다뤘다. 그는 레지스트리의 자동시작 영역에 감염된 코드가 셸코드를 생성하고 관련 윈도바이너리를 실행해 말썽을 일으킬 수 있다고 전했다.

일반적으로 사용자 정보 유출이나 시스템 오작동을 유발하는 악성코드는 파일 형태로 존재하는 프로그램이다. 악성코드 제작자가 의도한 역할을 수행하려면 어떻게든 그 파일이 실행돼야 하기 때문에, 백신프로그램이 이를 막는 주된 방법은 해당 파일을 찾아 없애는 것이다.

그런데 레지스트리는 윈도 시스템과 주요 사용자 정보 및 애플리케이션 등 설정값을 저장하는 곳으로, 재부팅해도 내용이 사라지지 않는다. 파일 형태로 다룰 수가 없는 일종의 데이터베이스(DB) 영역이라 악성코드가 숨어들면 일반적인 백신프로그램으로 잡아내기 어렵다.

라스카그네레스에 따르면, 이처럼 탐지와 제거가 어려운 레지스트리 감염형 악성코드도 출발점은 그런 감염을 유도하는 마이크로소프트(MS) 워드 문서 파일에서 시작한다.

이 악성코드는 사용자가 메일 등으로 전달받은 워드 문서 파일을 열 때 즉시 레지스트리를 조작, 자신을 시스템 부팅시 자동 실행 목록에 안 보이는 형태로 추가한다.

시스템 부팅시 자동 실행 목록에 추가되는 코드는 MS 기본 시스템관리 도구의 확장판인 '파워셸'과 관련 추가 코드를 생성한다. 추가 코드의 정체는 어셈블리 형태의 셸코드를 호출하고 실행하는 파워셸스크립트다.

라스카그네레스는 이 악성코드의 모든 활동은 레지스트리에 저장되고 생성되는 파일은 전혀 없다며 공격자는 기존 악성코드 퇴치 기법인 파일 스캔 기술을 피해가면서 시스템 재시작 후에도 (사라지지 않고) 깊숙한 영역까지 어떤 동작이든 원하는대로 실행할 수 있다고 지적했다.

이런 유형의 악성코드에 사용자가 속수무책으로 당할 수밖에 없다는 얘긴 아니다. 예방법은 간단하다. 백신 프로그램으로 사용자 PC나 메일함에 첨부된 워드 문서 파일을 처음 열기 전에 해로운 뭔가가 들어있는지 점검해 보면 된다. 인터넷에서 정체가 확인되지 않은 프로그램을 내려받아 실행할 때와 마찬가지다.

윈도 시스템 환경에 핵심 영역인 레지스트리에 워드 파일 조작만으로 악성코드가 기생할 수 있다는 사실 자체도 불안을 유발하지만, 이는 구조적 문제라 어쩔 수 없는 모양이다. 시스템에 해로울 수 있는 기능은 레지스트리에서 아스키(ASCII)문자로 이뤄진 '키 항목(key entry)'을 통해 실행되는 듯하다.

라스카그네레스는 MS는 (윈도 시스템에서) 자사 소스코드 보호를 위해 레지스트리에서 '비 아스키 키 항목'을 읽거나 열 수 없도록 만들었는데 이 특징은 이후 깨졌다며 사용자는 대신 소프트웨어 취약점을 탐지하기 위한 보안키트 또는 수상한 동작을 알아차리는 레지스트리 감시 절차를 밟을 수는 있다고 설명했다.

관련기사

영국 더레지스터는 4일(현지시각) 이 악성코드 사례를 소개하며 해당 악성코드 제작자는 정보를 추적하기 위한 목적으로 캐나다 우체국과 (국제 특송 전문업체) UPS에서 보낸 것처럼 꾸며진 메일을 통해 악성코드를 유포했다고 전했다.

보도에 따르면 라스카그네레스는 악의적 해킹과 악성코드 및 유해 봇 프로그램을 잡아내는 활동으로 이름을 알려 왔으며, 지난해 그는 미국 라스베이거스서 열린 보안기술대회 '블랙햇'에서 중국 해커그룹 APT1의 인프라를 뚫고 'Pwnie 어워드'를 수상했다.