El año pasado - Más de 400.000 personas afectadas
La compañia afectada:
Tamaño del script malicioso: < 1Kb
Nuestros servicios están en peligro
Comprar entradas para JSConf
Toma tiempo mencionar los nombres de las personas afectadas,
y los daños ocasionados en donde podemos destacar una multa que asciende a los USD 200M.
La compañia apelo con el argumento que no hay evidencia que los datos hayan sido usados
Acompáñenme a ver cómo ocurrió este polémico caso.
Lo que van a ver a continuación es con fines educativos
El script malicioso fue inyectado en un recurso .js
The skimming method
En este caso en el script:
Este tipo de script malicioso se puede inyectar en el navegador o en un recurso .js o peor aun; en un CDN
Vamos a analizar en detalle el script usado
Esta herramienta nos permite interceptar y modificar los datos antes y después del XHR o FETCH
El cuadro rojo oscuro es donde se enviaron la datos al atacante de la Brithish Airways (que usó su propio método hasta más sencillo que con XHOOK); ya que los datos ni siquiera habían llegado al XHR
Posibles Soluciones (Prueba de concepto)
Usar xhook para nuestro beneficio y crear un firewall
Pero primero vamos a ver otros métodos
RISQIQ escanea irregularidades en los recursos .js o vendor
Firewall del lado del cliente
Control absoluto de las solicitudes salientes
Metodo nativo para interceptar datos como XHOOK
1. Creamos nuestro propio observador nativo para detectar el uso de prototype.open
2. Sellamos y Congelamos en observador para que no sea modificable
Pero el atacante también puede usar XHOOK, vamos a crear nuestra lista blanca y blindarlo para que no sea modificable
Recomendaciones
1. Usar CDN en ves de recursos locales ya que puede ser más seguro. CDNJS.COM y otros
2. Usar formularios de terceros
3. Cómo cliente usar siempre equipos confiables y no usar ordenadores públicos