autorun.inf
autorun.inf 파일은 마이크로소프트 윈도우 운영체제의 자동 실행 및 자동 재생 구성 요소에서 사용할 수 있는 텍스트 파일이다. 이 파일을 이러한 구성 요소에서 검색하고 사용하려면 볼륨의 루트 디렉토리에 있어야 한다. Windows는 대소문자를 구분하지 않는 파일 이름 보기를 제공하므로 autorun.inf 파일은 AutoRun.inf 또는 Autorun.INF 또는 다른 대소문자 조합으로 저장할 수 있다.
자동 실행 구성 요소는 지원 비용을 줄이기 위한 방법으로 윈도우 95에 도입되었다. 자동 실행은 응용 프로그램 CD-ROM이 프로그램을 자동으로 시작할 수 있도록 하여 사용자가 설치 프로세스를 통해 안내받을 수 있게 했다. autorun.inf 파일에 설정을 배치함으로써 제조업체는 CD-ROM이 삽입될 때 어떤 작업이 수행될지 결정할 수 있었다. 가장 간단한 autorun.inf 파일은 두 가지 설정만 가지고 있다. 하나는 윈도우 탐색기 (또는 "내 컴퓨터")에서 CD를 나타내는 아이콘을 지정하고, 다른 하나는 실행할 응용 프로그램을 지정하는 것이다.
자동 재생 및 기타 새로운 기능을 지원하기 위해 Windows의 연속 버전에 추가 설정이 추가되었다.
autorun.inf 파일
[편집]autorun.inf는 CD-ROM 또는 다른 볼륨 장치 매체의 루트 폴더에 있는 ASCII 텍스트 파일이다(자동 재생 장치 유형 참조). 이 구조는 클래식 Windows .ini 파일과 같으며, "키=값" 쌍으로 정보와 명령을 섹션으로 묶어 포함한다.[1] 이러한 키는 다음을 지정한다.
- 매체가 삽입될 때 호출할 프로그램의 이름과 위치("자동 실행 작업").
- 탐색기에서 매체를 나타내는 아이콘을 포함하는 파일의 이름(표준 드라이브 아이콘 대신).
- 사용자가 드라이브 아이콘을 마우스 오른쪽 버튼으로 클릭할 때 나타나는 메뉴의 명령.
- 사용자가 드라이브 아이콘을 더블 클릭할 때 실행되는 기본 명령.
- 자동 재생 감지 루틴 또는 검색 매개변수를 변경하는 설정.
- 드라이버 존재 여부를 나타내는 설정.
악용
[편집]Autorun.inf는 사용자 모르게 악성 프로그램을 자동으로 실행하는 데 사용되어왔다.[2][3][4][5] 이 기능은 윈도우 7에서 제거되었으며, 윈도우 XP 및 비스타용 패치는 2009년 8월 25일에 출시되었고 2011년 2월 8일 마이크로소프트 자동 업데이트에 포함되었다.[3][5][6][7]
Inf 처리
[편집]매체에 autorun.inf 파일이 단순히 존재한다고 해서 Windows가 자동으로 읽거나 설정을 사용하는 것은 아니다. inf 파일이 처리되는 방식은 사용 중인 Windows 버전, 볼륨 드라이브 유형 및 특정 레지스트리 설정에 따라 달라진다.
레지스트리 설정이 자동 실행을 허용한다고 가정하면 다음 autorun.inf 처리가 발생한다.
- 윈도우 XP 이전 Windows 버전
- 모든 드라이브 유형에서 autorun.inf는 즉시 자동으로 읽히고 구문 분석되며 지침이 따른다.[8]
- "자동 실행 작업"은
open또는shellexecute키에 지정된 응용 프로그램이다. 자동 실행 작업이 지정되면 사용자 상호 작용 없이 즉시 실행된다.
- 서비스 팩 2 이전의 윈도우 XP
- 자동 재생 도입.
- autorun.inf 파일이 발견되지 않으면 DRIVE_CDROM 유형의 드라이브가 자동 재생을 호출한다.
- DRIVE_REMOVABLE 유형의 드라이브는 autorun.inf 파일을 사용하지 않는다.[1] 발견된 모든 이동식 매체는 자동 재생으로 처리된다.
- 다른 모든 처리는 이전과 동일하다.
- 윈도우 XP 서비스 팩 2 이상 (비스타 포함)
- DRIVE_FIXED 유형의 드라이브는 이제 자동 재생으로 처리된다. 지정된 자동 실행 작업은 자동 재생 대화 상자 내에서 선택 사항으로 나타나며, 선택적
action키에 지정된 텍스트와 함께 표시된다.[9] - DRIVE_REMOVABLE 유형의 드라이브는 이제 autorun.inf를 사용하지만 자동 재생으로 계속 처리된다. 지정된 자동 실행 작업은 자동 재생 대화 상자 내에서 옵션으로 나타나려면 필수
action키와 쌍을 이루어야 한다. 그렇지 않으면 자동 실행 작업은 생략된다.[9] - 다른 모든 처리는 이전과 동일하다.
- 비스타 및 이후 버전
- 자동 실행 작업은 더 이상 어떤 드라이브 유형에서도 자동으로 그리고 자동으로 실행되지 않는다. 모든 볼륨은 자동 재생으로 처리되며, 기본적으로 사용자에게 적절한 대화 상자를 제공한다.
- DRIVE_CDROM을 제외한 모든 드라이브 유형의 경우, [autorun] 섹션에서 사용할 수 있는 유일한 키는
label및icon이다. 이 섹션의 다른 모든 키는 무시된다. 따라서 CD 및 DVD 미디어 유형만 자동 실행 작업을 지정하거나 더블 클릭 및 마우스 오른쪽 버튼 동작에 영향을 줄 수 있다.[9][10] - 이 동작으로 자동 실행 기능을 변경하는 Windows XP 이상용 패치
KB971029가 있다.[11]
간단한 예시
[편집]이 간단한 autorun.inf 파일은 자동 실행이 활성화될 때 실행할 응용 프로그램으로 setup.exe를 지정한다. setup.exe 자체 내에 저장된 첫 번째 아이콘이 탐색기에서 드라이브를 나타낸다.
[autorun]
open=setup.exe
icon=setup.exe,0
label=My install CD
섹션
[편집]다음은 유효한 autorun.inf에서 허용되는 섹션 및 키이다.[9] RISC에서 실행되는 Windows NT 4와 같은 시스템을 위한 아키텍처 특정 섹션 유형도 존재한다. 그러나 이들은 오래되었으므로 여기서는 설명하지 않는다.
[autorun]
[편집]autorun 섹션에는 기본 자동 실행 명령이 포함된다. autorun.inf 파일은 유효하려면 이 섹션을 포함해야 한다. 허용되는 키는 다음과 같다.
action=textaction=@[filepath\]filename,-resourceID-
- 윈도우 XP SP2 이상; DRIVE_REMOVABLE 및 DRIVE_FIXED 유형의 드라이브
open또는shellexecute키에 지정된 프로그램을 나타내는 데 자동 재생 대화 상자에서 사용되는 텍스트를 지정한다. 텍스트는 텍스트 또는 리소스 참조로 표현된다.icon은 텍스트 옆에 표시된다. 이 항목은 항상 자동 재생 대화 상자에서 첫 번째이며 항상 기본적으로 선택된다.- 다음 유형의 드라이브에 (action) 키가 나타나지 않으면:
- DRIVE_REMOVABLE
- 자동 재생 대화 상자가 나타나지만 추가 메뉴 항목은 없다. 본질적으로 자동 실행 작업은 생략된다. 이로 인해 이 유형의 드라이브에 대한 action 키가 필수가 된다.
- DRIVE_FIXED
- 자동 재생 대화 상자에서 기본 텍스트가 생성되고 사용된다.
- 다른 모든 드라이브 유형에서는 이 키는 무시된다.
icon=iconfilename[,index]- 아이콘을 포함하는 파일 리소스의 이름. 이 아이콘은 윈도우 탐색기에서 표준 드라이브 아이콘을 대체한다. 이 파일은
open키로 지정된 파일과 같은 디렉토리에 있어야 한다. label=text- 윈도우 탐색기에서 드라이브를 나타내는 텍스트 레이블을 지정한다.
open=[exepath\]exefile [param1 [param2 ...]]- 사용자가 디스크를 드라이브에 삽입할 때 자동 실행이 시작하는 응용 프로그램의 경로, 파일 이름 및 선택적 매개변수를 지정한다. 자동 실행에 의해 호출되는 함수는
CreateProcess이다. 응용 프로그램 이름에 공백이 포함된 경우 경로는 이중 따옴표로 묶어야 한다(예: open=""spread sheets.exe""). shellexecute=[filepath\]filename [param1 [param2 ...]]-
- 윈도우 2000, 윈도우 미 또는 이후
- open과 유사하지만 파일 연결 정보를 사용하여 응용 프로그램을 실행한다. 따라서 파일 이름은 실행 파일 또는 데이터 파일일 수 있다. 자동 실행에 의해 호출되는 함수는
ShellExecuteEx이다. UseAutoPlay=1-
- 윈도우 XP 또는 이후; DRIVE_CDROM 유형의 드라이브
- CD-ROM에 자동 실행 대신 자동 재생을 사용한다. CD-ROM 삽입 시 수행되는 작업은 사용 중인 Windows 버전에 따라 달라진다.
- XP 이전 Windows 버전에서는 이 키가 아무런 영향을 미치지 않으며
open또는shellexecute에 지정된 작업이 수행된다. - 윈도우 XP 이상에서는 사용자에게 자동 재생 대화 상자가 표시되며
open또는shellexecute에 지정된 모든 작업은 무시된다. shell\verb\command=[exepath\]exefile [param1 [param2 ...]]- 드라이브의 바로 가기 메뉴에 사용자 지정 명령을 추가한다. verb는 공백이 없는 문자열이다. verb는 명시적으로 다른 텍스트로 변경되지 않는 한 바로 가기 메뉴에 나타나는 텍스트이기도 하다. 예시는 아래를 참조한다.
shell\verb=menu text- 위의 verb에 대해 바로 가기 메뉴에 표시되는 텍스트를 선택적으로 지정한다. 메뉴의 단축키를 선택하려면 앰퍼샌드(&)를 사용한다. 예시는 아래를 참조한다.
shell=verbshell\verb로 참조되는 메뉴 명령을 바로 가기 메뉴의 기본 명령으로 정의한다. 기본 명령은 드라이브 아이콘을 두 번 클릭할 때 실행되는 명령이다. 누락된 경우 기본 메뉴 항목은 "자동 재생"이며, 이는open항목에 지정된 응용 프로그램을 시작한다.- 예시:
shell\readme\command=notepad readme.txt shell\readme=Read &Me shell=readme
[Content]
[편집]Content 섹션은 자동 재생이 미디어를 검사하지 않고도 자동 재생에 콘텐츠의 유형과 의도를 전달할 수 있도록 한다.
유효한 키는 MusicFiles, PictureFiles, VideoFiles이다. 각 키는 참 또는 거짓 값을 나타내도록 설정할 수 있으며 값은 대소문자를 구분하지 않는다.
- true 또는 (1, y, yes, t)
- 해당 콘텐츠 유형과 관련된 핸들러를 표시한다.
- false 또는 (0, n, no, f)
- 해당 콘텐츠 유형과 관련된 핸들러를 표시하지 않는다.
예시:
[Content]
MusicFiles=Y
PictureFiles=0
VideoFiles=false
[ExclusiveContentPaths]
[편집]자동 재생의 콘텐츠 검색을 나열된 폴더 및 해당 하위 폴더로만 제한한다. 폴더 이름은 선행 슬래시 사용 여부에 관계없이 항상 절대 경로(미디어의 루트 디렉토리에서 시작하는 경로)로 간주된다.
예시:
[ExclusiveContentPaths]
\pictures
\music
more music\special
[IgnoreContentPaths]
[편집]자동 재생의 콘텐츠 검색 시스템은 나열된 폴더나 해당 하위 폴더를 스캔하지 않는다. IgnoreContentPaths는 ExclusiveContentPaths보다 우선하므로 [IgnoreContentPaths] 섹션에 주어진 경로가 [ExclusiveContentPaths] 섹션에 주어진 경로의 하위 폴더인 경우에도 여전히 무시된다.
예시:
[IgnoreContentPaths]
pictures
\music
more music\special
[DeviceInstall]
[편집]- 윈도우 XP만 해당[9]
이 섹션은 드라이버 파일의 위치를 나타내는 데 사용된다. 이는 CD-ROM 전체 내용을 긴 시간 동안 검색하는 것을 방지한다. Windows XP는 이 섹션이 없으면 다음을 완전히 검색한다.
- A 또는 B 드라이브의 플로피 디스크
- 크기가 1GB 미만인 CD/DVD 미디어.
이 섹션이 없는 경우. 다른 모든 미디어는 Windows XP가 해당 미디어에 저장된 드라이버를 자동 감지하도록 이 섹션을 포함해야 한다.
이 섹션은 자동 실행이나 자동 재생과 함께 사용되지 않으며 드라이버 설치 단계에서만 참조된다. 유효한 유일한 키는 다음과 같다.
DriverPath=directorypath
이는 Windows가 드라이버 파일을 검색할 경로를 나열한다. 해당 경로의 모든 하위 디렉토리도 검색된다. 여러 키 항목이 허용된다.
[DeviceInstall] 섹션에 DriverPath 항목이 없거나 DriverPath 항목에 값이 없으면, 드라이버 파일 검색 중에 해당 드라이브는 건너뛴다.
예시:
[DeviceInstall]
DriverPath=drivers\video
DriverPath=drivers\audio
[autorun]
open=setup.exe
icon=setup.exe,0
label=My install CD
같이 보기
[편집]각주
[편집]- ↑ 가 나 “Creating an AutoRun-Enabled Application”. 《MSDN Library》. Microsoft. 2009년 8월 25일에 원본 문서에서 보존된 문서. 2009년 8월 27일에 확인함.
- ↑ 콘피커 § 작동 방식
- ↑ 가 나 Bureau), Robert McMillan and IDG News Service (San Francisco. “After CERT Warning, Microsoft Delivers AutoRun Fix”. 2014년 10월 25일에 원본 문서에서 보존된 문서. 2014년 10월 25일에 확인함.
- ↑ Constantin, Lucian. “Security researchers discover link between Stuxnet and Flame”.
- ↑ 가 나 “AutoPlay Windows 7 behavior backported”. 2014년 10월 25일에 원본 문서에서 보존된 문서. 2014년 10월 25일에 확인함.
- ↑ Gonsalves, Antone. “Security firms warn of spreading Windows AutoRun malware”. 2014년 10월 25일에 원본 문서에서 보존된 문서. 2014년 10월 25일에 확인함.
- ↑ “Microsoft finally says adios to Autorun”. 《더 레지스터》. 2017년 8월 10일에 원본 문서에서 보존된 문서. 2017년 8월 10일에 확인함.
- ↑ “How to Test autorun.inf Files”. 《Knowledge Base》. Microsoft. 2009년 9월 7일에 원본 문서에서 보존된 문서. 2009년 8월 27일에 확인함.
- ↑ 가 나 다 라 마 “Autorun.inf Entries”. 《MSDN Library》. Microsoft. 2009년 8월 19일에 원본 문서에서 보존된 문서. 2009년 8월 27일에 확인함.
- ↑ “Improvements to AutoPlay”. 《Engineering Windows 7 blog》. Microsoft. 2009년 6월 8일에 원본 문서에서 보존된 문서. 2009년 8월 27일에 확인함.
- ↑ “Update to the AutoPlay functionality in Windows”. 《Knowledge Base》. Microsoft. 2009년 8월 29일에 원본 문서에서 보존된 문서. 2009년 10월 27일에 확인함.
외부 링크
[편집]- https://web.archive.org/web/20121220071928/http://dailycupoftech.com/usb-drive-autoruninf-tweaking/
- https://stackoverflow.com/questions/1232966/auto-run-appilication-while-plug-in-usb-drive
- http://www.samlogic.net/articles/autorun.htm
- http://www.makeuseof.com/tag/autolaunch-apps-usb-stick-windows/
- http://www.autoitscript.com/site/autoit/
- https://web.archive.org/web/20120505010938/http://go4answers.webhost4life.com/Example/launch-net-application-usb-drive-41597.aspx