허니몬의 IT 이야기

요즘 컴퓨터를 만지는 사람 중에 USB 메모리 하나 가지고 있지 않은 사람 없을 것이다.

늘어난 용량(USB 메모리로는 8GB까지 나왔음, USB HDD의 경우는... 계속 늘어남)과 휴대성의 편리로 인하여 많은 사람들이 편리하게 사용하고 있는 USB. 그러나 이 USB가 악성코드 확산의 주요 원인으로 떠오르고 있다. 바이러스나 악성코드는 인터넷이나 프로그램을 실행해야지 감염된다고 생각하는 오류에서 그 원인을 찾아볼 수 있겠다. 더군다나 USB의 경우에는 컴퓨터에 설치되어 있는 백신프로그램의 감시대상(보통 인터넷, 아웃룩, 프록시를 감시)에서 제외되어있기 때문에, 감염된 USB를 통해 확산되는 악성코드는 치명적이라 할 수 있다.

- USB를 통한 악성코드 감염경로

이동식드라이브(MS 윈도우 계열의 경우)의 루트에 autorun.inf(자동실행 스크립트)가 설치되어 있고, 윈도우 설정에 이동식드라이브 연결시 자동실행 설정이 되어 있을 경우 autorun.inf를 인식하여 스크립트를 실행하도록 되어 있다. 우리가 흔하게 사용하는 한글이나 오피스, 캐드 등의 설치CD 안에도 autorun.inf를 통하여 설치프로그램이 자동실행되도록 되어 있다.

이런 자동실행기능을 이용한 악성코드들이 최근 급증하고 있는 상황이다.

악성코드의 악성행위

감염 시 다른 추가 악성코드를 다운로드 하거나, 감염 시스템 내에 저장되어 있는 웹 페이지에 악성 스크립트를 삽입한다. 또한, 안티바이러스 프로그램 종료 등 자기보호 기능도 확인되었다.

1. 악성크도 Dropper 기능

원격지로부터 악성코드로 의심되는 실행 파일을 다운로드하는 경우가 있다. 즉, 다른 악성코드를 감염시키는 Dropper 기능을 수행하기도 한다.

2. 웹페이지 파일에 스크립트 코드삽입

감염된 시스템의 모든 디렉토리를 검색하여 웹페이지 파일에 악성 스트립트 코드를 삽입한다. 웹 서버가 감염될 경우, 서비스 중인 웹 페이지 내에 악성 스크립트가 삽입되어 웹서버를 방문하는 사용자들에게 피해를 발생시킬 수 있다.

3. 파일 생성

웜은 자신을 전파하기 위하여 이동식디스크에 "XXXXXX.EXE"라는 이름으로 자신을 복사하고 "autorun.inf"으로 자동실행 될수 있도록 구성한다.

[autorun.inf 예]

[AutoRun]

open=opencode.exe

shellexecute=opencode.exe

shellAutoCommand=opencode.exe

사용자는 감염된 이동식디스크를 사용하기 위하여 탐색기에서 더블클릭 또는 자동실행을 선택할 때 복사된 웜(opencode.exe)이 활동을 시작하게 된다.

특히, 시스템에 이동식디스크가 연결되어 있지 않을 경우 아래와 같은 에러 팝업을 지속적으로 발생시킨다.

- 레즈스트리 변경

또한, 시스템 재부팅 후 지속적으로 동작을 위하여 Explorer 프로세서에 자신을 인젝션 시키도록 레지스트리를 변경한다.

-HKLMSoftwareMicrosoftWindowsCurrentVersionpoliciesExplorerRunDataAccess(C:WindowsSystem32opencode.exe)

-HKLMSoftwareMicrosoftWindowsCurrentVersionpoliciesExplorerRunWinFile(C:Windowssystem32driversopencode.exe)

- 자기보호 기능

감염된 시스템에 안티바이러스프로그램이 동작하는 경우, 웜은 해당프로세스를 강제로 종료시키며, 자신의 동작을 숨기기 위하여 레지스트리 편집기(Regedit.exe)와 시스템 편집기(msconfig.exe) 등의 모니터링 도구와 안티 바이러스 프로그램의 실행을 방해한다.

웜은 감염된 시스템에서 자신을 숨기기 위하여 숨김 파일을 표시하지 않도록 윈도우즈 탐색기의 폴더속성을 지속적으로 변경시킨다.

- 자료 : 한국정보보호진흥원(KISA)