Acerca de...
El equipo
Encuestas
Política de privacidad
WinTablets

Encuesta

¿Cual crees que triunfará?

Ver Resultados

Cargando ... Cargando ...

últimas entradas importantes

Categorías

Archivos

12
May 2017
Podcast

El Armagedón de Microsoft (otra vez)

Bueno, bueno, bueno. Lo que tenía que pasar, pasó. Crónica de una muerte anunciada. Un te lo dije, un zasca en condiciones.

Media España apagada por culpa de un malware, y la otra mitad también, apagada, por lo que pudiera pasar, por si me llega de rebote.

Y ahora parece ser que la cosa ha saltado a varios países de Europa.

Alguien ha aprovechado un fallo de seguridad de Windows y se ha dedicado a ir reventando un ordenador detrás de otro. La alarma sonó con Telefónica, pero han sido otros los que también han sufrido el problema y pese a negarlo, se ha sabido que sí, que también lo han sufrido.

Y no, la culpa no es de Microsoft. Ni de lejos.

Os voy a contar una historia de hace unos años.

Yo solía llenarme la boca con la frase escalada de privilegios a través del bucle de mensajes. Era algo que muchos desarrolladores sabíamos que podía ocurrir con el software de Microsoft. Es decir, un programa malicioso podría ir enviando mensajes a través del LPC e ir escalando privilegios hasta llegar al nivel de Sistema, y entonces el ordenador era tuyo.

¿Qué es un mensaje? Pues básicamente es el modo que tienen las aplicaciones Win32 de funcionar. En la época de la multitarea no-apropiativa, era la única forma de tener multitarea sin problemas. Lo que ocurría dentro de una aplicación Windows era que las distintas ventanas se enviaban mensajes entre ellas.

Es decir, supongamos que pulsamos una tecla en un cuadro de edición. Esta tecla era un mensaje que el sistema operativo enviaba a la aplicación, que a su vez miraba quién tenía el foco en ese momento, y le redireccionaba el mensaje de se ha pulsado la tecla a. El control recogía el mensaje, si era para él, lo consumía (quizás pintando una letra a en el lugar adecuado), pero si no era para él, lo seguía pasando a sus hijos hasta que alguno reaccionaba y lo recogía… o se perdía porque no le interesaba a nadie.

Win32 sigue funcionado así, al menos las aplicaciones Win32 puras y clásicas. Ahora hay partes de ese API que son más modernos y no requieren mensajes, pero todo lo clásico funciona así.

Otro ejemplo: el sistema operativo envía un mensaje WM_PAINT a la aplicación para indicarle que una parte de su pantalla necesita ser redibujado. En ese mensaje, asociado, hay varios parámetros que le dicen a la aplicación el rectángulo inválido. Ese mensaje es recogido por la aplicación, que mirará qué control necesita repintarse… y le reenviará el mensaje, o actuará en consecuencia y pintará la parte invalidada.

Pues bien, hace bastantes años se barruntaba que por ahí se podía introducir uno para escalar privilegios, enviando mensajes con truco para reventar el sistema. Se supo por muchos años, existía la leyenda de que había gente que sabía hacerlo, pero la realidad es que nadie tenía claro a ciencia cierta si al final aquello podía ocurrir o no.

Hasta que un día alguien descubrió cómo hacerlo. Y encima aprovechando el RPC en lugar del LPC, lo que es todavía más grave, ya que, mientras que la L es de Local, la R es de remoto: Remote Procedure Call, o Protocol de Llamada Remoto, o la forma de enviar mensajes entre diferentes ordenadores.

Y llegó Microsoft y parcheó el tema. En muy pocos días. Sacó una actualización, que se debía aplicar a todos los sistemas operativos de entonces (Windows 2000, Windows XP, y familiares). Con XP la tenías en Windows Update y, de hecho, si tu Windows estaba actualizado, se encontraba completamente seguro y protegido.

Y se armó la debacle. Se armó tan gorda, que los proveedores de internet terminaron por negar la conexión a Internet a cualquier ordenador no parcheado. Y si algún proveedor de proveedores detectaba que el proveedor había dejado pasar un solo ordenador sin parchear, sacaba a ese proveedor de Internet.

A veces se dieron cosas curiosas, como que algún proveedor solo tenía internet para sí mismo, y si enviabas un correo a otra persona del mismo proveedor, por poner un ejemplo, la otra persona lo recibía, pero si era de un tercero, aquello se quedaba en el limbo.

Al cabo de los meses la cosa se normalizó, los proveedores empezaron a hacerse cargo de verdad de las cosas y el problema de seguridad se empezó a detener a todos los niveles. A fecha de hoy es muy probable que todavía queden Windows XP sin parchear, pero dicho malware ya no se propaga porque la gran totalidad de equipos que salen a la red ya no son vulnerables.

Habéis reconocido el malware? Efectivamente, se trataba del Blaster y luego Sasser, dos maléficos engendros que aprovechaban un agujero de seguridad bastante importante de los Windows de aquellos años.

Ahora la pregunta:

¿Cuánta culpa tuvo Microsoft en esto?

Ninguna, más allá de haber diseñado un sistema vulnerable a aquello. De hecho en su momento fue de loar que tardara tan poco a sacar el parche y a ponerlo en los lugares adecuados.

Hoy estamos repitiendo la misma historia. Se está aprovechando un agujero de seguridad que Microsoft parcheó hace dos meses.

Si no has aplicado el parche, es culpa tuya.

Así de simple.

Estamos ante un agujero de seguridad tan maligno como lo fue en su momento el Sasser. La gente de IT debía saberlo, y debía haber acelerado el tiempo de testeo e implementación.

Si no ha sido así, que le corten la cabeza.

Por RFOG | 12 Comentarios | Enlaza esta entrada
contacto@wintablet.info tema WinTablet.info por Ángel García (Hal9000)