Compartir a través de


Regla DoubleFetch (wdm)

La regla DoubleFetch es una regla de seguridad importante que comprueba que un controlador tiene acceso seguro a los búferes que se pasan al espacio de usuario a través de IRP. La manera adecuada de enviar datos entre un controlador y un componente en modo de usuario se describe en Uso de E/S directa ni almacenada en búfer.

Un controlador debe acceder a los búferes de datos siguiendo las directrices y procedimientos recomendados descritos en Métodos para acceder a los búferes de datos.

Esta regla busca la captura doble de punteros de memoria en modo de usuario. El doble acceso al modo kernel de la memoria del modo de usuario puede provocar un problema de seguridad de condición de carrera. Al acceder a los datos del modo de usuario, el código del modo kernel debe realizar una copia de los datos del modo de usuario localmente y evitar el acceso a los datos del modo de usuario varias veces. Al no hacerlo, se produce un tipo de problema conocido como "captura doble", donde los datos pueden cambiar después de que se haya accedido por primera vez.

Esta regla está disponible a partir de Windows 10 WDK, compilación 20236. Esta regla solo está disponible para WDM y tipos de controladores genéricos .

Modelo de controlador: WDM, Genérico

Cómo probar

En tiempo de compilación:

  1. Ejecute el Comprobador de controladores estáticos y especifique la regla de captura doble .

  2. Siga estos pasos (que se encuentran en Uso del comprobador de controladores estáticos para buscar defectos en controladores de Windows) para ejecutar un análisis del código:

Para obtener más información, vea Usar comprobador de controladores estáticos para buscar defectos en controladores.