Microsoft contra el SVR. Por qué el código abierto debería ser la norma
Podría haber sido una novela de Tom Clancy de la serie NetForce, pero es un libro escrito por el presidente de Microsoft Brad Smith en homenaje a si mismo y a su empresa. De todas formas, si uno lee entre líneas (al menos en el extracto al que tuvo acceso un portal) y separa las auto palmadas en la espalda y los palos a los competidores, lo que queda es muy interesante e instructivo. Y, en mi humilde opinión, una muestra de las ventajas del modelo de software libre y de código abierto.
Los personajes
Toda novela de espionaje, necesita un «malo» y, en este caso tenemos nada menos que al SVR, una de las organizaciones que sucedieron al KGB después del colapso de la URSS. El SVR se ocupa de todas las tareas de inteligencia desarrolladas fuera de la frontera de la Federación Rusa. La «víctima inocente» fue SolarWinds, empresa que desarrolla un software para administración de redes utilizado por grandes empresas, administradores de infraestructuras críticas y agencias del gobierno estadounidense. Por supuesto, necesitamos un héroe. En este caso, según ellos mismos, es el Departamento de Inteligencia de Amenazas de Microsoft.
Como no podía ser de otra manera, en una historia de hackers, el «malo» y el «bueno» tienen un alias. El SVR es Yttrium (Itrio). En Microsoft utilizan los elementos menos comunes de la tabla periódica como nombre clave para los posibles orígenes de amenazas. El Departamento de Inteligencia de Amenazas es MSTIC por sus siglas en inglés, aunque internamente lo pronuncian mystic (místico) por la similitud fonética. En adelante, por comodidad voy a usar estos términos.
Microsoft contra SVR. Los hechos
El 30 de noviembre de 2020 FireEye, una de las principales empresas de seguridad informática de EE.UU, descubre que había sufrido una brecha de seguridad en sus propios servidores. Como eran incapaces de solucionarlo por si mismos (Lo siento, pero no puedo dejar de decir lo de «en casa de herrero, cuchillo de palo») decidieron pedir ayuda a los especialistas de Microsoft. Como desde MSTIC venían siguiendo los pasos de Yttrium, enseguida sospecharon de los rusos, diagnóstico posteriormente confirmada por los servicios de inteligencia oficiales de USA.
Con el correr de los días, se comprobó que los ataques estaban dirigidos a redes informáticas sensibles en todo el mundo incluyendo a la propia Microsoft. De acuerdo a trascendidos periodísticos, el gobierno de Estados Unidos era claramente el principal objetivo del ataque, con el Departamento del Tesoro, el Departamento de Estado, el Departamento de Comercio, el Departamento de Energía y partes del Pentágono Por su parte, desde Redmond agregaron a la lista de víctimas docenas de organizaciones afectadas. Entre ellas se cuentan otras empresas tecnológicas, contratistas gubernamentales, grupos de reflexión y una universidad. Los ataques no solo se dirigieron contra Estados Unidos ya que hubo afectados en Canadá, el Reino Unido, Bélgica, España, Israel y los Emiratos Árabes Unidos. En algunos de los casos, las penetraciones en la red se prolongaron durante varios meses.
El origen
Todo comenzó con un software de manejo de redes llamado Orion y desarrollado por una empresa llamada SolarWinds. Con más de 38000 clientes corporativos de alto nivel, los atacantes solo tuvieron que insertar un malware en una actualización.
Una vez instalado, el malware se conectaba a lo que técnicamente se conoce como un servidor de comando y control (C2). El servidor C2 estaba programado para dar al ordenador conectado tareas como la capacidad de transferir archivos, ejecutar comandos, reiniciar una máquina y desactivar los servicios del sistema. En otras palabras los agentes de Yttrium conseguían un acceso total a la red de quienes habían instalado la actualización del programa Orion.
A continuación les voy a citar un párrafo textual del artículo de Smith
No tardamos en darnos cuenta de la importancia del trabajo técnico en equipo en toda la industria y con el gobierno de Estados Unidos. Los ingenieros de SolarWinds, FireEye y Microsoft empezaron a trabajar juntos inmediatamente. Los equipos de FireEye y Microsoft se conocían bien, pero SolarWinds era una empresa más pequeña que se enfrentaba a una gran crisis, y los equipos tenían que crear confianza rápidamente si querían ser eficaces. Los ingenieros de SolarWinds compartieron el código fuente de su actualización con los equipos de seguridad de las otras dos empresas, lo que reveló el código fuente del propio malware. Los equipos técnicos del gobierno estadounidense entraron rápidamente en acción, especialmente en la Agencia de Seguridad Nacional (NSA) y en la Agencia de Ciberseguridad y Seguridad de las Infraestructuras (CISA) del Departamento de Seguridad Nacional.
Los resaltados son míos. Eso de trabajo en equipo y compartir el código fuente ¿No les suena de algo?
Después de abrir la puerta trasera, el malware permanecia inactivo durante dos semanas, para evitar crear entradas de registro de red que alertaran a los administradores. Pasado ese lapso, enviaba información sobre la red que había infectado a un servidor de mando y control que los atacantes habían con el proveedor de hosting GoDaddy.
Si el contenido resultaba interesante para Yttrium, los atacantes entraban a través de la puerta trasera e instalaban código adicional en el servidor atacado para conectarse a un segundo servidor de mando y control. Este segundo servidor, único para cada víctima para ayudar a evadir la detección, estaba registrado y alojado en un segundo centro de datos, a menudo en la nube de Amazon Web Services (AWS).
Microsoft contra el SVR. La moraleja
Si están interesados en saber como nuestros héroes dieron su merecido a los villanos, en los primeros párrafos tienen los enlaces a las fuentes. Voy a pasar directamente al motivo por el cuál escribo sobre esto en un blog sobre Linux. El enfrentamiento de Microsoft contra el SVR demuestra la importancia de que el código esté disponible para ser analizado, y que el conocimiento sea colectivo.
Es cierto, como me recordó esta mañana un prestigioso especialista en el tema seguridad informática, que de nada sirve que el código sea abierto si nadie se toma el trabajo de analizarlo. Está el caso Heartbleed para demostrarlo. Pero, recapitulemos. 38000 clientes de alto nivel contrataron un software privativo. Varios de ellos instalaron una actualización con malware que expuso información sensible y dio control a elementos hostiles de infraestructura crítica. La empresa responsable solo puso el código a disposición de los especialistas cuando estaba con el agua al cuello. Si se exigiera a los proveedores de software para infraestructura crítica y clientes sensibles liberar su software con licencias abiertas, y a estos tener un auditor de código residente (o una agencia externa que trabaje para varios) el riesgo de ataques como SolarWinds sería mucho menor.