본문 바로가기
운영체제 (LNX,WIN)

USB 자동실행 Autorun 기능 차단 방법

by 날으는물고기 2009. 11. 29.

USB 자동실행 Autorun 기능 차단 방법

최근 들어 대용량과 빠른 속도 그리고 휴대성을 고루 갖춘 USB 이동식 저장 매체 (외장형 하드디스크, USB 메모리 스틱 등)의 사용이 많아지면서 USB (Universal Serial Bus)를 통해 전파되는 악성코드의 감염 피해도 증가하고 있다.

감염된 USB 이동식 저장 매체를 사용하는 경우, 사용자 PC의 USB 단자에 연결만 해도 감염되므로 주의가 필요하다.

USB 이동식 저장 매체를 통해 전파되는 악성코드에 대한 이해와 안전하게 USB 이동식 저장 매체를 사용하는 방법에 대해 알아보자.

 

● Autorun (자동실행)이란?

       AUTORUN은 CD-ROM 장치에 CD를 넣거나 이동식 디스크를 USB 포트에 연결할 경우,
       자동으로 사용자가 원하는 특정 프로그램을 실행할 수 있도록
       윈도우에서 사용자 편의를 위해 제공하는 편리한 기능이다.
       그런데 이 자동실행 (Autorun) 기능이 악성코드 감염에 빈번히 악용되고 있다.

       이동식 저장소 장치가 악성코드에 감염됐거나
       악성코드를 자동으로 실행할 수 있는 자동실행 파일이 복사된 경우,
       사용자가 모르는 자동 실행을 통해 시스템이 악성코드에 감염될 수 있으며,
       악성코드 감염 시 정보유출 및 타 악성코드 추가설치 등 다양한 피해가 발생할 수 있다.

       Windows 7에서는 자동실행을 악용한 악성코드의 전파를 조금이나마 줄이기 위해
       CD나 DVD와 같은 읽기 전용 미디어에 대해서는 기존의 자동실행이 동작하지만,
       이동식 저장소 장치의 경우에는 자동실행 옵션을 해제시켜
       사용자의 컴퓨터를 안전하게 지킬 수 있게 했다. 

 

[그림 1] USB 디스크 자동 실행 팝업 창

 

● Autorun 악성코드 감염 경로 및 증상

       USB 메모리는 컴퓨터에 연결하면 이동식 디스크로 설정되어 편리하게 사용할 수 있다.
       이동식 디스크에 데이터를 읽고 쓰려면 [내 컴퓨터]를 이용해
       이동식 디스크를 클릭해서 들어가게 된다.
       이때 해당 이동식 디스크의 루트(최상위) 폴더에 autorun.inf 파일이 존재한다면
       그 파일을 먼저 실행하고 디스크를 열게 되는데, 이 점을 악용하여 악성코드가 전파된다. 

       Autorun 악성코드는 다른 악성코드와 마찬가지로
       이메일, P2P, 보안 취약 홈페이지 등 다양한 매체를 통해 컴퓨터가 감염된 후,
       컴퓨터에 연결되어 있는 USB 메모리 등 이동형 저장장치 또는 하드디스크 드라이브의
       루트 폴더에 Autorun.inf 파일과 악성코드를 복사함으로써 감염된다.
       그런데 복사되는 Autorun.inf 파일을 숨김 속성으로 은닉하기 때문에
       육안으로 쉽게 발견할 수 없다. 

       악성코드에 감염된 USB 메모리 등을 컴퓨터에 연결하면
       Autorun.inf 파일에 의해 사용자는 인지할 수 없지만 악성코드가 자동 실행되면서
       해당 컴퓨터에 다른 유형의 악성코드들을 설치, 실행시키고
       이러한 악성코드들은 해당 컴퓨터에 연결되는 모든 이동형 저장장치를 감염시켜
       자신을 전파하거나 자료유출, 해킹 등 공격자가 의도한 각종 악성행위를 수행한다. 

       실제 중국에서 제작되어 국내에 전파되는 게임핵 (GameHack : 온라인 게임의
       계정 정보를 외부로 유출하는 악성코드)의 경우, 이런 방식을 사용하여 전파되고 있다.
       이런 악성코드는 이동식 디스크가 연결되는 순간 바로 감염이 되고,
       사용자가 이를 인지하기가 매우 어려워
       한번 감염되면 지속적으로 감염되는 악순환이 반복되고 있다. 

[그림 2] USB를 통한 악성코드 전파 개요도 ⓒ 한국정보보호진흥원

 

● Autorun을 통한 악성코드의 형태

       USB 메모리가 악성코드에 감염된 경우,
       일반적으로 오토런(autorun.inf) 파일과 실행형 파일(*.com, *.exe)이 생성되어 있으며
       때로는 휴지통으로 위장하여 RECYCLER 혹은 RECYCLERED 등의 폴더를 생성한 후
       그 폴더 안에 바이러스 실행형 파일을 숨겨둔다.
       심한 경우에는 정상적인 폴더나 파일을 숨김 속성으로 변경하여
       사용자가 윈도우 탐색기를 열었을 때 아무것도 없는 것처럼 보이게 하기도 한다.
       그리고 바이러스 실행형 파일은 보통 숨김 속성(H : Hidden)과
       시스템 파일(S : System)로 위장하며,
       또한 읽기 전용(R : Read only) 속성까지 부여하기도 한다.
       (읽기 속성은 덮어쓰기나 다른 곳으로의 이동에 제한이 있음) 

(1)   USB 메모리에 감염되는 악성코드의 경우, 대부분 숨김 속성으로 위장하고 있으므로
       윈도우 탐색기의 기본 설정 상태에서는 볼 수가 없다.
       윈도우 탐색기에서 숨김 속성의 파일을 보기 위해서는 
[도구] → [폴더 옵션] →
       [보기] 메뉴에서 [숨김 파일 및 폴더 표시]에 체크를 해야 한다.

[그림 3] D드라이브에 숨겨진 autorun.inf 파일

  

[그림 4] USB에 숨겨진 autorun.inf 파일

(2)   폴더를 열기 전 마우스 오른쪽 버튼으로 확인해보면 보지 못했던 메뉴가 있다.
       감염된 드라이브의 마우스 우측 버튼 메뉴에 "Auto"라는 문구가 포함되어 있다.

[그림 5] 감염된 디스크 (좌)와 정상 디스크 (우)

(3)   autorun.inf 의 내부에는 악성코드의 경로가 저장되어 있다.

 

● Autorun 악성코드 사례

 ●   TextImage/Autorun

       TextImage/Autorun 은 Win-Trojan/Autorun 변형이 USB 저장 장치를 통해서
       자신을 자동 실행시키기 위해 생성하는 inf 파일이며,
       이동형 저장장치에 생성한 파일을 통해 전파된다.

[그림 6] Autorun 악성코드 사례 Ⅰ

 ●  Win-Trojan/Autorun

       Win-Trojan/Autorun은 특정 악성코드에 의해 Autorun.inf 파일이 생성되며,
       특정 드라이브 디렉토리에 생성된 Autorun.inf 파일은
       해당 드라이브를 열려고 시도하면 연결된 악성파일이 자동실행되어
       이동식 디스크를 포함한 모든 디스크드라이브에 감염된다. 

       자체 전파 기능은 없으며 사용자가 메일, 메신저, 게시판, 자료실 등에서
       실행 파일을 다운로드하여 실행하거나
       다른 악성코드(웜, 바이러스, 트로이목마)에서 드롭된 파일이다. 

[그림 7] Autorun 악성코드 사례 Ⅱ

[그림 8] Autorun 악성코드 사례 Ⅲ

 

● Autorun 악성코드 예방 및 대응 방법

       자동실행 기능을 악의적으로 이용하는 Autorun 악성코드는
       여러 PC에서 감염된 USB 저장매체를 연결하고 폴더를 여는 행위를 통해
       빠르게 전파되며, 치료를 한다고 해도 계속 연결할 때마다 재감염이 이루어져
       사용자의 올바른 USB 저장매체 사용이 요구된다. 

       또한 이동식 저장장치를 통해 전파되는 악성코드 변종이 확산될 경우
       정보유출, DDoS 악용 등 추가적인 피해가 발생할 수 있으므로
       예방 및 치료에 주의를 기울여야 한다. 

       안티바이러스가 설치되어 있고, 실시간 감시 중이라면
       대부분 바이러스에 감염되기 전에 미리 실행을 차단하고 바이러스를 치료할 수 있지만
       워낙 변종이 많고 널리 퍼지고 있어 자동실행 기능을 아예 꺼놓는 것이
       USB 악성코드 감염을 예방하는 좋은 방법이 될 수 있다. 

       USB 이동식 저장 매체를 안전하게 사용하는 방법은 다음과 같다.

 1.  Shift 키를 누른 상태에서 연결한다.

       CD를 넣거나, USB 메모리를 연결하기 전에
       키보드의 쉬프트(Shift)를 누른 상태에서 연결하면 자동 실행을 방지할 수 있다. 

 2.  USB 자동실행 기능을 해제한다.   

       윈도우에서는 자동실행 기능이 기본적으로 활성화 되어 있으므로,
       자동실행 기능을 꺼주어야 한다.
       서비스를 중단하거나, 레지스트리의 수정 또는 윈도우의 그룹 정책 설정을 통해
       이동식 저장매체 프로그램의 자동실행 기능을 차단할 수 있다. 

 3.  자동실행 방지 프로그램을 설치한다.  

       무료로 배포하는 USB 메모리 감염 바이러스 실행 차단 프로그램을 이용하면
       자동실행을 차단할 수 있다. 

 4.  [선택한 동작 항상 실행]옵션은 체크 해제한다.

       [선택한 동작 항상 실행]이라는 옵션이 체크된 채로 [폴더를 열어 파일 보기]가
       수행된다면, 이 후에 이 장치가 연결될 때 마다 자동으로 탐색기를 이용하여
       폴더가 열리게 되며, 이 때 Autorun.inf 가 동작하게 되므로 체크를 해제한다. 

 5.  연결시마다 최신 백신으로 검사를 수행한다.

       USB 저장매체의 경우 여기저기 시스템에 연결하는 경우가 많으므로
       악성코드의 감염에 쉽게 노출될 수 있다.
       그러므로 USB 저장매체를 사용할 때는
       반드시 최신 백신을 통해 악성코드가 있는지 검사를 한 후, 사용하도록 한다. 

 6.  폴더를 열 때 탐색 방식으로 디스크를 연다.

       [내 컴퓨터]나 [윈도우 탐색기]를 통해 디스크 드라이브 열기를 하는 경우,
       악성코드가 자동으로 실행될 수 있으므로
       탐색기를 이용해 접근할 경우에는 왼쪽 버튼 더블 클릭보다는
       마우스 오른쪽 버튼을 눌러 [탐색(X) ]명령을 실행하도록 한다.


윈도우에서 자동실행은 explorer.exe 프로세스를 통해 관리된다.
CD나 이동식 미디어 안에는 Autorun.inf라는 이름의 파일을 포함할 수 있으며, 루트 디렉터리에 위치해 있다. 이 파일 안에 CD가 삽입되면 수행되는 동작에 대한 내용이 담겨져 있다.

CD를 넣거나, USB 메모리를 삽입할 때 [Shift] 키를 누르고 있으면 자동실행은 무시된다.
또한 시스템 관리자에 의해 영구적으로 차단할 수도 있다.
레지스트리 키 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\CDRom 안에 있는 [AutoRun] 서브키를 0으로 설정함으로써 실행을 막을 수 있다.

그러나 Autorun이 비활성화되었다 할지라도 더블 클릭 또는 Enter 키를 누르거나, 기본 탐색기 환경 메뉴 명령어를 실행하면, 자동실행 기능이 있는 CD가 삽입되어 있는 경우, 자동실행이 동작하게 된다.

윈도우에서 직접 자동실행을 중지시키는 방법에 대해 살펴보자.

 

● 서비스 중단을 이용한 방법

       [Shell Hardware Detection] 서비스를 중단시켜
       자동 실행 기능이 실행되지 않도록 할 수 있다.
       [Shell Hardware Detection] 서비스란 윈도우 탐색기가 드라이브 혹은 메모리카드와
       같은 장치를 자동으로 인식하고 반응하도록 하는 서비스다.
       이 서비스를 중단시키면 윈도우 탐색기가 USB 이동저장 매체가 연결되었음을
       인지하지 못해 결국 자동실행 기능을 작동시키지 않는다.
       다만, 이 방법을 쓸 경우 USB는 물론 USB 카메라나 스캐너와 같은 주변장치에 대한
       자동실행 기능도 비활성화 시킨다는 점을 알아야 한다.

 1.  Windows XP의 경우

       [내 컴퓨터] 마우스 오른쪽 버튼 → [관리] → [서비스 및 응용프로그램] → [서비스] →
       [Shell Hardware Detection] 중지 (사용안함) 

 2.  Windows Vista의 경우

       [제어판] → [시스템 및 유지 관리] → [관리 도구] → [서비스] →
       [Shell Hardware Detection] 중지 (사용안함)

[그림 1-1] 컴퓨터 관리 창

[그림 1-2] Shell Hardware Detection 서비스 중단을 통한 자동실행 기능 차단

  

● 레지스트리 수정을 이용한 방법

       특정 레지스트리 설정을 변경함으로써 자동실행 기능이 실행되지 않도록 할 수도 있다.
       [NoDriveTypeAutoRun]의 설정값이 0x91일 경우 알려지지 않은 드라이브 타입,
       네트워크 드라이브에 대해 자동실행을 허용하지 않는다.
       특히 0x95는 USB와 같은 이동식 저장장치에 대해서도 자동실행을 허용하지 않는다.
       따라서 이 레지스트리의 값을 0x95 혹은 모든 드라이브 타입에 대해
       자동실행을 허용하지 않겠다는 0xFF로 설정한다면
       더 이상 해당 드라이브 타입에 대해 윈도우 자동실행 기능이 동작하지 않게 된다. 

 1.  Windows XP의 경우

       HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\
       Policies\Explorer
       [NoDriveTypeAutoRun] = dword : 00000091 (자동 실행 설정 / 기본값)
       [NoDriveTypeAutoRun] = dword : 00000000 (자동 실행 설정)
       [NoDriveTypeAutoRun] = dword : 000000ff (자동 실행 해제) 

 2.  Windows Vista의 경우

       HKEY_USERS\{S-1-5-21-2765388612-2812426355-2310320014-500}\Software\
       Microsoft\Windows\CurrentVersion\Policies\Explorer 

 ※   {}안의 경로는 PC마다 다를 수 있으므로 레지스트리 편집기의 [찾기] 기능으로
       [NoDriveTypeAutoRun]을 검색하면 위치를 쉽게 알 수 있다.

[그림 2-1] 실행 창에서 regedit를 입력한 후 확인 버튼을 클릭한다.

[그림 2-2] 레지스트리 편집기 창

[그림 2-3] DWORD 값을 FF로 설정한다.

[그림 2-4] 특정 레지스트리 설정 변경을 통한 자동실행 기능 차단

 

● 윈도우의 그룹 정책 설정을 이용한 방법

       Windows XP Home Edition이 아닌 Windows XP Professional Edition을 사용하고
       있다면 윈도우의 그룹 정책 편집기를 이용하여 직접 자동 실행을 끌 수도 있다.

 ※   Windows Vista의 경우에는 [사용자 구성] → [관리 템플릿] → 
       [Windows 구성 요소] → [자동 실행 정책]을 선택한다. 

(1)   그룹 정책 편집기를 실행하기 위해 [시작] → [실행]을 선택하거나,
       [윈도우 + R] 키를 눌러 실행창을 연다.
       실행창이 나타나면 [gpedit.msc]를 입력한 후, [확인] 버튼을 클릭한다.

[그림 3-1] gpedit.msc를 입력한다.

(2)   그룹 정책 창이 열리면 왼쪽 트리 메뉴에서 [사용자 구성] → [관리 템플릿] →
       [시스템] 을 선택하고, 오른쪽 화면에서 [자동실행 사용 안 함]을 더블 클릭한다.

[그림 3-2] 윈도우 그룹 정책 설정 창

(3)   [자동 실행 사용 안 함] 등록 정보 창에서 [사용]을 선택하고,
       자동실행을 허용하지 않을 드라이브로 [모든 드라이브]를 선택한다.
       이제 모든 드라이브의 자동실행이 중지된다.

[그림 3-3] 자동 실행 사용 안 함 등록 정보 창

[그림 3-4] 윈도우의 그룹 정책 설정을 통한 자동실행 기능 차단

 

● 수동 삭제 방법

(1)   USB 메모리에 감염되는 악성코드 (Autorun.inf)의 경우, 대부분 숨김 속성으로
       위장하고 있으므로 윈도우 탐색기의 기본 설정 상태에서는 볼 수가 없다.
       윈도우 탐색기에서 숨김 속성의 파일을 보기 위해서는 [내 컴퓨터] → [도구]  → 
       [폴더 옵션]  → [보기]  → [고급 설정] → [보호된 운영 체제 파일 숨기기] 해제  → 
       [숨김 파일 및 폴더 표시]에 체크를 해야 한다.

[그림 4-1] 폴더 옵션의 보기 창

(2)   탐색기에서 Autorun.inf 를 검색하여 발견되면 해당 파일을 삭제한다.

[그림 4-2] Autorun.inf 파일 삭제를 통한 자동실행 기능 차단


최근 컴퓨터를 사용하는 사람이라면 대부분 USB 메모리를 사용하고 있다.
데이터를 저장하거나 이동시킬 때 USB가 많은 편리성을 주기 때문이다.
또한 USB 메모리는 디지털카메라, MP3 플레이어, PMP, 네비게이션 등등 디지털 기기간에 데이터를 전달하는 수단으로 널리 사용되고 있다.

그런데 USB 메모리 스틱과 같은 휴대용 저장 매체를 대상으로 공격하는 Autorun 악성코드가 기승을 부리고 있다. 이 악성코드는 CD-ROM 드라이브에 CD를 삽입하거나, 메모리 스틱을 USB 포트에 끼우는 순간 윈도우의 자동실행 기능을 통해 전파되며, 네트워크뿐 아니라 사용자 시스템의 정상적인 동작을 방해한다. 또한 Autorun 악성코드에 감염된 메모리 스틱을 컴퓨터에 부착해 놓는 경우에는 악성코드를 삭제 (또는 치료, 안전지대로 이동)한 후에도 재부팅을 하면 다시 생성된다.

이러한 문제점을 해결하는 원천적인 방법으로 Autorun.inf 파일을 자동으로 읽어 실행되는 기능을 꺼버리면 더이상 감염되지 않는다. 하지만 해당 기능을 끄는 방법이 일반인들이 하기에는 어려운 부분이 많아 이러한 설정을 한번에 할 수 있는 툴을 소개한다.

자동실행 방지 툴은 이동형 저장매체인 USB나 CD/DVD를 통해 감염될 수 있는 악성코드들을 예방할 수 있도록 오토런(Autorun) 기능을 제어해주는 프로그램으로 USB 드라이브나 메모리를 자주 사용하는 사용자들에게 유용하다.

무료로 다운받을 수 있는 자동실행 방지 프로그램들을 살펴보자.

 

● USB Guard 

       USB Guard는 국가정보원 국가사이버안전센터 (http://ncsc.go.kr)가 제공하는
       USB 이동 저장 매체의 자동실행 방지 전용 프로그램이다.
       usbguard는 악성코드를 실행하기 위해 꼭 필요한 autorun.inf 파일을 존재하지 않는
       파일로 맵핑해 대체함으로써 궁극적으로 악성코드가 실행되지 못하게 한다. 

       국가사이버안전센터 홈페이지에서 다운받은 프로그램(usbguard.exe)을 실행하면
       [자동실행 차단 상태입니다.] 등 현재의 윈도우 설정을 보여주며,
       [자동실행 차단] 버튼을 클릭하면 기능이 즉시 적용되며,
       컴퓨터를 재시작하더라도 자동실행 차단 기능은 계속 유지된다.
       [자동실행 허용] 버튼을 클릭하면 기능이 해제되나 꼭 필요한 경우에만 사용하고
       즉시 기능을 복원해야 한다.

[그림 1-1] USB Guard 파일 다운로드 창 (http://ncsc.go.kr/data/usbguard.exe)

[그림 1-2] USB Guard 실행 화면

[그림 1-3] USB Guard를 통한 이동식 저장매체 자동실행 차단 과정

[그림 1-4] USB Guard를 통한 자동실행 차단 상태

 

● 안철수연구소 Autorun 실행 방지 툴

       안철수연구소에서 제공하는 Autorun 실행 방지 프로그램을 다운로드 받아
       파일을 실행하게 되면 아무런 창이 나타나지 않지만,
       이미 설정이 다 된 것이므로 안심하고 이동형 디스크를 연결해도 된다.

[그림 2-1] Autorun 실행 방지 툴 다운로드 창
http://kr.ahnlab.com/downLoadFreeVaccine.ahn?filename=usbblock.exe

[그림 2-2] 다운받은 usbblock.exe 파일

 

● Panda USB Vaccine

       Panda USB Vaccine은 스페인의 보안업체인 Panda Security사에서 무료로 배포한다.
       이 프로그램은 악성코드를 검색 / 삭제해주는 프로그램이 아니라 자동실행을 금지해주는
       기능만을 제공하므로 다른 백신 프로그램과 같이 사용하는 것이 좋다.
       프로그램은 Computer vaccination과 USB drive vaccination의
       2가지 기능으로 제공된다. 

 1.  Computer Vaccination

  
     Computer Vaccineation은 USB나 CD/DVD와 같은 이동식 저장매체에서
       자동 실행되는 것을 막아주는 기능을 제공한다.
       Vaccinate Computer를 눌러서 기능을 활성화하면 되고,
       기능 제거시에는 Remove Vaccine을 클릭하면 된다. 

 2.  USB drive Vaccination

       USB drive Vaccination은 USB 드라이브에 autorun.inf 악성코드가
       전송되는 것을 막을 수 있다.
       프로그램을 실행한 후 USB 드라이브를 연결하면 USB 드라이브가 선택이 되고,
       Vaccinate USB 버튼을 클릭하면 기능이 활성화된다.

[그림 3] Panda USB and AutoRun Vaccine 다운로드
        http://www.pandasecurity.com/homeusers/downloads/usbvaccine



출처 : http://blog.naver.com/itexpert2007
728x90

댓글