Nueva escandalosa forma de hackear el kernel que amenaza cualquier versión de Windows. Tarjei Mandt, un investigador de seguridad, de la empresa Antivirus Norman ASA, ha descubierto decenas de errores a nivel del Kernel de Windows (núcleo más profundo de Microsoft Windows) y ha asegurado que existe una técnica llamada CallBacks que permite a un Hacker atacar fácilmente cualquier versión de Windows y escalar privilegios logrando acceso al sistema aunque estén previamente limitados.
Tarjei Mandt, asegura que ha encontrado una manera de atacar los errores del kernel de Windows a través de una función denominada User Callbacks. La demostración de esta afirmación tendrá lugar la próxima semana en la Conferencia Black Hat (Sombreros Negros) 2011 en Las Vegas. El modo User Callbaks es un proceso esencial del sistema operativo que permite a Windows aprovechar la interfaz gráfica, cambiar las estructuras de las ventanas y mover objetos a través de ellas. El modo User CallBacks fue integrado en Windows hace ahora más de una década, y según parece fue incluido en el Kernel para no dar valor suficiente a algunos cambios y errores de codificación del sistema Windows y del subsistema de gráficos así como de otros componentes. 

La empresa Microsoft corrigió el pasado 30 de abril una serie de vulnerabilidades que permitían escalar  privilegios. También en la edición de actualizaciones de  este mes de julio corrigió otros defectos existentes que afectaban a nivel de kernel y que fueron solucionados con los parches de seguridad correspondientes. Sin embargo Tarjei Mandt comento que el tema de la Seguridad sigue pendiente de solución, porque muchos de los componentes de Windows utilizan el modo de User callbacks, en especial el subsistema de gráficos de Windows, y estas llamadas son por cierto bastante complejas.

«Hay un montón de cosas que podrían salir mal, porque todo depende de este diseño», dijo Mandt en una entrevista con los periodistas de la web SearchSecurity.com. «A pesar de que el número de fallos puede parecer alto, probablemente el número real sea mayor.»

De hecho, la cantidad de errores de codificación existentes podría ascender a cientos, dijo Mandt,. Lamentablemente los fallos se encuentran en todas las versiones de Windows. En un escenario real, un Hacker tendría por objetivo atacar una vulnerabilidad del explorador o un fallo de cualquier otra aplicación, pero en este caso el Hacker podrá aprovechar un ataque directo al kernel mediante el proceso del User Callback. El fallo es fácil de explotar, dijo Mandt, ya que su aplicación tiene una gran flexibilidad en la manipulación de las APIs gráficas. Una vez que ha sido aprovechado con éxito, de hecho es fácil para hacker, hacerse con el control de la memoria que apunta hacia el kernel, dijo. 

Los sistemas operativos utilizan el CallBack (devoluciones de llamadas), pero por lo general son asíncronas y no interrumpen la ejecución del Kernel, dijo Mandt. Sin embargo en el caso del diseño de Windows, su controlador Win32k.sys es más vulnerable  (débil) y utiliza un mecanismo de bloqueo global, llamado en su lugar Call-backs que precisamente se utiliza para liberar ese bloqueo. Este método puede ser muy fácilmente explotado por un hacker dijo, Mandt.

«Puesto que es un mecanismo de bloqueo global, el CallBack realmente es un diseño que puede romperse fácilmente, así es como yo lo veo», dijo.

La mayor parte de la investigación Mandt se ha concentrado en el Administrador de Windows y en el controvertido polemico Win32k.sys, que en conjunto maneja y manipula el sistema de ventanas de Windows. Por otro lado no se ha hecho ningún esfuerzo en conseguir asegurar los componentes del Kernel (núcleo de Windows), posiblemente porque la mayoría de las veces los ataques de los hackers se han dirigido a nivel de las aplicaciones, dijo Mandt. No hay espacio de direcciones de selección aleatoria del diseño (ASLR) en el núcleo.

“No importa si estás en Windows  XP, Vista o Windows 7, señala Tarjei Mandt, ya que con esta técnica seras capaz de recuperar la información que desees desde  el propio kernel, y esto hace que sea muy fácil explotar estas vulnerabilidades a pesar de estar en los nuevos sistemas Windows”.
 

Otros investigadores han descubierto otras vulnerabilidades a nivel de kernel en los componentes del subsistema de Windows, tales como el análisis de las fuentes. En 2009, Microsoft rápidamente reparo y tapo varias de las vulnerabilidades mas graves existentes en el Kernel de Windows, tras revisar el código fuente. La actualización de seguridad que corrigio Microsoft estaba dirigida a un error que existía en la forma en que Windows manejaba OpenType (EOT). El Bug (Fallo) permitía a un Hacker crear un sitio web malicioso para inmediatamente comenzar a explotar el fallo contra los Usuarios de Internet Explorer que incluían fuentes incrustadas OpenType.