Jueves, 20 septiembre 2018

Cada nueva tecnología implica nuevos riegos asociados: aprende a evitar vulnerabilidades

Recientemente hemos conocido una vulnerabilidad que permitía a un potencial atacante obtener privilegio en un sistema Windows 10. En otras palabras, un usuario sin privilegio podría lograr ejecutar código en un contexto de SYSTEM, es decir, con todo el privilegio del sistema. La vulnerabilidad se volvió mediática, debido en parte al método o vía que han utilizado para comunicarla, Twitter. Este tipo de vulnerabilidad se suele denominar, una escalada de 0 a SYSTEM.

Así es como el mundo de la ciberseguridad y el resto del mundo se hacían eco de esta vulnerabilidad, crítica sin duda, y que recibíamos a través de la red social. Una publicación en Github dónde uno podía descargarse una prueba de concepto y probar en su laboratorio lo que el propio tuit indicaba. Es decir, cada día salen diferentes vulnerabilidades a la luz pública, pero solo algunas son mediáticas. Esta sin duda, lo fue.

¿En qué consiste la vulnerabilidad del ALPC? El programador de tareas almacena en la ruta c:\windows\system32\tasks archivos que representan tareas. Hay una función encargada de escribir la DACL, Discretionary Access Control, de las tareas. La DACL es el mecanismo de control de acceso que se utiliza. Si un objeto en Windows tiene una DACL, el sistema permitirá el acceso solo a quien marque la ACE, Access Control Entries, en el DACL. La función “SchRpcSetSecurity” es la que escribe la DACL. Esta función se encuentra dentro del ALPC del programador de tareas. Un fallo en la implementación de la función permite cambiar de contexto, es decir, elevar privilegio. Cuando se consigue elevar privilegio, la máquina está comprometida completamente.

captura

Como profesor del Máster  Universitario en Seguridad Informática de UNIR en la asignatura de análisis de vulnerabilidades me gusta dar un enfoque práctico. Por ello, este tipo de vulnerabilidades se revisan en un laboratorio y se muestra al alumno cómo funcionan. La parte práctica hace que el alumno entienda mejor lo que se le quiere transmitir.

Vivimos en una sociedad que todavía se extraña de la aparición de vulnerabilidades. Esto es algo lógico, así lo tratamos en la asignatura de análisis de vulnerabilidades, los programas y sistemas operativos es código creado por personas y que pueden tener errores, que tendrán errores. Hay que entender que la aparición de las vulnerabilidades es algo que seguirá ocurriendo, aunque gracias a los procesos de desarrollo seguro de software disminuirá este hecho.

Sea como sea, y volviendo a la vulnerabilidad, los delincuentes empezaron a hacer uso de esta vulnerabilidad en campañas de malware con el objetivo de lograr elevar privilegio del malware en el sistema. Esto suele ocurrir con ciertas vulnerabilidades que no disponen de parche, como era el caso de ésta, y que permite lograr un beneficio claro en la infección. No es la primera ni la última vez que veamos este tipo de situación.

Lo importante para el alumno es conocer los tipos de vulnerabilidades que rodean al mundo digital, conocer qué con cada nueva tecnología que aparece, aparecen nuevos riesgos asociados y gracias al conocimiento podrá ayudar a las empresas en el futuro a minimizar riesgos y poner en práctica planes de respuesta y de mitigación. Siempre desde un enfoque práctico que le hace entender mejor los riesgos, las amenazas y las vulnerabilidades.

Microsoft parcheó esta vulnerabilidad junto a otras tantas el pasado martes 11 de septiembre de 2018. Podemos decir que esta vulnerabilidad es historia, pero en nuestra asignatura seguiremos viendo este tipo de  vulnerabilidades, seguiremos aprendiendo de ellas y seguiremos enseñando cómo protegerse de este tipo de amenazas.