¿Cómo protege Windows contra un subproceso en modo de usuario al hacer una transición arbitraria de la CPU al modo kernel?¿Cómo protege Windows la transición al modo kernel?
yo entendemos que estas cosas son ciertas:
- hilos de modo de usuario realmente hacer la transición a modo de núcleo cuando una llamada al sistema se realiza a través NTDLL.
- La transición al modo kernel se realiza mediante instrucciones específicas del procesador.
¿Qué tiene de especial estas llamadas de sistema a través de NTDLL? ¿Por qué el hilo del modo de usuario no puede falsificarlo y ejecutar las instrucciones específicas del procesador para pasar al modo kernel? Sé que me falta una pieza clave de la arquitectura de Windows aquí ... ¿qué es?
El subproceso de modo de usuario puede simularlo, pero ¿cómo sería eso diferente a usar ntdll.dll? Agregue a las preguntas más información sobre por qué esto le preocupa. –
Creo que al OP le preocupa la transición al anillo 0 y luego ejecutar código no-O/S arbitrario mientras está en el anillo 0. – ChrisW
Windows realiza la validación en sus parámetros expuestos (a modo de usuario). No puede * pasar datos inválidos sin que lo sepa. Sí, hay casos de esquina pasados por alto. Solo busca vulnerabilidades de escalada de privilegios locales. Hay un montón de ellos – unixman83