{{위키데이터 속성 추적}}
[[파일:AutorunIcon.png|섬네일]]
'''자동 실행''' 또는 '''자동 재생'''은 [[CD-ROM]], [[DVD-ROM]], [[플래시 메모리|플래시]] 미디어와 같은 [[이동식 매체]]가 삽입되면 자동으로 특정한 동작을 수행하도록 하는 기능으로, 현대의 수많은 [[컴퓨터]] [[운영 체제]]에 도입되어 있다. '''오토런'''(Autorun)이라고도 한다.

자동 실행은 편리 기능의 하나로 고안된 것이다: 이를테면 디스크가 삽입되면 디스크에 배포되는 소프트웨어가 자동으로 설치 프로그램을 실행한다. 그러나 자동 실행은 사용자가 예측하지 못하는 [[컴퓨터 보안|보안]]의 위협에 노출된다.

이를테면, 컴퓨터에 물리 접근을 하는 공격자가 몰래 디스크를 삽입하여 소프트웨어를 실행하게 만들 수도 있다. 악성 소프트웨어도 사용자가 예측하지 못하는 상황 속에서 디스크를 통해 배포될 수 있다. 이를테면 오디오 [[콤팩트 디스크|CD]]가 그렇다. 유명한 상품의 음악 CD라 할지라도 [[2005년 소니 BMG CD 복사 방지 추문|언제나 안전한 것만은]] 아니다.

== 마이크로소프트 윈도우 ==
=== 자동 실행 ===
[[마이크로소프트 윈도우]]에서 자동 실행은 [[윈도우 탐색기|explorer.exe]] 프로세스를 통해 관리된다.

CD 나 이동식 미디어 안에는 <CODE>Autorun.inf</CODE>라는 이름의 [[컴퓨터 파일|파일]]을 포함할 수 있으며, 루트 디렉터리에 위치해 있다. 이 파일 안에 CD가 삽입되면 수행되는 동작에 대한 내용이 담겨 있다. 이를테면, [[설치 프로그램]]이 [[실행 (컴퓨팅)|실행]]되는 명령어를 포함한다.

광학 디스크가 [[광학 디스크 드라이브]]에 삽입될 때 {{키눌림|Shift}} 키를 누르고 있으면 자동 실행은 무시된다. [[시스템 관리자]]에 의해 영구적으로 차단할 수도 있다. 이를테면 [[윈도우 레지스트리|레지스트리]] 키 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\CDRom 안에 있는 "AutoRun" 서브키를 0으로 설정함으로써 실행을 막을 수 있다. 그러나 Autourn이 비활성화되었다 할지라도, 더블 클릭이나 {{키눌림|Enter}} 키를 누르거나, 기본 탐색기 환경 메뉴 명령어를 실행하면, 자동 실행 기능이 있는 CD가 삽입되어 있는 경우 "자동 실행"이 동작하게 된다.

==== 탐색기가 자동 실행 기능을 어떻게 감지하는가 ====
탐색기는 레지스트리 키 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDriveAutoRun를 사용하여 어느 드라이브가 AutoRun을 사용하지 못하는지 결정한다. 비트 0은 드라이브 A:와 일치하며, 비트 1은 드라이브 B:와 일치하는 식이다.

탐색기는 레지스트리 값 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDriveTypeAutoRun을 사용하여 AutoRun 기능을 사용할 수 있는 드라이브의 종류를 결정한다. NoDriveTypeAutoRun는 128 (80 십육진)로 된 다음 필드에 숫자를 추가함으로써 계산되는 스위치 값이다.
마지막 값은 어느 드라이브가 AutoRun을 사용할 수 없는지 결정한다. AutoRun을 사용하지 못하는 드라이브는 루트 디렉터리의 AUTORUN.INF를 실행하는 기본 환경 메뉴 항목을 가지고 있지 않다.

AutoRun 기능 플레그를 바꾼 다음, 탐색기를 다시 시작하면 변경된 사항이 적용된다.

{| class="wikitable"
|-
! 변수 !! 숫자 !! [[십육진법|십육진수]] !! 드라이브 종류
|-
| DRIVE_UNKNOWN || 1 || 0x1
|-
| DRIVE_NO_ROOT_DIR || 2 || 0x2
|-
| DRIVE_REMOVABLE || 4 || 0x4 || 디스크는 플로피 디스크, 이동식 카트리지와 같은 드라이브로 꺼낼 수 있다
|-
| DRIVE_FIXED || 8 || 0x8 || 디스크는 하드 디스크와 같은 드라이브로 꺼낼 수 없다
|-
| DRIVE_REMOTE || 16 || 0x10 || 네트워크 드라이브
|-
| DRIVE_CDROM || 32 || 0x20 || CD-ROM 드라이브
|-
| DRIVE_RAMDISK || 64 || 0x40 || 램 디스크
|}

==== 마이크로소프트 윈도우 autorun.inf 파일의 예제 ====
 [autorun]
 open=foo.exe bar
 ;ShellExecute=index.html
 icon=foobar.ico
 shell\configure=구성(&C)...
 shell\configure\command=setup.exe
 shell\install=설치(&I)...
 shell\install\command=setup.exe
 Shell\Option1=Text1
 Shell\Option1\Command=option1.exe
 Shell\Option2=Text2
 Shell\Option2\Command=option2.bat
 label=My backup data

=== 자동 재생 ===
자동 재생은 마이크로소프트 윈도우의 다른 기능의 이름이다. 이를테면 자동 재생이 켜져 있을 때, 사용자가 [[오디오 CD]]를 삽입하면, [[윈도우 미디어 플레이어]]가 자동으로 재생을 시작한다. (디스크의 내용물은 자동으로 [[윈도우 탐색기]]에 표시된다.) 자동 실행을 사용하지 않게 설정하면, 자동 재생 기능 또한 사용하지 못한다. [[윈도우 XP]]에서 디스플레이 속성 대화 상자에 들어가 보면 자동 재생이라고 불리는 [[탭 브라우징|탭]]이 있다. 이 탭에서 4가지 다른 실행 동작을 고를 수 있다.
<!--영문글을 그대로 번역한 것입니다. 윈도우 XP 한글판에서 실제로 뜨는 탭 문자열(아래 4가지 항목)을 수정해 주세요.-->
* 재생
* 폴더를 열어서 파일 보기
* 동작 없음
* 동작을 수행할지 매번 물어보기

위에 설명한 방식은 계속 마운트되는 드라이브에만 동작한다. 자동 재생 기능이 이동식 기억 장치를 찾지 못하게 할 수 있다. 마이크로소프트 프로그래머들이 다양한 운영 체제의 기능을 레지스트리 수정을 거치지 않고 편집할 수 있도록 개발한 [[트윅 UI|'''트윅UI''']]라는 유틸리티를 사용하면 된다. TweakUI에서 "My Computer"를 선택하고 하부 분류 "AutoPlay"의 "Drives"에 들어간다. 그리고 모든 드라이브를 사용하지 않게 하면 자동 재생 기능을 완전하게 사용하지 않게 된다.

[[윈도우 비스타]]는 자동 재생 설정을 전역으로 구성할 수 있는 제어판 애플릿을 제공한다. 그러나 {{키눌림|Shift}} 키를 누르면, 윈도우 비스타의 기본 설정에 관계 없이 자동 재생이 열린다. 사용자들은 {{키눌림|Shift}} 키를 누름으로써 자동 재생을 무효로 만들 수 없다. (윈도우 XP에서는 이것이 가능하였다.) 제어판을 통해서 자동 재생을 끌 수 있다.<ref>[http://windowshelp.microsoft.com/Windows/en-US/Help/7e1fe788-0747-4e00-895b-c3461b1ddd971033.mspx#E3H AutoPlay FAQs]</ref>

== 문제 및 보안 ==
=== 자동 실행 비활성화 버그 ===
윈도우 2000부터 윈도우 서버 2008까지 자동 실행 관련 레지스트리 엔트리가 적절히 동작하지 않아 보안 취약성이 발생하였다.<ref>[http://www.kb.cert.org/vuls/id/889747 Windows Vista fails to properly handle the NoDriveTypeAutoRun registry value], [[US-CERT]]</ref> 윈도우 95와 윈도우 98은 영향을 받지 않는다.

이 버그는 수많은 보안 업데이트를 통해 해결되었으며 [[Microsoft Knowledge Base]] 문서 <tt>967715</tt>에 자세히 설명되어 있다.<ref name=kb967715>[http://support.microsoft.com/kb/967715 How to disable the Autorun functionality in Windows], Microsoft, ''Knowledge Base''</ref>
=== 공격 매개체 ===
자동 실행 기능은 때때로 악성 소프트웨어 벡터로 사용되고 있다. 윈도우 비스타 이전까지 CD-ROM 드라이브의 기본 동작은 사용자 확인이나 경고 없이 autorun.inf 파일 지시를 따르는 것이었다. 이는 특정 CD-ROM이 감염 매개체로 활용될 가능성이 있음을 나타낸다.

자동 실행 악성 소프트웨어는 하드 드라이브<ref>[http://www.channelregister.co.uk/2007/11/12/maxtor_infected_hdd_updated/ Chinese Trojan on Maxtor HDDs spooks Taiwan], ''[[The Register]]'', 12 November 2007</ref>, 사진 프레임, 기타 디지털 장치를 사용하는 데까지 확대되었다.<ref>[https://www.theregister.co.uk/2008/01/11/malware_digital_devices/ Malware hitches a ride on digital devices], ''The Register'', 11 January 2008</ref>

== 애플 아이튠스 ==
윈도우와 맥 두 곳에서, iTunesHelper라는 응용 프로그램은 [[아이팟]]이 연결될 때 자동 실행과 비슷한 기능을 사용하면서 [[아이튠즈]]를 실행할 수 있다. 이 기능은 아이튠스의 아이팟 섹션의 옵션에서 'Open iTunes when iPod is plugged in'에 체크함으로써 종료할 수 있다.

== 참조 ==
<references/>

== 외부 링크 ==
* [http://msdn2.microsoft.com/en-us/library/bb776825.aspx MSDN: 자동 실행 켜고 끄기]
* [http://msdn2.microsoft.com/en-us/library/bb776823.aspx MSDN: AutoRun.inf 명령어]
{{윈도우 구성 요소}}

[[분류:시스템 소프트웨어]]