martes, 30 de enero de 2018

No corras a solucionar Meltdown y Spectre


Como es bien sabido investigadores de varios centros universitarios y del grupo “Parche cero” de Google revelaron en los primeros días del año que microprocesadores modernos sufren de una seria vulnerabilidad que permite acceso a datos no autorizados.

La complejidad de la vulnerabilidad es alta y requiere buenos conocimientos de arquitectura de computadores para entenderla. Por fortuna, algunos medios la han explicado en términos simples. Desafortunadamente, la alta exposición de los medios también ha creado cierto sentimiento de pánico que puede ocasionar problemas sino se analiza las consecuencias de los parches para Meltdown/Spectre.

El título de hoy puede sonar extraño viniendo de un profesional de seguridad informática, pero los reportes del impacto al rendimiento de microprocesadores causados por los parches no paran de circular en la red. En algunos casos el impacto puede ser severo.

La razón de este impacto se debe a como los microprocesadores modernos ejecutan sus tareas, de manera casi paralela y anticipativa (Sin esperar a saber si algunos datos se necesitan o no el procesador ejecuta algunas tareas con anticipación). Para “solucionar” la vulnerabilidad, los parches eliminan o limitan la “ejecución anticipativa”, y esto puede disminuir el rendimiento de los computadores.

De acuerdo a Microsoft, sus parches de seguridad afectan de manera negativa el rendimiento en algunos procesadores.  En los computadores más nuevos y equipos de usuario este puede no ser un problema, pero Microsoft indica que el impacto es perceptible en servidores y esto puede ser un serio problema en muchas aplicaciones. En algunos procesadores, el parche parece generar serios problemas de estabilidad e incluso causa el tan temido pantallazo de la muerte (la muy conocida pantalla azul cuando tu computador no responde para nada).  

El impacto al computador también depende del sistema operativo. Windows 10 parece responder mejor a los parches que Windows 8 y Windows 7. Adicionalmente, algunos antivirus rechazan el parche de seguridad de Microsoft lo cual ha generado una cadena de validación de software no solo a nivel de sistema operativo sino de aplicaciones.

¿Qué hacer entonces? La respuesta, de nuevo, es: los directivos de informática deben analizar la situación y sopesar los pasos a seguir. En otras palabras, deben analizar el riesgo. Cada situación es independiente y cada empresa tendrá diferentes soluciones.

Por ejemplo, si una empresa tiene un centro de llamadas que usa escritorio virtual deberá revisar si usa servidores relativamente nuevos o no. Uso este caso porque un servidor de escritorio virtual (i.e. Citrix) es altamente sensible al rendimiento de sus procesadores y el parche de Microsoft impactaría negativamente la operación. Como la mayoría de centros de llamadas calculan su costo por minuto, una desmejora en la velocidad del servicio tiene impactos financieros fácilmente medibles que no serían bienvenidos por los ejecutivos de la operación.

Si el servidor está protegido y aislado en una zona con listas restrictivas de acceso de usuario y software, el contraargumento (y de nuevo este es un caso hipotético) sería que los controles existentes compensan la falta del parche de seguridad.

¿Qué hacer? Nadie conoce mejor el ambiente informático de una empresa que su propio departamento de sistemas o informática. No existe una receta única sino una solución que depende del ambiente y procesos particulares de una organización.

La mejor respuesta la da el propio Microsoft (la traducción es mía): “…y es por esta razón que se debe ser cuidadoso al evaluar el riesgo de código no seguro en cada instancia de un servidor Windows, y hacer un balance de la seguridad versus el rendimiento de su ambiente”.