AutoRun y la función complementaria AutoPlay son componentes del sistema operativo Microsoft Windows que dictan qué acciones toma el sistema cuando se monta una unidad .
AutoRun se introdujo en Windows 95 para facilitar la instalación de aplicaciones para usuarios no técnicos y reducir el costo de las llamadas de soporte de software. Cuando una configuración apropiada de CD-ROM se inserta en una unidad de CD-ROM, Windows detecta la llegada y verifica el contenido de un archivo especial que contiene un conjunto de instrucciones. Para un CD que contiene software, estas instrucciones normalmente inician la instalación del software desde el CD-ROM en el disco duro. Para maximizar la probabilidad de éxito de la instalación, AutoRun también actúa cuando se accede a la unidad (" doble clic ") en el Explorador de Windows (o "Mi PC").
Hasta la introducción de Windows XP , los términos AutoRun y AutoPlay se usaban indistintamente, los desarrolladores a menudo usaban el primer término y los usuarios finales el segundo. Esta tendencia se refleja en la configuración de la política de Windows denominada Reproducción automática que cambia las entradas del Registro de Windows denominadas Ejecución automática, y en el autorun.inf
archivo que hace que se agregue " Reproducción automática" a los menús contextuales de las unidades . La terminología tuvo poca importancia hasta la llegada de Windows XP y su incorporación de una nueva función para ayudar a los usuarios a seleccionar las acciones adecuadas cuando se detectan nuevos medios y dispositivos. Esta nueva función se denominó Reproducción automática y se creó una diferenciación entre los dos términos. [1]
AutoRun, una característica del Explorador de Windows (en realidad del dll shell32 ) introducida en Windows 95, permite que los medios y dispositivos ejecuten programas mediante el uso de un comando listado en un archivo llamado autorun.inf
, almacenado en el directorio raíz del medio.
Usado principalmente en CD-ROM de instalación, las aplicaciones llamadas suelen ser instaladores de aplicaciones. El archivo autorun.inf también puede especificar un icono que representará el dispositivo visualmente en el Explorador junto con otras funciones avanzadas. [1]
Los términos Ejecución automática y Reproducción automática tienden a usarse indistintamente cuando se hace referencia a la acción de inicio, la acción que detecta y comienza a leer los volúmenes descubiertos . La ilustración del diagrama de flujo en el artículo de reproducción automática muestra cómo la ejecución automática se posiciona como una capa entre la reproducción automática y el servicio de detección de hardware de Shell y puede ayudar a comprender la terminología. Sin embargo, para evitar confusiones, este artículo utiliza el término Ejecución automática cuando se refiere a la acción de inicio.
Auto-reproducción
Reproducción automática es una función introducida en Windows XP que examina los medios y dispositivos extraíbles y, basándose en contenido como imágenes, archivos de música o video, inicia una aplicación adecuada para reproducir o mostrar el contenido. [1] Si está disponible, la configuración en un archivo autorun.inf se puede agregar a las opciones presentadas al usuario.
AutoPlay se basa en un conjunto de aplicaciones de control registradas con el sistema AutoPlay. Cada tipo de medio (imágenes, música, video) puede tener un conjunto de controladores registrados que pueden encargarse de reproducir o mostrar ese tipo de medio.
Cada dispositivo de hardware puede tener una acción predeterminada que se produzca al descubrir un tipo de medio en particular, o el cuadro de diálogo Reproducción automática puede indicarle al usuario qué acción tomar.
Activación de AutoRun
La secuencia de ejecución automática comienza con el descubrimiento inicial de un nuevo dispositivo o un nuevo medio. A continuación, se produce la notificación de las partes interesadas, de las cuales el shell del Explorador de Windows es de interés principal. Después de verificar ciertas configuraciones del Registro para ver si AutoRun puede continuar, puede ocurrir el análisis de un autorun.inf opcional y se toman las acciones necesarias.
La secuencia inicial se maneja de manera muy similar en todas las versiones de Windows desde Windows 95. Sin embargo, la forma en que se lee y se actúa sobre el archivo autorun.inf y el nivel de integración de AutoRun con AutoPlay ha cambiado significativamente desde el momento en que se introdujo AutoPlay en Windows XP hasta el actual manejo en Windows 7 . En Windows 10 , Microsoft ha agregado la opción para habilitar la ejecución automática en su configuración. No solo los usuarios pueden encenderlo, sino que también pueden elegir dispositivos externos específicos para la reproducción automática.
Iniciación y notificación
Cuando un dispositivo con controladores compatibles con AutoRun recibe nuevos medios, se produce un evento de "Notificación de cambio de medios". El sistema operativo Windows notifica a las aplicaciones interesadas que se ha producido un cambio de dispositivo. El método de notificación utilizado puede cambiar según el tipo de dispositivo.
Si el dispositivo cambiado es un volumen (como un CD) o un puerto (como un puerto serie), Windows transmite una WM_DEVICECHANGE
notificación a todas las ventanas de nivel superior. [2] [3] Windows llama a esto una notificación "básica". Una ventana de nivel superior es una que es descendiente del escritorio.
Sin embargo, si el dispositivo cambiado no es uno de estos tipos, una aplicación puede usar la función RegisterDeviceNotification
[4] para registrarse y recibir notificaciones del dispositivo.
Un artículo en el sitio web de CodeProject, "Detección de inserción y / o eliminación de hardware" , con aclaraciones de un blog de Doran Holan es de particular interés técnico aquí.
Los dispositivos sin volumen son aquellos dispositivos que no aparecen como letras de unidad en "Mi PC". Estos no son manejados por ninguna parte de AutoRun - cualquier acción tomada para estos dispositivos se realiza mediante software específico del dispositivo o mediante AutoPlay. Consulte Reproducción automática # Dispositivos que no son unidades .
Cuando Explorer recibe una notificación de un cambio de volumen , realiza una serie de acciones: [5] [6]
- Comprueba si la ejecución automática se ha desactivado a través del Registro. Si AutoRun está deshabilitado para esa unidad o tipo de unidad, Explorer no continúa. Ha habido errores en esta área.
- Comprueba que el directorio raíz del medio insertado contiene un archivo autorun.inf, que se puede leer. Vea a continuación .
- Envía un
QueryCancelAutoPlay
mensaje a la ventana de primer plano. Una aplicación que haya registrado su interés en recibir este mensaje medianteRegisterWindowMessage
puede responder a este mensaje para detener la ejecución automática (y por lo tanto la reproducción automática) en este punto. Cualquier aplicación, en primer plano o no, también puede ser notificada usando la interfazIQueryCancelAutoPlay
COM [7] disponible en Windows XP y posteriores. - Altera los comportamientos del menú contextual y del doble clic . Cuando un usuario hace doble clic en el icono de la unidad en el Explorador o hace clic con el botón derecho para obtener un menú contextual, lo que sucede es totalmente programable mediante la configuración del archivo autorun.inf.
- Agrega un icono controlable autorun.inf y un texto descriptivo al icono de la unidad.
- Comprueba si la tecla está presionada. Si es así, Windows Vista (y versiones posteriores de Windows) invocará el cuadro de diálogo Reproducción automática independientemente de la configuración en contrario. [8] Las versiones anteriores de Windows no continuarán con el proceso. [6]⇧ Shift
- Finalmente, si se ha alcanzado este punto, ya sea:
- no realiza ninguna otra acción.
- ejecuta la "tarea de ejecución automática", la aplicación especificada opcionalmente en las teclas
open
oshellexecute
en la sección [autorun] de un autorun.inf . - invoca la reproducción automática.
- La elección que se haga depende de la versión de Windows en uso, las instrucciones del autorun.inf si están disponibles y el tipo de medio descubierto.
Comportamiento cambiante
Antes de la reproducción automática
En versiones de Windows anteriores a Windows XP, se leerá un archivo autorun.inf en cualquier tipo de unidad y se seguirán sus instrucciones. La tarea de ejecución automática, si se especifica, se ejecuta inmediatamente sin interacción del usuario. [9] Esto incluye los tipos de unidad DRIVE_REMOVABLE, DRIVE_FIXED y DRIVE_REMOTE .
AutoRun funcionará con unidades de red (el tipo de unidad DRIVE_REMOTE) que están asignadas a una letra de unidad. AutoRun también funcionará con unidades de disquete que se proporcionen con controladores compatibles con la ejecución automática. [6]
La configuración predeterminada del registro en las versiones de Windows anteriores a Windows XP (consulte NoDriveTypeAutoRun ), deshabilita las unidades remotas y extraíbles desde el inicio de la ejecución automática, dejando los tipos de unidades fijas y de CDROM activos de forma predeterminada.
Presentamos la reproducción automática
Con la introducción de la reproducción automática en Windows XP, la acción de la etapa final (etapa 7 anterior) para algunos tipos de unidades cambió de ejecutar una aplicación a invocar la reproducción automática. Desde Windows Vista, el sistema AutoPlay está integrado en todos los aspectos del manejo de medios y no hay ejecución automática de la tarea AutoRun.
La configuración predeterminada del Registro agrega unidades extraíbles a las que iniciaron la ejecución automática. En Windows XP y versiones posteriores, excepto Windows Server 2003, solo los tipos de unidad Desconocida y Remota no están activos para la ejecución automática.
El manejo del archivo autorun.inf cambia significativamente entre cada versión de Windows. Los detalles se pueden encontrar en el artículo autorun.inf . El manejo actual en Windows 7 es que solo las unidades de tipo DRIVE_CDROM pueden especificar una tarea de ejecución automática, alterar el comportamiento del doble clic o cambiar los menús contextuales.
Configuración del registro
AutoRun consulta los valores del Registro de Windows para decidir si iniciar acciones para cualquier unidad o tipo de unidad en particular. Estos valores se pueden cambiar mediante varios métodos, uno de los cuales es la directiva de grupo .
Los nombres principales de las entradas del Registro relevantes son NoDriveTypeAutoRun
y NoDriveAutoRun
. Estos existen en configuraciones por máquina y por usuario y su ubicación y prioridad en el Registro se describen con más detalle a continuación.
Tipos de unidad
Los tipos de unidad se distinguen por el nombre del tipo de la siguiente manera: [10]
Escribe un nombre | valor | Descripción |
---|---|---|
DRIVE_UNKNOWN | 0x00000000 | No se pudo determinar el tipo de unidad (unidad genérica) |
DRIVE_NO_ROOT_DIR | 0x00000001 | La unidad no es válida actualmente (no hay volúmenes montados) |
DRIVE_REMOVABLE | 0x00000002 | La unidad tiene medios extraíbles (unidad de disquete, unidad flash USB ) |
DRIVE_FIXED | 0x00000003 | El disco no se puede quitar de la unidad (disco duro / unidad de estado sólido) |
DRIVE_REMOTE | 0x00000004 | La unidad es una unidad remota (de red) |
DRIVE_CDROM | 0x00000005 | La unidad es una unidad de CD-ROM, DVD-ROM o BD-ROM |
DRIVE_RAMDISK | 0x00000006 | La unidad es un disco RAM |
DRIVE_NOT_DETERMINED | 0x00000007 | La unidad aún no se ha determinado |
DRIVE_NOT_FOUND | 0x00000008 | Actualmente no se puede acceder a la unidad (unidades separadas) |
[RESERVADO] | 0x00000009 | Este valor reservado para tecnologías futuras |
Terminología del registro
El Registro de Windows es una base de datos jerárquica que almacena opciones y opciones de configuración para el sistema operativo. La terminología es algo engañosa, por lo que se resume brevemente aquí.
Una clave de registro es similar a una carpeta que, además de los valores, cada clave puede contener subclaves que a su vez pueden contener subclaves, etc.
Un valor de registro consta de un par de nombre y datos. La documentación de Microsoft suele utilizar el término "entrada" como término equivalente. También usa "valor" para "datos" cuando es obvio lo que se quiere decir. Para evitar confusiones, este artículo siempre utiliza el término "entrada" cuando se refiere al par nombre-datos.
Dos claves de registro a las que se hace referencia con mucha frecuencia son las HKEY_LOCAL_MACHINE
que contienen configuraciones por máquina y las HKEY_CURRENT_USER
que contienen configuraciones para el usuario que ha iniciado sesión actualmente. Casi siempre se abrevian como HKLM
y HKCU
respectivamente. Puede haber muchos usuarios de una máquina; sus configuraciones están almacenadas HKEY_USERS
, en HKCU
realidad es solo un enlace al lugar apropiado en HKEY_USERS
.
Cambiar la configuración del registro
La configuración del registro se puede cambiar directamente mediante la regedit
herramienta GUI o la reg.exe
utilidad de línea de comandos. Las configuraciones también se pueden colocar en un archivo de texto , [11] nombrado con un tipo de extensión .reg. Por ejemplo, " mychanges.reg
". Cuando se hace doble clic en el archivo, la configuración del archivo se ingresa en el Registro, los permisos lo permiten.
Se pueden cambiar indirectamente mediante la política de grupo, aplicada localmente a una sola computadora con GPEdit.msc
o a un dominio con gpmc.msc
.
Puede que sea necesario cerrar la sesión o reiniciar la computadora para que los cambios en el Registro surtan efecto.
Orden de evaluación
Las entradas del Registro NoDriveAutoRun
y NoDriveTypeAutoRun
pueden existir en dos lugares, la configuración por usuario (en HKEY_CURRENT_USER) y la configuración por máquina (en HKEY_LOCAL_MACHINE). Si aparece una entrada debajo de HKEY_LOCAL_MACHINE, entonces cualquier entrada correspondiente debajo de HKEY_CURRENT_USER se ignora por completo. Los valores de los datos no se fusionan de ninguna manera.
Al decidir si activar la ejecución automática, se consultan tanto las entradas NoDriveAutoRun
como las del NoDriveTypeAutoRun
registro. Si cualquiera de los valores indica que una unidad debe estar deshabilitada, AutoRun está deshabilitada para esa unidad.
Así, en el siguiente ejemplo:
HKEY_LOCAL_MACHINE | HKEY_CURRENT_USER | ||
---|---|---|---|
NoDriveAutoRun | NoDriveTypeAutoRun | NoDriveAutoRun | NoDriveTypeAutoRun |
0x08 | (No presente) | 0x03FFFFFF | 0x95 |
el valor de datos tomado NoDriveAutoRun
es 0x08, deshabilitando la unidad D y el valor de datos tomado NoDriveTypeAutoRun
es 0x95, deshabilitando las unidades extraíbles y de red. La NoDriveAutoRun
entrada por usuario nunca se utiliza.
NoDriveTypeAutoRun
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer | |||
Nombre de la entrada | Tipo de datos | Distancia | Defecto |
---|---|---|---|
NoDriveTypeAutoRun | REG_DWORD | 0x00 a 0xFF | 0x95 o 0x91 |
Esta entrada del Registro deshabilita o habilita la función de ejecución automática en todas las unidades del tipo especificado. [12] Refleja la configuración de la Política de grupo de reproducción automática relevante. Los datos válidos van de 0x00 a 0xFF en notación hexadecimal . Si la entrada no está presente, el valor de datos predeterminado es 0x95 o 0x91 según la versión de Windows utilizada. Una entrada presente en HKLM anula cualquier entrada presente en HKCU.
Los datos de entrada son un valor de mapa de bits, donde un bit establecido en 1 deshabilita la ejecución automática en un tipo particular de unidad. La configuración de bits para cada tipo de unidad se muestra a continuación:
Tenga en cuenta que el bit número 1 no se utiliza y que el tipo "Desconocido" se representa dos veces. Establecer todos los bits en 1 daría un valor hexadecimal de 0xFF, 255 decimal y deshabilitaría la ejecución automática en todos los tipos de unidades.
La configuración predeterminada para esta entrada depende de la versión de Windows que se utilice: [9] [13]
Sistema operativo | Configuración predeterminada |
---|---|
Windows 7 | 0x91 |
Windows Server 2008 | 0x91 |
Windows Vista | 0x91 |
Windows Server 2003 | 0x95 |
Windows XP | 0x91 |
Windows 2000 | 0x95 |
Windows 95/98 | 0x95 |
NoDriveAutoRun
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer | |||
Nombre de la entrada | Tipo de datos | Distancia | Defecto |
---|---|---|---|
NoDriveAutoRun | REG_DWORD | 0x0 a 0x03FFFFFF | 0x0 |
Esta entrada del Registro deshabilita o habilita la función de ejecución automática en unidades individuales. [14] No está asociado con una política de grupo y no existe de forma predeterminada. El valor de los datos se toma como 0 si la entrada no está presente. Una entrada presente en HKLM anula cualquier entrada presente en HKCU.
Los datos son un valor de mapa de bits de 32 bits (DWORD), de los cuales los 26 bits inferiores se utilizan para representar cada una de las 26 letras de unidad de la A a la Z. Por lo tanto, el rango de datos válido es de 0x0 a 0x03FFFFFF. El bit menos significativo (el bit más a la derecha) representa la unidad A, y el bit 26 de la derecha representa la unidad Z.
Un bit establecido en 1 deshabilita la ejecución automática en una unidad en particular. Por ejemplo, si el valor de los datos se establece en 0x8 (1000 binarios), AutoRun está deshabilitado en la unidad D.
Política de grupo
La única configuración de directiva de grupo disponible para la ejecución automática afecta las NoDriveTypeAutoRun
entradas del registro. La política está disponible por máquina o por usuario, lo que refleja la ubicación de la entrada del Registro en HKLM o HKCU. [12] [14] Como se describió anteriormente , una configuración de política por máquina hará que se ignore la configuración de política por usuario.
Cuando una política está habilitada , la política de grupo agregará la NoDriveTypeAutoRun
entrada al registro. Si la política está deshabilitada o configurada como No configurada , la política de grupo elimina esta entrada del Registro para la política de la máquina (en HKLM) y la vuelve a establecer en el valor predeterminado del sistema para la política de usuario (en HKCU). Los valores predeterminados del sistema pueden tener efecto como se describe en la sección NoDriveTypeAutoRun .
Los nombres de las políticas, las ubicaciones y las posibles configuraciones varían ligeramente entre las versiones de Windows. La lista de configuraciones es relativamente corta y siempre es adicional a la configuración predeterminada del sistema. Por lo tanto, en Windows 2000, al habilitar la política "Desactivar reproducción automática" y configurarla en "Unidades de CD-ROM", se desactiva la ejecución automática (a diferencia de la reproducción automática) para unidades de CD-ROM y DVD, unidades extraíbles, unidades de red y unidades desconocidas. tipo.
Esta configuración no se puede utilizar para habilitar la ejecución automática en unidades en las que está deshabilitada de forma predeterminada o deshabilitar la ejecución automática para las unidades que no figuran en la lista. Para deshabilitar o habilitar unidades o tipos de unidades en particular, el Registro debe editarse manualmente.
Windows Server 2003, Windows XP y Windows 2000
La ubicación de la política por máquina es:
- Política de grupo \ Configuración del equipo \ Plantillas administrativas \ Sistema
La ubicación de la política por usuario es:
- Política de grupo \ Configuración de usuario \ Plantillas administrativas \ Sistema
La política relevante es "Desactivar reproducción automática". En Windows 2000, la política se llama "Desactivar reproducción automática".
Una vez que la política está habilitada, se puede configurar en "Todas las unidades" o "Unidades de CD-ROM". La última configuración agrega unidades de CD-ROM a la lista existente de tipos de unidades deshabilitadas como se describe anteriormente.
Windows Vista, Windows Server 2008
La ubicación de la política por máquina es: [15]
- Configuración del equipo \ Plantillas administrativas \ Componentes de Windows \ Políticas de reproducción automática
La ubicación de la política por usuario es:
- Configuración de usuario \ Plantillas administrativas \ Componentes de Windows \ Políticas de reproducción automática
La política relevante es "Desactivar reproducción automática" y se puede configurar para CD-ROM, DVD-ROM y unidades extraíbles o todas las unidades.
Se agregaron dos políticas relacionadas en Vista y Server 2008: [16]
- Comportamiento predeterminado para AutoRun
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
Nombre de la entrada Tipo de datos Distancia Defecto NoAutoRun
REG_DWORD
- Establece el comportamiento predeterminado de los comandos de ejecución automática que se encuentran en los archivos autorun.inf.
- Antes de Windows Vista, cuando se insertaba un medio que contenía un autorun.inf que especificaba una tarea de ejecución automática, la acción predeterminada era ejecutar automáticamente el programa sin la intervención del usuario. : Desde Windows Vista, el comportamiento predeterminado es invocar la reproducción automática y representar la tarea de ejecución automática como: una de las opciones de diálogo. Este es también el comportamiento cuando esta política no está configurada o: Desactivada.
- Si esta política está habilitada, el comportamiento se puede cambiar a:
- Desactive completamente los comandos autorun.inf o
- Ejecute automáticamente el comando autorun.inf según las versiones anteriores de Windows.
- No establezca la casilla de verificación Hacer siempre esto
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
Nombre de la entrada Tipo de datos Distancia Defecto DontSetAutoplayCheckbox
REG_DWORD
- Si esta política está habilitada, la casilla de verificación "Hacer siempre esto ..." en el cuadro de diálogo Reproducción automática no se establecerá: de forma predeterminada cuando se muestra el cuadro de diálogo.
Windows 7, Windows Server 2008 R2
En estas versiones de Windows, la capacidad de un archivo autorun.inf para establecer una tarea de ejecución automática, alterar el comportamiento del doble clic o cambiar los menús contextuales está restringida a las unidades de tipo DRIVE_CDROM. No hay configuraciones de política que anulen este comportamiento. Las ubicaciones y la configuración de las políticas son según Windows Vista, Windows Server 2008 anterior con la adición de: [16]
- Desactivar la reproducción automática para dispositivos sin volumen
HKLM\Software\Policies\Microsoft\Windows\Explorer
HKCU\Software\Policies\Microsoft\Windows\Explorer
Nombre de la entrada Tipo de datos Distancia Defecto NoAutoplayfornonVolume
- Si esta política está habilitada, la reproducción automática se deshabilitará para los dispositivos sin volumen .
Modificar el comportamiento de la ejecución automática
Presionando la tecla Shift
Si ⇧ Shiftse mantiene presionada la tecla en un punto determinado de la secuencia de ejecución, Windows Vista invoca el cuadro de diálogo Reproducción automática independientemente de la configuración de Reproducción automática en sentido contrario. [8] Las versiones anteriores de Windows no ejecutan la tarea de ejecución automática. Es esencial que la tecla Shift izquierda se use para este propósito, ya que al mantener presionada la tecla Shift derecha durante ocho segundos se invoca FilterKeys. [6]
Dado que Shift debe mantenerse presionado hasta que Windows lo compruebe, puede pasar un tiempo considerable antes de que sea efectivo. El tiempo que se tarda depende principalmente del tiempo necesario para reconocer el nuevo hardware y del tiempo que tardan los CD-ROM en girar. No es seguro confiar en este método.
Notificación de inserción automática
Ciertos eventos de Notificación de cambio de medios pueden suprimirse modificando determinadas entradas del Registro. "Notificación de cambio de medios" es el término genérico; para las unidades de CD-ROM, el término específico es "Notificación de inserción automática".
HKLM\SYSTEM\CurrentControlSet\Services\Cdrom | |||
Nombre de la entrada | Tipo de datos | Distancia | Defecto |
---|---|---|---|
AutoRun | REG_DWORD | 0 o 1 | 1 |
Para las unidades de CD-ROM, cambiar el valor de esta entrada del Registro a 0 desactivará la Notificación de inserción automática solo para las unidades de CD-ROM. [17] Será necesario reiniciar Windows.
Valor de los datos | Significado |
---|---|
0 | No envía un mensaje MCN |
1 | Envía un mensaje MCN |
En Windows 95/98 / ME, esta configuración se puede cambiar en el Administrador de dispositivos, accesible desde el icono Sistema en el Panel de control.
Aunque la entrada del Registro se denomina "Ejecución automática", solo suprime el mensaje MCN. El mensaje MCN activa el inicio de la ejecución automática, pero también indica al shell del explorador que actualice sus vistas y contenidos.
Por lo tanto, solo como efecto secundario, esto deshabilita la ejecución automática para unidades de CD-ROM. Sin embargo, Explorer ahora no actualizará su vista cuando se inserte un nuevo CD; mostrará el contenido del CD anterior hasta que F5se presione o se seleccione Ver / Actualizar en el menú del Explorador. Esto podría resultar en una gran confusión para los usuarios.
Por esta razón, el mensaje de notificación de cambio de medios no debe desactivarse a menos que no haya absolutamente ninguna alternativa; La ejecución automática se puede desactivar para unidades individuales mediante la política de grupo o el registro.
HKLM\SYSTEM\CurrentControlSet\Services\Cdrom | |
Nombre de la entrada | Tipo de datos |
---|---|
AutoRunAlwaysDisable | REG_MULTI_SZ |
Esta entrada se utiliza para suprimir el mensaje MCN para el tipo de unidad de CD-ROM enumerado específicamente, [18] principalmente cambiadores de CD-ROM. Los datos son un conjunto de identificadores de dispositivos, que coincide con los identificadores informados al sistema por los propios dispositivos.
El valor predeterminado para esta entrada consiste en productos identificados por las pruebas de Microsoft como incapaces de admitir AutoRun. Esta entrada no debe modificarse de su valor predeterminado.
Editar la política de grupo
La ejecución automática puede suprimirse en determinadas unidades y tipos de unidades mediante los métodos descritos en la sección Política de grupo . Sin embargo, el Editor de políticas de grupo no está disponible en las versiones de inicio de Windows XP [19] y no proporciona funciones de selección de unidades detalladas.
Sin embargo, la directiva de grupo sería el método aceptado para deshabilitar la ejecución automática en todo un dominio de Windows.
Archivos de registro
Se puede crear un archivo de configuración del Registro que, cuando se ejecuta, realiza los cambios deseados en el Registro.
Editor del registro de Windows, versión 5.00[ HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ policies \ Explorer] "NoDriveTypeAutoRun" = dword : 000000ff
|
En el ejemplo anterior, la ejecución automática estaría deshabilitada para todas las unidades y para todos los usuarios. Este ejemplo debería ejecutarse como administrador y sería necesario reiniciar para que la configuración surta efecto por completo.
Mapeo de archivos de inicialización
Windows Vista y las versiones posteriores de Windows tienen una configuración de política, "Comportamiento predeterminado para la ejecución automática", que se puede configurar para no permitir la lectura de un archivo autorun.inf en cualquier volumen. Esto evita ciertos escenarios en los que el malware aprovecha la funcionalidad autorun.inf para infectar una máquina. Las versiones anteriores de Windows no tienen esta configuración de política, pero el uso de la asignación de archivos de inicialización es una solución eficaz. [20] [21]
Como un archivo autorun.inf es un archivo INI estándar de Windows, Windows utiliza las llamadas a la API adecuadas cuando recupera su configuración. Estas llamadas a la API se pueden redirigir mediante el método de asignación de archivos INI. El siguiente archivo de registro ilustra la solución, donde todas las configuraciones de autorun.inf se toman únicamente de la HKEY_LOCAL_MACHINE\Software\DoesNotExist
clave de registro:
Editor del registro de Windows, versión 5.00[ HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ IniFileMapping \ Autorun.inf] @ = "@SYS: DoesNotExist" |
Como esta clave no existe, es como si el archivo autorun.inf no contuviera información de configuración. Es importante tener en cuenta que esto se aplica a cualquier autorun.inf en cualquier ubicación y en cualquier unidad.
Dado que la configuración de la política o esta solución alternativa deshabilitan la ejecución automática, la instalación de software desde un CD o DVD de instalación automática, obviamente, ya no será automática. Será necesario ver el archivo autorun.inf del CD y luego ejecutar el programa de instalación apropiado manualmente.
Problemas y seguridad
Microsoft reconoció que "debido a que el código puede ejecutarse sin el conocimiento o consentimiento del usuario, es posible que los usuarios deseen desactivar esta función por motivos de seguridad". y lanzó un "Fixit" para deshabilitar la ejecución automática para los usuarios que no se sienten cómodos con la edición del registro. [13]
El error de desactivación de AutoRun
Desde Windows 2000 hasta Windows Server 2008, las entradas del Registro relevantes para la ejecución automática no se manejaron correctamente, lo que generó una vulnerabilidad de seguridad. [22] Windows 95 y Windows 98 no se vieron afectados.
Cuando la ejecución automática está deshabilitada, Windows no debe continuar con la secuencia de activación más allá de la verificación del registro. Sin embargo, analiza cualquier autorun.inf encontrado y hace todo menos la acción final para invocar la reproducción automática o ejecutar una aplicación.
Esto deja al usuario expuesto a ataques de malware que utiliza autorun.inf para alterar los comportamientos del menú contextual y del doble clic. Hacer doble clic en el icono de la unidad infectará la máquina. Hacer clic con el botón derecho y seleccionar las opciones "Explorar" o "Abrir" del menú contextual no es una solución alternativa, ya que estos elementos del menú pueden ser cooptados por las entradas autorun.inf apropiadas.
Este error se corrigió en una serie de actualizaciones de seguridad, que se detallan en el artículo 967715 de Microsoft Knowledge Base [13].
Otros asuntos
- Si se agrega la computadora a un dominio de Active Directory, el
NoDriveTypeAutoRun
valor se puede restablecer a un valor predeterminado. [23] Esto se debe a que la configuración de la directiva de grupo en el dominio está en vigor. Esto no es un error. - Algunos programas pueden cambiar deliberadamente la configuración de AutoRun Registry. Se sabe que las primeras versiones de software de grabación de CD como Roxio cambian la configuración de esta manera. [24]
- Si la política de grupo "Restringir el acceso al CD-ROM solo al usuario que haya iniciado sesión localmente" en la opción de seguridad:
- Configuración del equipo \ Configuración de Windows \ Configuración de seguridad \ Políticas locales \ Opciones de seguridad
está activado (Activado), es posible que AutoRun no funcione. [24]
Los instaladores de Windows también funcionarán incorrectamente porque se denegará el acceso del "Sistema local" al CD-ROM. [25]
Esta configuración de directiva de grupo refleja el valor de la entrada del registro:
y debe establecerse en 0.HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
Nombre de la entrada Tipo de datos Distancia Defecto allocatecdroms
REG_SZ0 o 10 - RealPlayer 10 interfiere con la funcionalidad de reproducción automática en la medida en que puede parecer que la ejecución automática o la reproducción automática no funcionan en absoluto. [26] [27] [28]
Vectores de ataque
La funcionalidad AutoRun se ha utilizado como vector de malware durante algún tiempo. Antes de Windows Vista, la acción predeterminada con un tipo de unidad de CD-ROM era seguir las instrucciones del archivo autorun.inf sin mensajes ni advertencias. Esto convierte a los CD-ROM falsos en un posible vector de infección.
En la misma categoría se encuentran los CD-ROM de contenido mixto. Un CD de audio, que un usuario no esperaría que contenga ningún software, puede contener una sección de datos con un autorun.inf. Algunas empresas, como Sony BMG , han utilizado este vector para instalar malware que intenta proteger contra la copia de las pistas de audio.
Las unidades flash habilitadas para U3 , al emular una unidad de CD-ROM, también pueden hacer que Windows ejecute comandos desde autorun.inf que se encuentra en el CD-ROM emulado.
Los dispositivos como el módem Huawei E220 HSDPA utilizan válidamente este método para instalar automáticamente los controladores del módem. Sin embargo, conectar una unidad flash de una fuente desconocida es una medida imprudente. USB Switchblade y herramientas similares han hecho que los ataques con unidades flash U3 sean triviales. Dada la facilidad de escribir ataques basados en scripts , el software antivirus puede ser ineficaz para prevenir el robo de datos y contraseñas.
Con una unidad flash estándar, se pueden emplear ataques de ingeniería social para atraer a un usuario a hacer clic en el elemento apropiado en el cuadro de diálogo Reproducción automática. Una cadena de acción seductora que prometa juegos gratis o pornografía atraería a muchos usuarios a la trampa. En cualquier momento, al hacer doble clic en el ícono de la unidad se usará autorun.inf automáticamente, una trampa en la que los usuarios más avanzados podrían caer.
Cualquier usuario puede configurar la reproducción automática para tomar varias decisiones por ellos; Al marcar la casilla correspondiente en el cuadro de diálogo Reproducción automática, la ejecución de malware en la unidad flash se vuelve silenciosa y automática.
El malware AutoRun se ha ampliado para utilizar discos duros, [29] marcos de fotos y otros dispositivos digitales. [30] El cuidado al tratar con dispositivos externos es una prioridad de seguridad. La prevalencia de infección de malware mediante AutoRun y una unidad flash USB se documentó en un estudio de Microsoft de 2011 [31] que analizó datos de más de 600 millones de sistemas en todo el mundo durante la primera mitad de 2011. El estudio encontró que el 26 por ciento de todas las infecciones de malware de El sistema Windows se debió a que las unidades flash USB explotaban la función AutoRun en Microsoft Windows . Ese hallazgo estaba en línea con otras estadísticas, como el informe mensual del malware más comúnmente detectado por la compañía antivirus ESET, que enumera el abuso de autorun.inf como la primera entre las diez principales amenazas en 2011 [32].
Mitigación de ataques
Además de las precauciones de seguridad básicas, que incluyen [33]
- siguiendo el principio de privilegios mínimos al no ejecutar habitualmente con privilegios de administrador y
- aplicar todos los parches y actualizaciones de seguridad relevantes,
La exposición a estos ataques se puede minimizar mediante el uso apropiado de la configuración de la Política de grupo y el Registro. Las siguientes políticas de seguridad son un resumen de las que se describen en este artículo:
- Desactive la ejecución automática (pero vea el error de desactivación de la ejecución automática )
- Utilice la política de grupo "Comportamiento predeterminado para la ejecución automática" en Vista (ver más arriba ) para deshabilitar los comandos autorun.inf
- Utilice la asignación de archivos de inicialización para anular las secciones autorun.inf
- En Windows 7, solo las unidades de CD y DVD pueden especificar aplicaciones como la tarea Ejecución automática en el archivo autorun.inf. Windows XP y versiones posteriores se pueden parchear para que se comporten de la misma manera con la actualización
KB971029
. [34] En febrero de 2011, este parche se agregó al canal oficial de Windows Update . [35] El comportamiento de la tarea de ejecución automática de Windows 7 ahora se convierte en el predeterminado para todas las versiones actuales del sistema operativo Windows.
Además, Microsoft ha recomendado las siguientes acciones, principalmente durante los ataques del gusano Conficker :
- Evite la invocación de autorun.inf desde recursos compartidos de red mediante: [13]
- Eliminar cualquier archivo autorun.inf existente de la raíz de una unidad de red asignada
- Denegar derechos de creación a la raíz de una unidad de red asignada
- Evite el uso de dispositivos de almacenamiento USB mediante:
- Configuración de USB dentro del BIOS del sistema
- Configuración de registro adecuada como se describe en el artículo de la base de conocimientos
823732
[36] - Configurar los dispositivos USB para que sean de solo lectura para evitar la propagación de gusanos desconocidos (y el robo de datos patentados) [37]
Ver también
- Auto-reproducción
- autorun.inf
Referencias
- ^ a b c ¿Cuál es la diferencia entre Reproducción automática y Ejecución automática? , Ayuda de Microsoft, Windows Vista
- ^ Cómo recibir notificación de inserción o extracción de CD-ROM , Microsoft, Knowledge Base
- ^ Detección de inserción o eliminación de medios , Microsoft, MSDN Library
- ^ Función RegisterDeviceNotification , Microsoft, MSDN Library
- ^ Creación de una aplicación habilitada para ejecución automática , Microsoft, MSDN Library
- ^ a b c d Habilitación y deshabilitación de AutoRun , Microsoft, MSDN Library
- ^ Interfaz IQueryCancelAutoPlay , Microsoft, MSDN Library
- ^ a b Reproducción automática: preguntas frecuentes , Microsoft, Ayuda de Windows Vista
- ^ a b Cómo probar archivos autorun.inf , Microsoft, Knowledge Base
- ^ Función GetDriveType , Microsoft, MSDN Library
- ^ a b Cómo utilizar un archivo de entradas de registro , Microsoft, Knowledge Base
- ^ a b Registro de Windows 2000: NoDriveTypeAutoRun , Microsoft, TechNet
- ^ a b c d Cómo deshabilitar la función de ejecución automática en Windows , Microsoft, Knowledge Base
- ^ a b Registro de Windows 2000: NoDriveAutoRun , Microsoft, TechNet
- ^ Guía de seguridad de Windows Vista, Capítulo 3 , Microsoft, TechNet
- ^ a b Referencia de configuración de directiva de grupo para Windows y Windows Server , Microsoft, Descargas , Hojas de cálculo de Excel .
- ^ Registro de Windows 2000: AutoRun , Microsoft, TechNet
- ^ Registro de Windows 2000: AutoRunAlwaysDisable , Microsoft, TechNet
- ^ Kit de recursos de Windows XP Pro, diferencias con Windows XP Home Edition , Microsoft, TechNet
- ^ Gusanos de memoria extraíble Archivado el 31 de octubre de 2011 en Wayback Machine , el blog de Nick Brown
- ^ La mejor manera de deshabilitar la ejecución automática para protegerse de unidades flash USB infectadas. Archivado el 6 de junio de 2013 en Wayback Machine , Michael Horowitz - Computación defensiva
- ^ Windows Vista no puede manejar correctamente el valor de registro NoDriveTypeAutoRun , US-CERT
- ^ El valor de la subclave NoDriveTypeAutoRun se restablece ... , Microsoft, Knowledge Base
- ^ a b La función de ejecución automática o la función de reproducción automática no funcionan ... , Microsoft, Knowledge Base
- ^ Recibe un "La instalación finalizó prematuramente porque ..." , Microsoft, Knowledge Base
- ^ Asistente de cámara y escáner, dejó de funcionar , foro de chat de Gladiator Security
- ^ La reproducción automática no funciona con la cámara digital , foro de chat de vista-xp
- ^ Cómo reparar la descarga de reproducción automática de la cámara , foro de chat de tech-archive.net
- ^ El troyano chino en discos duros Maxtor asusta a Taiwán , The Register , 12 de noviembre de 2007
- ^ El malware se engancha en dispositivos digitales , The Register , 11 de enero de 2008
- ^ Volumen 11 del informe de inteligencia de seguridad de Microsoft, enero-junio de 2011.
- ^ Informe de amenazas globales, diciembre de 2011.
- ^ Alerta de virus sobre el gusano Win32 / Conficker , Microsoft, Knowledge Base
- ^ Actualización a la función de reproducción automática en Windows , Microsoft, Knowledge Base
- ^ Información más profunda sobre la actualización del Aviso de seguridad 967940 , blogs del Centro de respuesta de seguridad de Microsoft
- ^ ¿Cómo puedo evitar que los usuarios se conecten a un dispositivo de almacenamiento USB? , Microsoft, Base de conocimientos
- ^ Los dispositivos de almacenamiento extraíbles no se reconocen después de instalar Windows XP SP2 , Microsoft, Knowledge Base
enlaces externos
- Referencia de ejecución automática y reproducción automática , Microsoft, MSDN Library
- Gusanos de memoria extraíble , blog de Nick Brown
- Autorun Protector , un software independiente que evita que la PC se ejecute automáticamente con gusanos y protege el dispositivo extraíble para que no se infecte de otras fuentes.
- Guía de referencia de ejecución automática de Dan McCloy
- Security Watch De isla en isla: el atractivo contagioso del botín de proveedores , TechNet Magazine
- Figura 4: código de ejemplo de querycancelautoplay , Microsoft Systems Journal , septiembre de 1998
- Asistente de reparación de reproducción automática , Centro de descarga de Microsoft
- Pruebe sus defensas contra unidades flash USB maliciosas , blog Computerworld, 24 de enero de 2009
- La mejor manera de desactivar la ejecución automática para protegerse de unidades flash USB infectadas , blog de Computerworld, 30 de enero de 2009
- Cómo quitar el virus de ejecución automática
- Microsoft PowerToys , Microsoft, Tweak UI
- Recurso de información en línea sobre la función de ejecución automática / inicio automático de Microsoft Windows
- AutoRunConf herramienta de configuración simple para la configuración de ejecución automática .
- Cómo habilitar / deshabilitar la ejecución automática para una unidad (usando el registro)
- Deshabilitar la ejecución automática enciende / apaga la función de ejecución automática / reproducción automática de Windows
- Crear un menú de ejecución automática Cree su propio menú de ejecución automática