User mode vs Kernel mode
Diferencias entre Modo usuario y Modo Kernel
Los S.O Windows funcionan de dos modos principales:
User Mode
Es donde operan la mayoría de las aplicaciones y procesos de usuario. Las aplicaciones tienen acceso limitado a los recursos del sistema y deben interactuar con el S.O a través de interfaces de programación de aplicaciones (API). Estos procesos están aislados entre sí y no pueden acceder directamente al hardware ni a las funciones críticas del sistema. Sin embargo, en este modo, el malware puede manipular archivos, configuraciones de registro, conexiones de red y otros recursos accesibles para el usuario.
Kernel Mode
Es altamente privilegiado en Windows. El kernel tiene acceso sin restricciones a los recursos del sistema, hardware y a las funciones críticas. Los controladores de dispositivos, que facilitan la comunicación con los dispostivos de hardware, también se ejecutan en modo kernel. Si el malware opera en modo kernel, obtiene un control elevado y puede manipular el comportamiento del sistema, ocultar su presencia, interceptar llamadas al sistema y manipular los mecanismos de seguridad.

Componentes en modo usuario
Procesos de apoyo al sistema: Estos son componentes esenciales que proporcionan funcionalidades y servicios cruciales, como, procesos de inicio de sesión, Administrador de sesión y Administrador de control de servicios. Estos no son servicios pero son necesarios para el correcto funcionamiento del sistema (
winlogon.exe
,smss.exeservices.exe
).Procesos de servicio: Estos procesos alojan servicios de Windows como los servicios, y, por lo general en segundo plano, ejecutando tareas de acuerdo con su configuración y parámetros (
Windows Update ServiceTask SchedulerPrint Spooler
).Aplicaciones de usuario: Son los procesos credos por los programas de usuario, incluidas en aplicaciones de 32 bits y 64 bits. Interactúan con el S.O a través de APIs proporcionadas por Windows. Estas llamadas API se redirigen a NTDLL.DLL(Exporta la API nativa de Windows), lo que desencadena una transición del modo usuario al modo kernel, donde se ejecuta la llamada al sistema. A continuación el resultado se devuelve a la aplicación en modo usuario y se produce una transición de nuevo a modo usuario.
Subsistemas del entorno: Estos componentes son responsables de proporcionar entornos de ejecución para tipos de aplicaciones específicos de aplicaciones o procesos. Incluyen el subsistema Win32,POSIX y OS/2.
Subsistemas (DLLs): Estas bibliotecas de enlace dinámico traducen las funciones documentadas en llamadas internas apropiadas al sistema nativo, algunos ejemplos son (
NTDLL.DLLkernelbase.dlluser32.dllwininet.dlladvapi32.dll
).
Componentes en modo kernel
Son aquellas partes del sistema operativo que tienen acceso directo al hardware y a las estructuras de datos del kernel.
Executive: Se accede a esta capa de nivel superior a través de funciones (
NTDLL.DLLI/O ManagerObject ManagerSecurity Reference MonitorProcess Manager
) . Consta de componentes que administran los aspectos centrales del S.O, como las operaciones E/S, administración de objetos, seguridad y procesos. Primero se ejecutan algunas comprobaciones, y a continuación, pasa a la llamada al kernel o llama al controlador de dispositivo adecuado para realizar la operación solicitada.Kernel: Administra los recursos del sistema, proporcionando servicios a bajo nivel (
thread schedulinginterrupt and exception dispatchingmultiprocessor synchronization
).Device Drivers: Estos componentes de software permiten que el S.O interactúe con los dispositivos de hardware, sirven como intermediarios, lo que permite que administre y controle recursos de hardware y software.
Hardware Abstraction Layer (HAL): Este componente proporciona una capa de abstracción entre los dispositivos de hardware y el S.O. Permite a los desarrolladores interactuar con el hardware de una manera coherente e independiente de la plataforma.
Windowing and Graphics System (
Win32k.sys
): Es responsable de administrar la interfaz gráfica de usuario (GUI
) y representar los elementos visuales en la pantalla.
Última actualización