Una versión de este artículo apareció en Lectura oscura. Se ha actualizado y sindicado aquí.
Si alguna vez hubo algo que arruinara la Navidad en el sector de la ciberseguridad, es una devastadora filtración de datos que va camino de convertirse en el mayor evento de ciberespionaje que afecta al gobierno de Estados Unidos del que se tenga constancia.
El ataque a SolarWinds es de gran alcance, ya que los actores de la amenaza han vulnerado inicialmente el software a mediados de 2019. Este atraco, que duró meses, se descubrió en diciembre de 2020 después de que se utilizara para infiltrarse en la prominente empresa de ciberseguridad FireEye, y a partir de ahí se desencadenó la pesadilla. Todavía se está investigando el alcance total de la brecha, pero las áreas clave de la infiltración incluyen los Departamentos de Estado, Seguridad Nacional, Comercio y Tesoro de Estados Unidos, además del Instituto Nacional de Salud.
Este incidente va a tener continuas réplicas, pero la gran sofisticación del mismo es fascinante. A nivel técnico, se trata de una infiltración de varias capas que implica herramientas maliciosas personalizadas, puertas traseras y código encubierto, mucho más allá de la habilidad de los script kiddies que tan a menudo vemos explotando errores más obvios.
Blanqueo de códigos en su máxima expresión
CrowdStrike ha hecho más de su trabajo de genio en la ingeniería inversa del exploit, y detallando los hallazgos para que todos los vean. Ahora ha salido a la luz que SolarWinds fue víctima de una brecha en la infraestructura, permitiendo la inyección de código malicioso en las actualizaciones del sistema, lo que resultó en al menos cuatro herramientas de malware separadas que abrieron un acceso sin precedentes para los actores de la amenaza.
El método era encubierto y permitía una precisión estratégica que parece sacada de una novela de Jason Bourne. Ganó tiempo para husmear, planificar y atacar a las víctimas fuera de la red de SolarWinds exactamente cuando querían, en un ataque integral a la cadena de suministro. Y todo se llevó a cabo con un código que parecía completamente benigno.
Los ciberataques suelen ser el resultado de errores simples, pero costosos. Y una vez descubiertos, los errores son bastante obvios; pensemos en una red mal configurada, en contraseñas almacenadas en texto plano o en software sin parches que es vulnerable a exploits conocidos. En este caso, el código no destacaba en absoluto, y no sólo para los desarrolladores e ingenieros de seguridad. Un amplio abanico de costosas y complejas tecnologías de seguridad tampoco lo detectaron.
Las herramientas de supervisión de la seguridad y las pruebas de penetración se volvieron prácticamente inútiles
Los profesionales de la seguridad tienden a ser tan raros como los excrementos de los caballos, por lo que son ayudados en su intento de asegurar enormes cantidades de datos, software e infraestructura de la empresa, por una pila tecnológica que se adapta a las necesidades de seguridad de la empresa. Esto suele adoptar la forma de componentes como cortafuegos de red, pruebas de penetración automatizadas, herramientas de supervisión y escaneo, y estas últimas absorben mucho tiempo en el proceso de desarrollo de software. Este conjunto de herramientas puede convertirse rápidamente en una espiral y ser ingobernable para su gestión y ejecución, ya que muchas empresas utilizan más de 300 productos y servicios diferentes.
SolarWinds dispondría de una serie de herramientas muy útiles para encontrar y resaltar fallos de seguridad en el código, intentos de acceso no autorizado a la red, compromisos potenciales en cualquier parte de la infraestructura, e incluso detectar signos de evasión de la detección. Es inaudito que estos actores de la amenaza fueran capaces de inyectar código malicioso que no fue descubierto ni siquiera por la pila de seguridad más avanzada.
El endurecimiento de la infraestructura -especialmente el control de acceso- es un componente fundamental de las mejores prácticas generales de ciberseguridad, pero si un atacante puede explotar silenciosamente una pequeña ventana de oportunidad, una red puede verse comprometida igual que una vulnerabilidad en un software independiente.
Esta brecha es un recordatorio de que, en general, cualquier empresa que confíe exclusivamente en las herramientas para asegurar su infraestructura de red y su software está asumiendo un enorme riesgo. No siempre es suficiente con proteger el código; todo lo que lo almacena, ejecuta y compila debe estar igualmente fortificado. El estado ideal es un equilibrio entre herramientas y personas, ejecutando una estrategia robusta que profundice en la evaluación y reducción de la superficie de ataque potencial.
La concienciación de los equipos en materia de seguridad permite modelar mejor las amenazas
La brecha de SolarWinds ya ha comenzado a tener un impacto significativo en las operaciones de seguridad, especialmente a nivel gubernamental. Los expertos afirman que esto podría remodelar las prácticas de ciberseguridad para siempre.
Una infraestructura cada vez más digital impulsa nuestras vidas, y aunque puede ser vulnerable a los ataques si no se gestiona meticulosamente, nuestra estrategia general es defectuosa. Tenemos una gran escasez de personal en lo que se refiere a la experiencia en seguridad, y sin embargo no estamos haciendo mucho para cerrar la brecha. La concienciación sobre la seguridad impulsada por el ser humano es un elemento infrautilizado de la ciberseguridad, al igual que hacer de la prevención -en lugar de la reacción- una prioridad.
La seguridad de las infraestructuras es una empresa compleja con muchas piezas en movimiento, pero, al igual que en la creación de software, los desarrolladores pueden ser una baza para reducir el riesgo estructural si reciben la formación adecuada y son conscientes de la seguridad.
Los modelos de amenazas rara vez tienen en cuenta los ataques a la cadena de suministro, a pesar de que este tipo de ataque se destacó ya en 2012 como un riesgo clave que es difícil de prevenir con las técnicas actuales, y deja a muchas empresas mal preparadas. Los desarrolladores de software podrían desempeñar un papel fundamental en la prevención, y esto empieza por asegurarse de que están capacitados y son capaces de evaluar la integridad de su código desde dentro. ¿Han construido el mecanismo de actualización de forma segura? ¿Se ejecuta el software con una conectividad innecesaria que podría permitir un compromiso malicioso más fácil?
Cuando la seguridad es sinónimo de calidad del software, es fácil ver el inmenso valor que puede aportar un ingeniero consciente de la seguridad.