자동 실행
AutoRun자동 실행 및 지원 기능 자동 실행은 드라이브를 마운트할 때 시스템이 수행할 작업을 지시하는 Microsoft Windows 운영 체제의 구성 요소입니다.
AutoRun은 Windows 95에서 도입되어 비기술 사용자의 애플리케이션 설치를 용이하게 하고 소프트웨어 지원 콜 비용을 절감합니다.적절하게 구성된 CD-ROM을 CD-ROM 드라이브에 삽입하면 Windows는 도착을 감지하고 일련의 지침을 포함하는 특수 파일을 확인합니다.소프트웨어를 포함한 CD의 경우는, 통상, 이러한 순서에 따라서 CD-ROM 로부터 하드 드라이브에의 소프트웨어의 인스톨을 개시됩니다.설치 성공 가능성을 극대화하기 위해 자동 실행은 Windows 탐색기(또는 "내 컴퓨터")에서 드라이브에 액세스할 때(또는 "두 번 클릭") 작동하기도 합니다.
Windows XP가 등장하기 전까지 AutoRun과 AutoPlay라는 용어는 서로 바꾸어 사용되었으며 개발자들은 종종 전자의 용어를 사용하고 최종 사용자는 후자의 용어를 사용합니다.이러한 경향은 AutoRun이라는 이름의 Windows 레지스트리 항목을 변경하는 AutoPlay라는 Windows 정책 설정과 드라이브의 상황에 맞는 메뉴에 "AutoPlay"가 추가되도록 하는 파일에 반영됩니다.이 용어는 Windows XP가 등장하고 새로운 미디어와 디바이스가 검출되었을 때 사용자가 적절한 액션을 선택할 수 있도록 지원하는 새로운 기능이 추가되기 전까지는 그다지 중요하지 않았습니다.이 새로운 기능은 자동 재생이라고 불리며 두 용어 사이의 차이점이 만들어졌습니다.[1]
Windows 95 에 도입된 Windows 탐색기(실제로는 shell32 dll)의 기능인 AutoRun 을 사용하면, 미디어와 디바이스가 다음의 파일에 리스트 되고 있는 커맨드를 사용해 프로그램을 기동할 수 있습니다.autorun.inf미디어 루트 디렉토리에 저장됩니다.
주로 설치 CD-ROM에서 사용되며 호출되는 애플리케이션은 일반적으로 응용 프로그램 설치 프로그램입니다.autorun.inf 파일은 다른 고급 [1]기능과 함께 탐색기에서 장치를 시각적으로 나타내는 아이콘을 지정할 수도 있습니다.
자동 실행과 자동 실행이라는 용어는 검색된 볼륨에서 읽기를 감지하고 시작하는 작업인 시작 작업을 지칭할 때 서로 다르게 사용되는 경향이 있습니다.AutoPlay 기사의 흐름도 그림은 AutoPlay와 Shell Hardware Detection 서비스 사이의 레이어로서 AutoRun이 어떻게 자리매김되어 있는지를 나타내고 있으며 용어를 이해하는 데 도움이 될 수 있습니다.단, 혼란을 피하기 위해 이 문서에서는 시작 액션을 나타낼 때 자동 실행이라는 용어를 사용합니다.
자동 재생
AutoPlay는 Windows XP에서 도입된 기능으로 리무버블 미디어와 디바이스를 검사하고 사진, 음악 또는 비디오 파일 등의 콘텐츠를 기반으로 콘텐츠를 [1]재생하거나 표시하는 데 적합한 응용 프로그램을 실행합니다.사용 가능한 경우 autorun.inf 파일의 설정을 사용자에게 표시되는 옵션에 추가할 수 있습니다.
자동 실행은 자동 실행 시스템에 등록된 일련의 핸들러 응용 프로그램을 기반으로 합니다.각 미디어 타입(사진, 음악, 비디오)에는, 그러한 종류의 미디어를 재생 또는 표시할 수 있는 등록된 핸들러 세트가 있습니다.
각 하드웨어 디바이스는 특정 미디어 유형을 검출할 때 발생하는 기본 액션을 가질 수 있습니다.또한 AutoPlay 대화 상자에서 사용자에게 수행할 액션을 요구할 수도 있습니다.
자동 실행 활성화
자동 실행 시퀀스는 새 장치 또는 새 미디어의 초기 검색부터 시작합니다.그 후, Windows 탐색기 셸이 주된 관심사인 관계자에 대한 통지가 발생합니다.특정 레지스트리 설정을 체크하여 AutoRun을 계속할 수 있는지 확인한 후 autorun.inf(옵션) 구문 분석이 수행되고 필요한 작업이 수행될 수 있습니다.
초기 시퀀스는 Windows 95에서 모든 버전의 Windows에서 거의 동일하게 처리됩니다.그러나 autorun.inf 파일을 읽고 실행하는 방법 및 AutoRun과 AutoPlay의 통합 수준은 Windows XP에서 AutoPlay가 도입된 시점부터 Windows 7에서 현재 처리되는 시점까지 크게 변경되었습니다.Windows 10 에서는, Microsoft 의 설정에 자동 실행을 유효하게 하는 옵션이 추가되었습니다.사용자는 전원을 켤 수 있을 뿐만 아니라 자동 재생을 위해 특정 외부 장치를 선택할 수도 있습니다.
개시 및 통지
AutoRun 호환 드라이버가 설치된 장치가 새 미디어를 수신하면 "미디어 변경 알림" 이벤트가 발생합니다.그런 다음 Windows OS는 대상 응용 프로그램에 디바이스 변경이 발생했음을 알립니다.사용하는 통지 방법은 디바이스 유형에 따라 변경될 수 있습니다.
변경된 디바이스가 볼륨(CD 등) 또는 포트(시리얼 포트 등)인 경우 Windows에서 브로드캐스트합니다.WM_DEVICECHANGE모든 최상위 [2][3]창에 대한 알림입니다.Windows 에서는, 이것을 「기본」알림이라고 부릅니다.최상위 창은 데스크톱의 하위 창입니다.
단, 변경된 디바이스가 이러한 타입 중 하나가 아닌 경우 응용 프로그램은RegisterDeviceNotification[4] 디바이스 알림을 수신하기 위해 등록하는 함수입니다.
Doran Holan이 블로그에서 설명한 Code Project 웹사이트의 기사 "하드웨어 삽입 및/또는 제거 검출"은 특히 여기에서 기술적인 관심을 끌고 있습니다.
비볼륨 장치는 "내 컴퓨터"에서 드라이브 문자로 표시되지 않는 장치입니다.이러한 작업은 자동 실행의 어떤 부분에서도 처리되지 않습니다. 이러한 장치에 대해 수행된 모든 작업은 장치별 소프트웨어 또는 자동 실행에서 수행됩니다.AutoPlay #드라이브 이외의 디바이스를 참조해 주세요.
탐색기는 볼륨 변경 알림을 받으면 다음과 같은 여러 [5][6]작업을 수행합니다.
- 레지스트리에서 자동 실행이 비활성화되었는지 확인합니다.해당 드라이브 또는 드라이브 유형에 대해 자동 실행이 비활성화되어 있으면 탐색기는 더 이상 진행되지 않습니다.이 지역에 버그가 발생하고 있습니다.
- 삽입된 미디어의 루트 디렉토리에 autorun.inf 파일이 포함되어 있는지 확인합니다.이 파일은 읽을 수 있습니다.이하를 참조해 주세요.
- 송신하다
QueryCancelAutoPlay메시지를 포그라운드창에 표시합니다.다음을 사용하여 이 메시지 수신에 대한 관심을 등록한 응용 프로그램RegisterWindowMessage는 이 메시지에 응답하여 이 시점에서 자동실행(및 자동실행)을 정지할 수 있습니다.포그라운드에 관계없이 모든 애플리케이션은IQueryCancelAutoPlayWindows XP 이후에 사용할 수 있는 COM[7] 인터페이스. - 더블 클릭 및 상황별 메뉴 동작을 변경합니다.사용자가 탐색기에서 드라이브 아이콘을 두 번 클릭하거나 마우스 오른쪽 버튼을 클릭하여 컨텍스트 메뉴를 표시하면 autorun.inf 파일의 설정에 따라 완전히 프로그래밍할 수 있습니다.
- autorun.infable 아이콘과 설명 텍스트를 드라이브 아이콘에 추가합니다.
- 체크합니다.⇧ Shift 키가 눌려 있습니다.Windows Vista(및 그 이후의 Windows 버전)에서는 설정에 관계없이 [8]자동 실행 대화 상자가 호출됩니다.이전 버전의 Windows는 [6]이 프로세스를 계속 진행하지 않습니다.
- 마지막으로 이 지점에 도달한 경우 다음 중 하나를 수행합니다.
- 추가 액션은 하지 않습니다.
- 자동 실행 태스크(옵션)를 실행합니다.
open또는shellexecute키를 autorun.inf의 [contractun]섹션에 입력합니다. - 자동 재생을 호출합니다.
- 어떤 선택을 할지는 사용 중인 Windows 버전, autorun.inf(사용 가능한 경우), 검색된 미디어의 유형에 따라 달라집니다.
동작의 변화
자동 재생 전
Windows XP 이전의 Windows 버전에서는, 모든 드라이브 타입의 autorun.inf 파일을 읽어, 그 순서에 따릅니다.자동 실행 태스크가 지정되어 있는 경우 사용자의 조작 [9]없이 즉시 실행됩니다.여기에는 DRIVE_REMOBLE, DRIVE_FIXED 및 DRIVE_REMOTE 드라이브 유형이 포함됩니다.
자동 실행은 드라이브 문자에 매핑된 네트워크 드라이브(DRIVE_REMOTE 드라이브 유형)에서 작동합니다.자동 실행은 자동 실행 호환 [6]드라이버와 함께 제공되는 플로피 드라이브에서도 작동합니다.
Windows XP 이전의 Windows 버전에서는, 디폴트의 레지스트리 설정(「NoDriveTypeAutoRun」 참조)에서는, 자동 실행 개시시에 리모트 드라이브와 리무버블 드라이브를 무효로 해, 디폴트로는 Fixed 드라이브와 CD-ROM 드라이브의 타입이 액티브하게 됩니다.
자동 재생 소개
Windows XP에 자동 실행이 도입되면서 일부 드라이브 유형에 대한 최종 단계 작업(7단계)이 응용 프로그램 실행에서 자동 실행으로 변경되었습니다.Windows Vista 에서는, 자동 실행 시스템이 미디어 처리의 모든 측면에 통합되어 자동 실행 태스크는 자동적으로 실행되지 않습니다.
기본 레지스트리 설정은 자동 실행을 시작한 드라이브에 이동식 드라이브를 추가합니다.Windows XP 이상에서는 Windows Server 2003을 제외하고 알 수 없는 드라이브 및 원격 드라이브 유형만 자동 실행을 위해 활성화되지 않습니다.
autorun.inf 파일의 처리는 각 Windows 버전 간에 매우 크게 변경됩니다.자세한 내용은 autorun.inf 문서를 참조하십시오.현재 Windows 7에서는 DRIVE_CDROM 유형의 드라이브만 자동 실행 작업을 지정하거나 더블 클릭 동작을 변경하거나 컨텍스트 메뉴를 변경할 수 있습니다.
레지스트리 설정
자동 실행은 Windows 레지스트리 값을 참조하여 특정 드라이브 또는 드라이브 유형에 대한 작업을 시작할지 여부를 결정합니다.이러한 값은 여러 가지 방법을 사용하여 변경할 수 있으며, 그 중 하나는 그룹 정책을 사용하는 것입니다.
주요 관련 레지스트리 엔트리 이름은 다음과 같습니다.NoDriveTypeAutoRun그리고.NoDriveAutoRun이러한 설정은 머신 단위 및 사용자 단위 설정에 모두 존재하며 레지스트리에 있는 위치와 우선순위는 아래에 자세히 설명되어 있습니다.
드라이브 종류
드라이브 유형은 다음과 [10]같이 유형 이름으로 구분됩니다.
| 유형명 | 가치 | 묘사 |
|---|---|---|
| 드라이브_불명 | 0x00000000 | 드라이브 유형을 확인할 수 없습니다(일반 드라이브). |
| 드라이브_NO_ROOT_DIR | 0x00000001 | 드라이브가 현재 유효하지 않습니다(마운트된 볼륨 없음). |
| 드라이브_REMOVABLE | 0x00000002 | 드라이브에 이동식 미디어(플로피 드라이브, USB 플래시 드라이브)가 있다. |
| 드라이브_고정 | 0x00000003 | 디스크를 드라이브에서 제거할 수 없습니다(하드 디스크/솔리드 스테이트 드라이브). |
| 드라이브_리모트 | 0x00000004 | 드라이브는 리모트(네트워크) 드라이브. |
| 드라이브_CD-ROM | 0x00000005 | 드라이브는 CD-ROM, DVD-ROM, 또는 BD-ROM 드라이브. |
| 드라이브_RAMDISK | 0x00000006 | 드라이브는 RAM 디스크. |
| 드라이브_미정_판정 | 0x00000007 | 드라이브는 아직 특정되지 않았다. |
| 드라이브_찾을 수 없음_찾을 수 없음 | 0x00000008 | 현재 드라이브에 액세스할 수 없습니다(분리된 드라이브). |
| [예약] | 0x00000009 | 이 값은 미래 테크놀로지용으로 예약되어 있습니다. |
레지스트리 용어
윈도우즈 레지스트리는 운영 체제의 구성 설정 및 옵션을 저장하는 계층 데이터베이스입니다.이 용어는 다소 오해의 소지가 있으므로 여기에 간략히 요약되어 있습니다.
레지스트리 키는 폴더와 비슷합니다.폴더에는 값 외에 서브키도 포함될 수 있으며 서브키도 포함될 수 있습니다.
레지스트리 값은 이름과 데이터 쌍으로 구성됩니다.Microsoft 의 메뉴얼에서는, 일반적으로 「엔트리」라고 하는 용어가 등가 용어로 사용되고 있습니다.또, 「데이터」에 「가치」를 사용합니다.혼란을 피하기 위해 이 문서에서는 이름-데이터 쌍을 나타낼 때 항상 "엔트리"라는 용어를 사용합니다.
일반적으로 언급되는2개의 레지스트리 키는 다음과 같습니다.HKEY_LOCAL_MACHINE시스템별 설정이 포함되어 있습니다.HKEY_CURRENT_USER에는 현재 로그온한 사용자에 대한 설정이 포함되어 있습니다.이들은 거의 항상 다음과 같이 약칭됩니다.HKLM그리고.HKCU각각 다음과 같다.머신의 사용자가 많을 수 있습니다.그들의 설정은, 다음의 장소에 보존됩니다.HKEY_USERS,HKCU실제로 적절한 장소에 대한 링크일 뿐입니다.HKEY_USERS.
레지스트리 설정 변경
레지스트리 설정은 GUI를 사용하여 직접 변경할 수 있습니다.regedit도구 또는 명령줄reg.exe효용.또한 확장자 유형이 .reg인 텍스트 [11]파일에 설정을 배치할 수도 있습니다.예를 들어 "mychanges.reg". 파일을 더블클릭하면 파일 설정이 레지스트리에 입력되며 권한이 허용됩니다.
그룹 정책을 사용하여 간접적으로 변경할 수 있습니다.그룹 정책은 로컬로 적용되며GPEdit.msc또는 도메인으로의 이행합니다.gpmc.msc.
레지스트리의 변경을 유효하게 하려면 , 로그아웃 하거나 컴퓨터를 재기동할 필요가 있습니다.
평가순서
그NoDriveAutoRun그리고.NoDriveTypeAutoRun레지스트리 엔트리는 사용자별 설정(HKEY_CURRENT_USER 아래)과 머신별 설정(HKEY_LOCAL_MACHINE 아래)의 2곳에 존재할 수 있습니다.HKEY_LOCAL_MACHINE 아래에 엔트리가 표시되는 경우 HKEY_CURRENT_USER 아래에 있는 대응하는 엔트리는 완전히 무시됩니다.데이터 값은 어떤 방식으로도 병합되지 않습니다.
자동 실행을 활성화할지 여부를 결정할 때 둘 다NoDriveAutoRun그리고.NoDriveTypeAutoRun레지스트리 엔트리가 참조됩니다.두 값 중 하나가 드라이브를 비활성화해야 함을 나타내는 경우 해당 드라이브에 대해 자동 실행이 비활성화됩니다.
따라서 다음 예시는 다음과 같습니다.
| HKEY_LOCAL_MACHINE | HKEY_CURRENT_USER | ||
|---|---|---|---|
| 드라이브 자동 실행 없음 | 드라이브 타입 자동 실행 없음 | 드라이브 자동 실행 없음 | 드라이브 타입 자동 실행 없음 |
| 0x08 | (존재하지 않음) | 0x03FFFFFF | 0x95 |
취득한 데이터 값NoDriveAutoRun0x08 입니다.드라이브 D와 데이터 값을 무효로 합니다.NoDriveTypeAutoRun는 0x95로 리무버블 드라이브 및 네트워크 드라이브를 비활성화합니다.사용자별NoDriveAutoRun엔트리는 사용되지 않습니다.
드라이브 타입 자동 실행 없음
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer | |||
| 엔트리명 | data 타입 | 범위 | 체납 |
|---|---|---|---|
NoDriveTypeAutoRun | 레지_DWORD | 0x00 ~ 0xFF | 0x95 또는 0x91 |
이 레지스트리 엔트리는 [12]지정된 유형의 모든 드라이브에서 자동 실행 기능을 비활성화하거나 활성화합니다.관련 자동 재생 그룹 정책의 설정을 반영합니다.유효한 데이터 범위는 0x00 ~0xFF 입니다(16진수 표기).엔트리가 없는 경우 기본 데이터 값은 사용되는 Windows 버전에 따라 0x95 또는 0x91 중 하나입니다.HKLM에 존재하는 엔트리는 HKCU에 존재하는 엔트리를 덮어씁니다.
입력 데이터는 비트 매핑된 값이며, 여기서 1로 설정된 비트는 특정 유형의 드라이브에서 자동 실행을 비활성화합니다.각 드라이브 유형의 비트 설정은 다음과 같습니다.
비트 번호 1은 사용되지 않으며 "알 수 없는" 유형은 두 번 표시됩니다.모든 비트를 1로 설정하면 16진수 값이 0xFF, 10진수 255가 되고 모든 유형의 드라이브에서 자동 실행이 비활성화됩니다.
이 엔트리의 디폴트 설정은,[9][13] 사용하고 있는 Windows 의 버전에 따라서 다릅니다.
| 운영 체제 | 디폴트 설정 |
|---|---|
| 윈도 7 | 0x91 |
| Windows Server 2008 | 0x91 |
| 윈도 비스타 | 0x91 |
| Windows Server 2003 | 0x95 |
| 윈도 XP | 0x91 |
| 윈도 2000 | 0x95 |
| Windows 95/98 | 0x95 |
드라이브 자동 실행 없음
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer | |||
| 엔트리명 | data 타입 | 범위 | 체납 |
|---|---|---|---|
NoDriveAutoRun | 레지_DWORD | 0x0 ~ 0x03꺼지다 | 0x0 |
이 레지스트리 엔트리는,[14] 개개의 드라이브에서 자동 실행 기능을 무효 또는 유효하게 합니다.그룹 정책과 관련되지 않으며 기본적으로는 존재하지 않습니다.엔트리가 없는 경우 데이터 값은 0으로 간주됩니다.HKLM에 존재하는 엔트리는 HKCU에 존재하는 엔트리를 덮어씁니다.
데이터는 32비트(DWORD) 비트맵 값이며, 하위 26비트는 A에서 Z까지의 26개의 드라이브 문자를 각각 나타내는 데 사용됩니다.따라서 유효한 데이터 범위는 0x0 ~0x03 입니다.FFFFF. 최하위 비트(오른쪽 가장 오른쪽 비트)는 드라이브 A를 나타내고 오른쪽에서 26번째 비트는 드라이브 Z를 나타냅니다.
비트를 1로 설정하면 특정 드라이브에서 자동 실행이 비활성화됩니다.예를 들어 데이터 값이 0x8(1000 바이너리)로 설정되어 있으면 드라이브 D에서 자동 실행이 비활성화됩니다.
그룹 정책
자동 실행에 사용할 수 있는 유일한 그룹 정책 설정은NoDriveTypeAutoRun레지스트리 엔트리정책은 HKLM 또는 [12][14]HKCU의 레지스트리 엔트리 위치를 반영하여 머신 단위 또는 사용자 단위로 사용할 수 있습니다.위에서 설명한 바와 같이 머신 단위 정책 설정은 무시됩니다.
정책이 활성화되면 그룹 정책에 의해NoDriveTypeAutoRun레지스트리에 등록합니다.정책이 [Disabled]또는 [Not configured]로 설정되어 있는 경우 그룹 정책은 이 엔트리를 [Registry for the Machine]정책(HKLM)에서 삭제하고 사용자 정책(HKCU)의 시스템 기본값으로 되돌립니다.그러면 "NoDriveTypeAutoRun" 섹션의 설명에 따라 시스템 기본값이 적용될 수 있습니다.
정책 이름, 위치 및 가능한 설정은 윈도우즈 버전에 따라 약간 다릅니다.설정 목록은 비교적 짧으며 항상 시스템 기본 설정에 추가됩니다.따라서, Windows 2000 에서는, 「자동 재생의 무효화」정책을 유효하게 해, CD-ROM 드라이브나 DVD 드라이브, 리무버블 드라이브, 네트워크 드라이브, 및 알 수 없는 타입의 드라이브에 대해서, 자동 실행(자동 재생과는 구별)을 무효로 합니다.
이 설정을 사용하여 기본적으로 비활성화되어 있는 드라이브에서 자동 실행을 활성화하거나 목록에 없는 드라이브에 대해 자동 실행을 비활성화할 수 없습니다.특정 드라이브 또는 드라이브 유형을 비활성화하거나 활성화하려면 레지스트리를 수동으로 편집해야 합니다.
Windows Server 2003, Windows XP 및 Windows 2000
시스템별 정책 위치는 다음과 같습니다.
- 그룹 정책 \ 컴퓨터 구성 \ 관리 템플릿 \ 시스템
사용자별 정책 위치는 다음과 같습니다.
- 그룹 정책 \ 사용자 설정 \ 관리 템플릿 \ 시스템
관련 정책은 "자동 재생 끄기"입니다.Windows 2000 에서는, 이 정책을 「자동 재생의 무효화」라고 부릅니다.
정책이 활성화되면 "모든 드라이브" 또는 "CD-ROM 드라이브"로 설정할 수 있습니다.후자의 설정은 위에서 설명한 것처럼 CD-ROM 드라이브를 비활성화된 기존 드라이브 유형 목록에 추가합니다.
Windows Vista, Windows Server 2008
시스템별 정책 위치는 [15]다음과 같습니다.
- 컴퓨터 구성 \ 관리 템플릿 \ Windows 컴포넌트 \ 자동 재생 정책
사용자별 정책 위치는 다음과 같습니다.
- 사용자 설정 \ 관리 템플릿 \ Windows 컴포넌트 \ 자동 재생 정책
관련 정책은 "자동 재생 끄기"이며 CD-ROM, DVD-ROM 및 이동식 드라이브 또는 모든 드라이브에 대해 설정할 수 있습니다.
Vista 와 Server 2008 [16]에서는, 다음의 2개의 관련 정책이 추가되었습니다.
- 자동 실행 기본 동작
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer엔트리명 data 타입 범위 체납 NoAutoRun레지_DWORD
- autorun.inf 파일에 있는 AutoRun 명령의 기본 동작을 설정합니다.
- Windows Vista 이전 버전에서는 autorun.inf에서 AutoRun 태스크를 지정하는 미디어가 삽입된 경우 기본 액션은 사용자 개입 없이 자동으로 프로그램을 실행하는 것이었습니다.Windows Vista 에서는 기본 동작은 AutoPlay를 호출하고 AutoRun 태스크를 대화상자 옵션 중 하나로 표시하는 것입니다.이것은 이 정책이 구성되지 않음 또는 :Disabled일 때의 동작이기도 합니다.
- 이 정책이 Enabled인 경우 동작을 다음 중 하나로 변경할 수 있습니다.
- autorun.inf 명령을 완전히 비활성화하거나
- 이전 Windows 버전에 따라 autorun.inf 명령을 자동으로 실행합니다.
- 항상 이 작업 수행 확인란을 설정하지 않음
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer엔트리명 data 타입 범위 체납 DontSetAutoplayCheckbox레지_DWORD
- 이 정책이 사용 가능한 경우 "항상 이 작업을 수행합니다." 대화상자가 표시될 때 자동 실행 대화상자의 체크박스는 기본적으로 설정되지 않습니다.
Windows 7, Windows Server 2008 R2
이러한 버전의 Windows에서는 autorun.inf 파일의 자동 실행 작업 설정, 더블 클릭 동작 변경 또는 컨텍스트 메뉴 변경 기능은 DRIVE_CDROM 유형의 드라이브로 제한됩니다.이 동작을 재정의하는 정책 설정은 없습니다.정책의 위치와 설정은, 상기의 Windows Vista, Windows Server 2008 에 준거하고 있습니다.다만,[16] 다음의 항목이 추가됩니다.
- 볼륨이 없는 장치에 대해 자동 재생 해제
HKLM\Software\Policies\Microsoft\Windows\Explorer
HKCU\Software\Policies\Microsoft\Windows\Explorer엔트리명 data 타입 범위 체납 NoAutoplayfornonVolume
- 이 정책을 활성화하면 볼륨이 없는 장치에 대해 자동 실행이 비활성화됩니다.
자동 실행 동작 변경
Shift 키 누르기
키를 실행 시퀀스의 특정 시점에서 누르고 있으면 Windows Vista는 자동 실행 설정에 관계없이 [8]자동 실행 대화 상자를 호출합니다.이전 버전의 Windows에서는 자동 실행 작업이 실행되지 않습니다.오른쪽 Shift 키를 8초간 누르면 FilterKeys가 [6]호출되므로 왼쪽 Shift 키를 사용해야 합니다.
Windows가 Shift를 확인할 때까지 Shift를 누르고 있어야 하기 때문에 Shift가 활성화되기까지는 상당한 시간이 걸릴 수 있습니다.소요시간은 주로 새로운 하드웨어를 인식하는 시간과 CD-ROM을 회전시키는 데 걸리는 시간에 따라 달라집니다.이 방법에 의존하는 것은 안전하지 않다.
자동 삽입 알림
특정 레지스트리 엔트리를 변경하여 특정 미디어 변경 알림 이벤트를 억제할 수 있습니다.「미디어 변경 통지」는 일반적인 용어입니다.CD-ROM 드라이브의 경우, 특정 용어는 「자동 삽입 통지」입니다.
HKLM\SYSTEM\CurrentControlSet\Services\Cdrom | |||
| 엔트리명 | data 타입 | 범위 | 체납 |
|---|---|---|---|
AutoRun | 레지_DWORD | 0 또는 1 | 1 |
CD-ROM 드라이브의 경우 이 레지스트리 엔트리의 값을 0으로 변경하면 CD-ROM 드라이브에 대해서만 자동 [17]삽입 알림이 비활성화됩니다.Windows 를 재기동할 필요가 있습니다.
| data 값 | 의미. |
|---|---|
0 | MCN 메시지를 보내지 않음 |
1 | MCN 메시지를 보냅니다. |
Windows 95/98/ME 에서는, 이 설정을 디바이스 매니저로 변경할 수 있습니다.디바이스 매니저는 제어판의 시스템 아이콘에서 액세스 할 수 있습니다.
레지스트리 엔트리의 이름은 "AutoRun"이지만 MCN 메시지만 억제됩니다.MCN 메시지는 AutoRun 시작을 트리거하지만 탐색기 셸에 뷰와 내용을 업데이트하도록 지시합니다.
따라서 CD-ROM 드라이브에 대한 자동 실행을 사용하지 않도록 설정합니다.그러나 이제 새 CD를 삽입할 때 탐색기는 보기를 업데이트하지 않습니다. 를 누르거나 탐색기 메뉴에서 보기/새로 고침을 선택할 때까지 이전 CD의 내용을 표시합니다.이로 인해 사용자가 심각한 혼란을 겪을 수 있습니다.
따라서 미디어 변경 알림 메시지는 다른 대안이 없는 한 비활성화해서는 안 됩니다. 그룹 정책 또는 레지스트리를 사용하여 개별 드라이브에 대해 자동 실행을 비활성화할 수 있습니다.
HKLM\SYSTEM\CurrentControlSet\Services\Cdrom | |
| 엔트리명 | data 타입 |
|---|---|
AutoRunAlwaysDisable | REG_MULTI_SZ |
이 엔트리는 CD-ROM 드라이브 [18]유형(주로 CD-ROM 체인저)에 대한 MCN 메시지를 억제하기 위해 사용됩니다.데이터는 디바이스 식별자 세트이며, 디바이스 자체에 의해 시스템에 보고된 식별자와 일치합니다.
이 엔트리의 기본값은 Microsoft 테스트에서 자동 실행을 지원할 수 없는 것으로 식별된 제품으로 구성됩니다.이 엔트리는 기본값에서 변경할 수 없습니다.
그룹 정책 편집
그룹 정책 섹션에 설명된 방법을 사용하여 특정 드라이브 및 드라이브 유형에서 자동 실행을 억제할 수 있습니다.그러나 Windows XP Home[19] 버전에서는 그룹 정책 편집기를 사용할 수 없으며 드라이브 선택 기능을 세부적으로 제공하지 않습니다.
그러나 그룹 정책은 전체 윈도우즈 도메인에서 자동 실행을 사용하지 않도록 설정하는 데 사용할 수 있는 방법입니다.
레지스트리 파일
레지스트리 설정 파일을 작성할 수 있습니다.이 파일을 실행하면 레지스트리에서 원하는 변경이 이루어집니다.
Windows 레지스트리 에디터 버전 5.00 [HKEY_LOCAL_MACHINE\Software\Microsoft\]Windows\CurrentVersion\정책\Explorer] "NoDriveTypeAutoRun"=dword:000000ff
|
위의 예에서 자동 실행은 모든 드라이브와 모든 사용자에 대해 비활성화됩니다.이 예는 Administrator로 실행해야 하며 설정을 완전히 적용하려면 재부팅해야 합니다.
초기화 파일 매핑
Windows Vista 이후의 Windows 버전에는, autorun.inf 파일의 읽기를 금지하도록 설정할 수 있는 「자동 실행을 위한 디폴트 동작」이라고 하는 정책 설정이 있습니다.이를 통해 멀웨어가 autorun.inf 기능을 사용하여 시스템을 감염시키는 특정 시나리오를 피할 수 있습니다.이전 버전의 Windows에는 이 정책 설정이 없지만 초기화 파일 매핑을 사용하면 효과적인 [20][21]해결 방법이 있습니다.
autorun.inf 파일은 표준 Windows INI 파일이기 때문에 Windows에서 설정을 가져올 때 적절한 API 호출이 사용됩니다.이러한 API 콜은 INI 파일 매핑 방식을 사용하여 리다이렉트할 수 있습니다.다음의 레지스트리 파일은, 모든 autorun.inf 의 설정이, 으로부터만 취득되는 회피책을 나타내고 있습니다.HKEY_LOCAL_MACHINE\Software\DoesNotExist레지스트리 키:
Windows 레지스트리 에디터 버전 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\]Windows NT\Current Version\Ini File Mapping \Autorun.inf] @="@SYS: 존재하지 않음" |
이 키는 존재하지 않기 때문에 autorun.inf 파일에 설정 정보가 없는 것과 같습니다.이는 모든 장소와 드라이브에 있는 모든 autorun.inf에 적용됩니다.
정책 설정 또는 이 회피책 중 하나가 자동 실행을 디세블로 하기 때문에 설치 CD 또는 DVD 자동 실행에서 소프트웨어 설치는 더 이상 자동이 아닙니다.CD의 autorun.inf 파일을 표시하고 적절한 설치 프로그램을 수동으로 실행해야 합니다.
문제 및 보안
마이크로소프트(MS)는 "사용자가 알지 못하거나 동의 없이 코드가 실행될 수 있기 때문에 보안상의 문제로 인해 이 기능을 비활성화하는 것이 바람직할 수 있다"고 인식하고 레지스트리 [13]편집에 익숙하지 않은 사용자를 위해 자동 실행을 비활성화하는 "수정"을 발표했다.
자동 실행 비활성화 버그
Windows 2000에서 Windows Server 2008까지 AutoRun 관련 레지스트리 엔트리가 올바르게 처리되지 않아 보안 취약성이 [22]발생하였습니다.Windows 95 및 Windows 98은 영향을 받지 않았다.
자동 실행이 비활성화되어 있는 경우, Windows 는 레지스트리 체크보다 액티베이션시퀀스를 진행하지 않습니다.단, 발견된 autorun.inf를 해석하여 AutoPlay를 호출하거나 응용 프로그램을 실행하는 최종 액션을 제외한 모든 작업을 수행합니다.
이를 통해 사용자는 autorun.inf를 사용하여 더블클릭 및 상황별 메뉴 동작을 변경하는 멀웨어 공격을 받을 수 있습니다.드라이브 아이콘을 두 번 클릭하면 기기가 감염됩니다.컨텍스트 메뉴에서 "익스플로러" 또는 "열기" 옵션을 오른쪽 클릭하여 선택하는 것은 적절한 autorun.inf 엔트리로 이러한 메뉴 항목을 처리할 수 있으므로 회피책이 아닙니다.
이 버그는 Microsoft Knowledge Base 문서967715에 [13]기재되어 있는 여러 보안 업데이트로 수정되었습니다.
기타 문제
- Active Directory 도메인에 컴퓨터를 추가하면
NoDriveTypeAutoRun값은 기본값으로 [23]리셋될 수 있습니다.이는 도메인의 그룹 정책 설정이 적용되기 때문입니다.이것은 버그가 아닙니다. - 일부 프로그램에서는 자동 실행 레지스트리 설정을 의도적으로 변경할 수 있습니다.Roxio와 같은 CD 쓰기 소프트웨어의 초기 버전에서는 이러한 방식으로 [24]설정이 변경되는 것으로 알려져 있습니다.
- [ Group Policy ]의 [Restrict CD-ROM access to local-log-on user only](CD-ROM 액세스를 로컬로 로그온한 사용자만 제한) 보안 옵션인 경우:
- 컴퓨터 구성\Windows 설정\보안 설정\로컬 정책\보안 옵션
를 켜면(활성화), 자동 실행이 [24]작동하지 않을 수 있습니다.
CD-ROM에 대한 "로컬 시스템" 액세스가 [25]거부되기 때문에 Windows Installer도 오작동합니다.
이 그룹 정책 설정은 레지스트리 엔트리의 값을 반영합니다.
0으로 설정해야 합니다.HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon엔트리명 data 타입 범위 체납 allocatecdromsREG_SZ0 또는 10 - RealPlayer 10은 자동 실행 또는 자동 실행이 [26][27][28]전혀 작동하지 않는 것처럼 보일 정도로 자동 실행 기능을 방해합니다.
공격 벡터
자동 실행 기능은 한동안 멀웨어 벡터로 사용되어 왔습니다.Windows Vista 이전에는 CD-ROM 드라이브 타입의 디폴트 액션은 프롬프트나 경고 없이 autorun.inf 파일의 지시에 따르는 것이었습니다.이것에 의해, 부정한 CD-ROM이 감염 벡터의 하나가 될 가능성이 있습니다.
같은 카테고리에 혼재 콘텐츠 CD-ROM이 있습니다.사용자가 소프트웨어를 전혀 포함하지 않을 것으로 예상되는 오디오 CD에는 autorun.inf가 있는 데이터 섹션을 포함할 수 있습니다.Sony BMG와 같은 일부 회사는 이 벡터를 사용하여 오디오 트랙의 복사를 방지하는 멀웨어를 설치했습니다.
U3 지원 플래시 드라이브는 CD-ROM 장치를 에뮬레이트하여 Windows가 에뮬레이트된 CD-ROM에 있는 autorun.inf 명령을 실행하도록 할 수도 있습니다.
Huawei E220 HSDPA 모뎀과 같은 장치는 모뎀 자체의 드라이버를 자동으로 설치하기 위해 이 방법을 사용합니다.단, 소스 불명의 플래시 드라이브를 접속하는 것은 현명하지 못한 조치입니다.USB Switchblade 및 이와 유사한 툴은 U3 플래시 드라이브 공격을 가볍게 만들었습니다.스크립트 베이스의 공격을 간단하게 기술할 수 있기 때문에, 안티바이러스 소프트웨어는 데이터와 패스워드의 도용을 막는 데 효과적이지 않을 수 있습니다.
표준 플래시 드라이브를 사용하면 소셜 엔지니어링 공격을 통해 사용자가 AutoPlay 대화 상자의 해당 항목을 클릭하도록 유도할 수 있습니다.무료 게임이나 포르노를 약속하는 매력적인 액션 스트링은 많은 이용자들을 함정에 빠뜨릴 것이다.언제든지 드라이브 아이콘을 두 번 클릭하면 autorun.inf가 자동으로 사용되므로 고급 사용자가 더 많이 빠질 수 있습니다.
사용자는 누구나 AutoPlay를 구성하여 다양한 결정을 내릴 수 있습니다. AutoPlay 대화 상자에서 적절한 상자를 선택하면 플래시 드라이브 멀웨어가 자동으로 실행됩니다.
자동 실행 악성 프로그램은 하드 드라이브,[29] 액자 및 기타 디지털 장치를 [30]사용하도록 확장되었습니다.외부 장치를 다룰 때 주의가 보안 우선 사항입니다.AutoRun 및 USB 플래시 드라이브를 통한 악성 프로그램 감염의 확산은 2011년 상반기에 전 세계 6억 대 이상의 시스템에서 데이터를 분석한 2011년 Microsoft[31] 연구에서 입증되었습니다.연구 결과, Windows 시스템의 모든 악성 프로그램 감염의 26%가 Microsoft Windows의 AutoRun 기능을 이용하는 USB 플래시 드라이브 때문인 것으로 나타났습니다.이 결과는 바이러스 대책 회사 ESET가 가장 일반적으로 검출한 멀웨어를 월별로 보고하는 것과 같은 기타 통계와 일치합니다.[32]예를 들어 autorun.inf의 남용은 2011년 상위 10대 위협 중 첫 번째입니다.
공격 경감
다음과[33] 같은 기본적인 보안 예방 조치와 더불어
그룹 정책 및 레지스트리 설정을 적절히 사용함으로써 이러한 공격에 대한 노출을 최소화할 수 있습니다.다음 보안 정책은 이 문서에서 설명하는 정책의 요약입니다.
- 자동 실행을 비활성화합니다(단, 자동 실행 비활성화 버그 참조).
- autorun.inf 명령을 비활성화하려면 Vista에서 "AutoRun을 위한 기본 동작" 그룹 정책(위 참조)을 사용합니다.
- 초기화 파일 매핑을 사용하여 autorun.inf 섹션을 비활성화합니다.
- Windows 7 에서는, autorun.inf 파일의 자동 실행 태스크등의 애플리케이션을 지정할 수 있습니다.Windows XP 이후는 업데이트 시 동일하게 동작하도록 패치를 적용할 수 있습니다.
KB9710292011년 2월에 이 패치가 공식 Windows Update [35]채널에 추가되었습니다.[34]Windows 7 의 자동 실행 태스크 동작은, 현재 버전의 Windows OS 의 디폴트가 됩니다.
또, Microsoft 에서는, 주로 Conficker 웜의 공격시에 다음의 조작을 추천 하고 있습니다.
- 다음 방법으로 네트워크 공유로부터의 autorun.inf 호출을 방지합니다.[13]
- 매핑된 네트워크 드라이브의 루트에서 기존 autorun.inf 파일 삭제
- 연결된 네트워크 드라이브의 루트에 대한 생성 권한 거부
- 다음 방법으로 USB 저장 장치를 사용하지 않도록 합니다.
「 」를 참조해 주세요.
레퍼런스
- ^ a b c 자동 실행과 자동 실행의 차이점은 무엇입니까? Microsoft, Windows Vista 도움말
- ^ CD-ROM 삽입 또는 삭제 알림 수신 방법, Microsoft, Knowledge Base
- ^ 미디어 삽입 또는 삭제 검출, Microsoft, MSDN 라이브러리
- ^ Register Device Notification 함수, Microsoft, MSDN 라이브러리
- ^ 자동 실행 지원 응용 프로그램, Microsoft, MSDN 라이브러리 생성
- ^ a b c d 자동 실행, Microsoft, MSDN 라이브러리 활성화 및 비활성화
- ^ IQuery Cancel AutoPlay 인터페이스, Microsoft, MSDN 라이브러리
- ^ a b 자동 재생: 질문과 대답, Microsoft, Windows Vista 도움말
- ^ a b autorun.inf 파일, Microsoft, Knowledge Base 테스트 방법
- ^ GetDriveType 함수, Microsoft, MSDN 라이브러리
- ^ a b 등록 엔트리 파일, Microsoft, Knowledge Base 사용 방법
- ^ a b Windows 2000 레지스트리: NoDriveTypeAutoRun, Microsoft, TechNet
- ^ a b c d Windows, Microsoft, Knowledge Base에서 자동 실행 기능을 비활성화하는 방법
- ^ a b Windows 2000 레지스트리: NoDriveAutoRun, Microsoft, TechNet
- ^ Windows Vista 보안 가이드, 제3장, Microsoft, TechNet
- ^ a b Windows 및 Windows Server, Microsoft, 다운로드, Excel 스프레드시트용 그룹 정책 설정 참조.
- ^ Windows 2000 레지스트리: 자동 실행, Microsoft, TechNet
- ^ Windows 2000 레지스트리: AutoRunAlwaysDisable, Microsoft, TechNet
- ^ Windows XP Pro 리소스 키트, Windows XP Home Edition과의 차이점, Microsoft, TechNet
- ^ 메모리 스틱 웜 2011-10-31 Wayback Machine, Nick Brown 블로그에서 아카이브
- ^ 감염된 USB 플래시 드라이브로부터 보호하기 위해 Autorun을 비활성화하는 가장 좋은 방법 2013-06-06년 Wayback Machine에서 아카이브, Michael Horowitz - Defense Computing
- ^ Windows Vista가 NoDriveTypeAutoRun 레지스트리 값 US-CERT를 올바르게 처리하지 못함
- ^ NoDriveTypeAutoRun 서브키 값이 리셋됩니다...(Microsoft, 기술 자료).
- ^ a b 자동 실행 기능 또는 자동 실행 기능이 작동하지 않음... Microsoft, Knowledge Base
- ^ 「인스톨이 조기에 종료되었습니다」, Microsoft, Knowledge Base 가 표시됩니다.
- ^ 카메라 및 스캐너 마법사, 작동 중지, Gladiator 보안 채팅 포럼
- ^ 디지털 카메라, vista-xp 채팅 포럼에서 자동 재생이 작동하지 않음
- ^ 카메라 수리 방법자동 재생 다운로드, tech-archive.net 채팅 포럼
- ^ Maxtor HDD의 중국어 트로이 목마는 대만을 놀라게 한다, The Register, 2007년 11월 12일
- ^ 악성코드가 디지털 디바이스에 영향을 미치다, The Register, 2008년 1월 11일
- ^ Microsoft Security Intelligence Report Volume 11, 2011년 1월~6월
- ^ Global Threat Report, 2011년 12월
- ^ Win32/Conficker 웜, Microsoft, Knowledge Base에 대한 바이러스 경고
- ^ Windows, Microsoft, Knowledge Base에서 자동 실행 기능으로 업데이트
- ^ 보안 어드바이저리 967940 업데이트, Microsoft, 보안 응답 센터 블로그 상세 정보
- ^ 사용자가 USB 스토리지 디바이스에 접속하지 못하도록 하는 방법, Microsoft, Knowledge Base
- ^ Windows XP SP2, Microsoft, Knowledge Base 설치 후 이동식 스토리지 디바이스가 인식되지 않음
외부 링크
- 자동 실행 및 자동 실행 레퍼런스, Microsoft, MSDN 라이브러리
- 메모리 스틱 웜, Nick Brown 블로그
- 자동 실행 프로텍터: PC의 자동 실행 웜을 방지하고 이동식 장치가 다른 소스로부터 감염되지 않도록 보호하는 독립 실행형 소프트웨어입니다.
- Dan McCloy의 자동 실행 참조 가이드
- 보안 감시 아일랜드 호핑: TechNet Magazine, 벤더 Swag의 전염성 매력
- 그림 4: Microsoft Systems Journal, 1998년 9월 query cancellautoplay 예시 코드
- 자동 재생 복구 마법사, Microsoft 다운로드 센터
- 악성 USB 플래시 드라이브에 대한 방어 테스트, Computerworld 블로그, 2009년 1월 24일
- 감염된 USB 플래시 드라이브로부터 보호하기 위해 자동 실행을 비활성화하는 가장 좋은 방법, Computerworld 블로그, 2009년 1월 30일
- 자동 실행 바이러스 제거 방법
- Microsoft PowerToys, Microsoft, Tweak UI
- Microsoft Windows 의 자동 실행/자동 기동 기능에 관한 온라인 정보 자원
- 자동 실행 설정을 위한 AutoRunConf 단순 구성 도구.
- 드라이브의 자동 실행을 활성화/비활성화하는 방법(레지스트리 사용)
- 자동 실행 사용 안 함 Windows의 자동 실행/자동 실행 기능 켜기/끄기
- 자동 실행 메뉴 만들기 사용자 고유의 자동 실행 메뉴 만들기
