Los ataques a la cadena de suministro de navegadores, en los que scripts de terceros que se ejecutan en los navegadores web de los usuarios finales reciben vulnerabilidades maliciosas, siguen siendo una amenaza subestimada y poco protegida, incluso cuando su prevalencia continúa acelerándose. La advertencia sobre la violación de datos de British Airways fue la primera en mostrar cuán devastadores pueden ser estos ataques al navegador. Las aerolíneas siguen siendo un objetivo popular, y EasyJet y Air Europa sufrieron tipos de ataques similares. Pero no están solos. Incluso más recientemente, el gigante de seguros Kaiser Permanente anunció públicamente una violación de datos , derivada de scripts de navegadores de terceros, que afectó a millones de miembros de seguros actuales y anteriores.
Protegerse contra este vector de amenazas es más urgente que nunca para los ingenieros, y las organizaciones que ignoran el riesgo de violaciones de la cadena de suministro del navegador lo hacen bajo su propio riesgo. He aquí por qué el incidente de British Airways sigue siendo tan relevante para la estrategia de ciberseguridad empresarial y qué se puede hacer para protegerse contra amenazas similares.
En la infracción de British Airways, a cualquier cliente que introdujera la información de su vehículo de crédito para realizar una compra en el sitio web oficial de British Airways se le copiaban esos datos confidenciales y se los enviaba a un dominio controlado por un atacante mediante un script malicioso del lado del navegador. Cuando la aerolínea finalmente se dio cuenta de esta amenaza difícil de detectar, más de 400.000 clientes tenían sus datos personales expuestos, lo que llevó a una multa récord de más de £183 millones por parte de los reguladores de la Oficina del Comisionado de Información (ICO) del Reino Unido.
Los orígenes del incidente se remontan a una incursión inicial en la que los atacantes iniciaron sesión en los sistemas de British Airways utilizando las credenciales robadas de un empleado del proveedor de servicios de carga Swissport. Esa cuenta carecía de protección de autenticación multifactor, lo que permitía a los atacantes iniciar sesión en un entorno de acceso remoto de Citrix y escalar su acceso más allá de las restricciones destinadas a limitar a los usuarios remotos a áreas seguras de la red.
Luego, los atacantes introdujeron herramientas para sondear toda la red en busca de vulnerabilidades adicionales; Pronto descubrieron un archivo de texto sin cifrar que incluía las credenciales de inicio de sesión de un administrador de dominio. Eso les dio a los atacantes una puerta abierta para acceder a computadoras y servidores en el dominio, cambiar la configuración y manipular los recursos de la red. Comenzaron a iniciar sesión en los servidores, descubrieron las credenciales de inicio de sesión de un administrador de base de datos al día siguiente y continuaron explorando pacientemente los datos disponibles a su gusto.
Los atacantes encontraron archivos de registro con los detalles de 108.000 tarjetas de pago , todas almacenadas en texto plano . Como resultado de una función de prueba que se dejó activada accidentalmente, se suponía que esos datos nunca debían almacenarse y, ciertamente, no debían dejarse totalmente inseguros. Luego, los atacantes descubrieron un archivo que incluía el código del sitio de British Airways, lo que les brindó todas las oportunidades que necesitaban para preparar su ataque a la cadena de suministro del navegador.
Como punto clave de su estrategia, los atacantes compraron baways punto com, un nombre de dominio disponible que fácilmente se malinterpreta como una dirección web oficial perteneciente a la empresa. Si bien el dominio utilizaba un proveedor de hosting lituano y estaba alojado fuera de Rumania, British Airways no contaba con el monitoreo capaz de alertar al personal de seguridad de que algo andaba mal.
El desarrollo de sitios web modernos utiliza numerosos scripts de fuentes de terceros para permitir la interactividad y las capacidades avanzadas que esperan los usuarios. Ejemplos de funciones impulsadas por scripts de terceros incluyen todo, desde chatbots hasta herramientas de marketing y análisis y medidas de seguridad como captchas. Pero estos scripts son particularmente difíciles de monitorear y proteger para las empresas, porque la mayoría de las veces están alojados y administrados externamente. Una simple vulnerabilidad o error por parte de un proveedor externo puede provocar un incidente de seguridad. En escenarios donde dichos proveedores carecen de la experiencia para entregar código seguro, o donde los cambios comerciales y de personal dan lugar a scripts sin mantenimiento y sin supervisión, los riesgos pueden llegar a ser extremos.
En el momento de la infracción, el sitio web de British Airways cargó alrededor de 20 scripts de terceros (30 incluida la página de reserva). Los navegadores de los visitantes del sitio recibieron solicitudes del sitio para obtener y ejecutar código de fuentes externas. Esta es una práctica estándar y los navegadores no están diseñados para juzgar si los scripts o los puntos finales a los que envían datos son legítimos. Los atacantes inyectaron código malicioso en la biblioteca JavaScript de Modernizr, un script común que ayuda a detectar funciones del navegador para optimizar las experiencias. Esta versión comprometida del script, proporcionada por el servidor web de British Airways, envió una copia de los datos enviados por el cliente al sitio del atacante.
Así, durante unas tres semanas, los atacantes hojearon toda la información de las tarjetas de pago introducidas en el sitio web de British Airways. Los clientes permanecieron completamente inconscientes en ese momento, a pesar de que eran sus propios navegadores los que enviaban su información confidencial. Los atacantes fueron inteligentes al mantener intactas la experiencia web normal y la latencia, haciendo que su robo de datos fuera transparente tanto para los usuarios como para el personal de seguridad durante semanas.
Cuando un tercero finalmente reconoció y notificó a British Airways sobre la infracción semanas después, la compañía hizo todo bien. En menos de dos horas, el equipo de seguridad neutralizó el código malicioso y bloqueó el sitio web falso. Los clientes, los bancos que procesan pagos y el ICO recibieron una notificación inmediata. Pero el daño fue hecho. La reputación de la aerolínea se vio afectada, le siguieron una sanción regulatoria sin precedentes y posteriormente demandas colectivas se resolvieron fuera de los tribunales. Si bien la sanción se redujo posteriormente a la luz de la rápida rendición de cuentas de la empresa (y en asociación con el alivio de la pandemia), este fue un episodio que cualquiera evitaría con entusiasmo.
Para ser claros, es difícil encontrar fallas en la seguridad de British Airways en este incidente: las herramientas necesarias para detectar de manera confiable ataques a la cadena de suministro del navegador con cargas útiles maliciosas entregadas a través de scripts de terceros simplemente no estaban disponibles en ese momento. Al mismo tiempo, eventos posteriores como el ataque Magecart (que afectó a 17.000 sitios) demostraron que los piratas informáticos encontraron una vulnerabilidad que les gustó. Incluso hoy en día, las posturas de seguridad de la mayoría de las organizaciones carecen de visibilidad sobre estos ataques. Si bien las protecciones generales de seguridad de TI ahora exigen una atención sin precedentes, la creciente amenaza de ataques a la cadena de suministro de navegadores sigue estando en gran medida poco protegida o dirigida solo a requisitos mínimos de cumplimiento.
Sin embargo, ahora existen capacidades de seguridad para proporcionar a los equipos defensas sólidas contra estos ataques. Esencial para una seguridad efectiva de la cadena de suministro del navegador es la capacidad de monitorear y examinar continuamente el contenido de scripts de terceros, aprovechando estrategias diseñadas para eliminar scripts maliciosos al instante. Teniendo en cuenta la naturaleza dinámica de estos ataques, una revisión o supervisión única que examine únicamente el origen de los scripts simplemente no es suficiente. Dicho esto, los equipos deben elegir las fuentes de terceros más seguras que puedan y, al mismo tiempo, verificar continuamente esa confianza. Los equipos también deben practicar una buena higiene de seguridad y reforzar sus entornos eliminando activamente servicios y scripts de cualquier página que no sean necesarios, especialmente en páginas sensibles como los portales de pago.
A medida que los sitios web utilicen cada vez más scripts de terceros para brindar experiencias modernizadas a los navegadores de los usuarios, los atacantes solo descubrirán más oportunidades. Los equipos pueden aprender las lecciones de ataques como el que sufrió British Airways y tomar medidas para proteger completamente sus cadenas de suministro de navegadores ahora, o aprenderlas de la manera más difícil.