Cartuxeira: Recurriendo a las Meigas ( y al Machine Learning) para protegerse del Phishing
Este año hemos presentado en RootedCON 2023 el proyecto “Cartuxeira”, cuyo objetivo es proporcionar la información necesaria para evaluar si un mensaje de e-mail es confiable o no, haciendo uso de técnicas de Machine Learning e información recopilada de fuentes abiertas, para minimizar así, el riesgo de sufrir ataques de Phishing.
Figura 1: Cartuxeira - Recurriendo a las Meigas ( y al Machine Learning)
para protegerse del Phishing
En el folclore gallego, Cartuxeira es un tipo de meiga que echa las cartas y siempre acierta en sus vaticinios, y parece que, desde el Siglo XIX que nacieron los primeros “spam” con los casos del denominado prisionero español, las meigas gallegas pare cen ser las únicas que podrán sacarnos de este problema. Por cierto, en el libro de Machine Learning aplicado a Ciberseguridad, se explica en el Capítulo VI un ejemplo aplicado a clasificar Spam, en "Cartuxeira", vamos a hacerlo con el Phishing y añadiendo OSINT.
A día de hoy, la principal herramienta que cualquier ciudadano de a pie dispone para luchar contra el Phishing es la concienciación. Sin ir más lejos, y aprovechando para recordar las recomendaciones de seguridad del INCIBE contra el Phishing, lo primero en lo que hay que fijarse es en el remitente y su dirección de e-mail y si confiamos en ella. Lo segundo, el asunto y objetivo del e-mail y ver si traslada urgencia o trata de que compartamos información de carácter personal como usuario y contraseña de alguno de los servicios que utilizamos o nuestra información financiera o medios de pago. El tercer punto es revisar si la redacción del mensaje es correcta. Y por último, los enlaces y documentos adjuntos en dicho e-mail.
Este tipo de recomendaciones de seguridad pueden tener llegada y calado siempre y cuando se tengan conocimientos básicos de informática, pero en el caso de todas esas personas mayores, como por ejemplo padres o abuelos, que se están viendo empujados a la digitalización sin conocimientos de informática, pueden no ser suficientes.
Figura 2: Libro de Machine Learning aplicado a Ciberseguridad de Carmen Torrano, Fran Ramírez, Paloma Recuero, José Torres y Santiago Hernández. |
Este tipo de recomendaciones de seguridad pueden tener llegada y calado siempre y cuando se tengan conocimientos básicos de informática, pero en el caso de todas esas personas mayores, como por ejemplo padres o abuelos, que se están viendo empujados a la digitalización sin conocimientos de informática, pueden no ser suficientes.
Sin ir más lejos, si tu madre recibe un e-mail de “Amazon” con dirección “info [at] ammazon [dot] com”, ¿cómo le explicas que el dominio contratado por la empresa es con una “m” y no con dos si está viendo que el nombre del correo es Amazon? ¿Te pondrías a explicarle WHOIS, y registros DNS como el A y el MX?
Y ya ni hablemos de DMARC, SPFv1 o SPFv2, SenderID o DKIM en este "caos" maravilloso que el correo electrónico y que ha hecho que la dirección de e-mail se haya convertido en nuestro usuario de los servicios de Internet.
Estado del arte del Phishing e importancia de la dirección de email
Desde luego, si la única arma contra el phishing es la concienciación, nos espera un largo invierno por delante. Sin ir más lejos, en 2022 España se situó como el tercer país a nivel global con más amenazas detectadas vía e-mail con el 21% del total y sexto a nivel de ciberataques detectados y recibidos. Teniendo en cuenta los diferentes nombres sexys del Phishing (Phishing, Vishing & Smishing), el 96% de todos esos ataques se realizaron vía correo electrónico, lo cual, con tecnologías como ChatGPT y su capacidad para realizar redacciones realistas de correo, empieza a complicarse mucho el identificar fallos gramaticales en el cuerpo del mensaje por parte de un humano. Por este motivo, ¿por qué no poner foco en el primer punto de la concienciación?: la dirección de email.
Figura 4: Partes de una dirección e-mail
Si observamos una dirección de e-mail, podríamos analizarla desde cuatro puntos de vista diferentes. El primero, el dominio, para el cual podríamos revisar si está en blacklist, se ha generado utilizando técnicas DGA, o con fines maliciosos vía cybersquatting (ocupación del dominio) y la búsqueda de estos como forma de proteger tu empresa. En segundo lugar, la dirección de e-mail al completo, que del mismo modo nos permite revisar si está en blacklist o se ha creado con malas intenciones. En tercer lugar, la actividad de dicho e-mail, si tiene presencia en Internet y desde cuándo, leaks en los que aparece, etcétera. Y por último, algo ya más vinculado al mundo empresarial sería el enfoque del KYC (Know Your Customer) en el que se vincula dicha dirección con IP o identidad digital de una persona concreta.
Técnicas utilizadas para generar e-mails de Phishing (DGA y EGA)
En primer lugar, cada vez más se están utilizando técnicas heredadas del mundo del malware como la generación de dominios vía DGA (Domain Generation Algorithm). Este tipo de técnicas funcionan similar a como funciona un token hardware o software que genera una OTP. En este caso, el atacante genera un algoritmo de generación de dominios y una semilla aleatoria que es la misma que la incorporada en el malware. De este modo, el servidor de Command & Control va dando de alta y baja los dominios en el DNS de manera automática y el malware desplegado, con la sincronización de su semilla, genera los mismos dominios para poder conectarse a él fácilmente.
Figura 5: Diagrama explicativo del uso de DGA en malware
Esto obviamente dificulta una gestión de blacklisting por parte de los equipos de seguridad en cualquier organización. Sendos ejemplos de e-mails generados con este tipo de técnica los recibimos a día de hoy sin parar en nuestras bandejas de entrada y de Spam como se puede observar en los ejemplos de la siguiente figura.
Figura 6: Ejemplo de phishing generado con técnicas DGA
Por otro lado, también existe otra técnica que es mucho más difícil de detectar y que en este trabajo hemos acuñado como algoritmos de generación de e-mails o EGA (Email Generation Algorithm). Esta técnica se basa en engañar al ojo humano aprovechando la funcionalidad (o bug) de nuestro cerebro que nos permite realizar una lectura predictiva aunque las letras de la palabra estén mal escritas.
Figura 7: Ejemplo de cómo funciona la lectura predictiva de nuestro cerebro
Éste es un campo de neurociencia bastante interesante, del cual, un artículo académico ha impulsado nuestro trabajo de investigación hacia este enfoque: A. Agrawal, KVS Hari and SP Arun, “A compositional neural code in high-level visual cortex can explain jumbled word reading”, 2020.
Figura 8: Ejemplo de generación de e-mails vía EGA
Teniendo en cuenta este aspecto, la siguiente figura muestra los casos de uso contemplados dentro de nuestro término acuñado EGA, el cual incluye el cybersquatting, para el correo legítimo de Netflix.
Proyecto Cartuxeira
Cartuxeira es un servicio cuyo objetivo principal es identificar ataques de Phishing analizando exclusivamente la dirección de e-mail. Para ello, este proyecto utiliza técnicas de Machine Learning e información de fuentes abiertas OSINT para la identificación de e-mails maliciosos.
Proyecto Cartuxeira
Cartuxeira es un servicio cuyo objetivo principal es identificar ataques de Phishing analizando exclusivamente la dirección de e-mail. Para ello, este proyecto utiliza técnicas de Machine Learning e información de fuentes abiertas OSINT para la identificación de e-mails maliciosos.
Una de las premisas que hemos tenido a la hora de desarrollar este proyecto ha sido su simplicidad de utilización y despliegue. Por ello, todo el código fuente de la solución se puede encontrar (incluyendo modelos de Machine learning) en GitHub. La solución se ha dockerizado de tal forma que la arquitectura de Cartuxeira sería la mostrada en la siguiente figura:
Como se puede observar en la arquitectura de Cartuxeira, existen diferentes componentes cuya información es agregada por el “Email Risk Composer” para retornar el riesgo identificado para el e-mail consultado. A continuación haremos zoom sobre los cuatro componentes que se muestran en la arquitectura.
DGA Detector
Como base de conocimiento para el DGA Detector, partimos de un dataset de 890.000 dominios legítimos y 225.000 dominios ilegítimos generados vía DGA. Tras el pre-procesado y el etiquetado de los datos, aplicamos un proceso iterativo de prueba de distintos modelos de Machine Learning y observamos que casi todos fallaban al detectar el dominio malicioso, incluso después de aplicar técnicas para aliviar el desbalanceo de la muestra. Esto sucedía en casi todos los modelos (RF, Regresión Logística, CNN) excepto en Perceptrón Multicapa (MLP), el cual detectaba con mayor precisión los dominios DGA que los legítimos. Aun así, los resultados no fueron lo suficientemente buenos como para considerar añadir estos algoritmos en la herramienta.
En este escenario, decidimos incluir el proyecto DGA-Detective disponible en Github. Dicho proyecto ha sido desarrollado por el equipo de investigación SOCCRATES bajo financiación de la Unión Europea (Horizonte 2020). Su modelo se basa en redes TCN (Redes Neuronales Convolucionales Temporales), que son una variación de las redes neuronales convolucionales para tareas de modelado de secuencias, al combinar aspectos de las arquitecturas RNN y CNN.
Finalmente, al pasar nuestro dataset de prueba sobre el modelo de DGA-Detective, los resultados fueron de una exactitud de acierto del 96% y del 99% para cada una de las clases (No-DGA y DGA respectivamente), superando ampliamente al resto de modelos probados.
EGA Detector
Como base de conocimiento para el EGA Detector, hemos utilizado los leaks incluidos en el proyecto “Odin: Footprinting en la era del BigData” que se presentó en RootedCON 2016 entre Alejandro Ramos y Elías Grande. En dichos leaks encontramos 150 millones de e-mails, que tras eliminar duplicados e inconsistencias nos permitió disponer de 105 millones de emails legítimos. Por otro lado, recopilando e-mails reportados como maliciosos en Internet y abusando de la “feature” de lectura predictiva humana, generamos cerca de los 300 millones de e-mails maliciosos.
Figura 10: Arquitectura de Cartuxeira
Como se puede observar en la arquitectura de Cartuxeira, existen diferentes componentes cuya información es agregada por el “Email Risk Composer” para retornar el riesgo identificado para el e-mail consultado. A continuación haremos zoom sobre los cuatro componentes que se muestran en la arquitectura.
DGA Detector
Como base de conocimiento para el DGA Detector, partimos de un dataset de 890.000 dominios legítimos y 225.000 dominios ilegítimos generados vía DGA. Tras el pre-procesado y el etiquetado de los datos, aplicamos un proceso iterativo de prueba de distintos modelos de Machine Learning y observamos que casi todos fallaban al detectar el dominio malicioso, incluso después de aplicar técnicas para aliviar el desbalanceo de la muestra. Esto sucedía en casi todos los modelos (RF, Regresión Logística, CNN) excepto en Perceptrón Multicapa (MLP), el cual detectaba con mayor precisión los dominios DGA que los legítimos. Aun así, los resultados no fueron lo suficientemente buenos como para considerar añadir estos algoritmos en la herramienta.
Figura 11: DGA-Detective en GitHub
En este escenario, decidimos incluir el proyecto DGA-Detective disponible en Github. Dicho proyecto ha sido desarrollado por el equipo de investigación SOCCRATES bajo financiación de la Unión Europea (Horizonte 2020). Su modelo se basa en redes TCN (Redes Neuronales Convolucionales Temporales), que son una variación de las redes neuronales convolucionales para tareas de modelado de secuencias, al combinar aspectos de las arquitecturas RNN y CNN.
Finalmente, al pasar nuestro dataset de prueba sobre el modelo de DGA-Detective, los resultados fueron de una exactitud de acierto del 96% y del 99% para cada una de las clases (No-DGA y DGA respectivamente), superando ampliamente al resto de modelos probados.
EGA Detector
Como base de conocimiento para el EGA Detector, hemos utilizado los leaks incluidos en el proyecto “Odin: Footprinting en la era del BigData” que se presentó en RootedCON 2016 entre Alejandro Ramos y Elías Grande. En dichos leaks encontramos 150 millones de e-mails, que tras eliminar duplicados e inconsistencias nos permitió disponer de 105 millones de emails legítimos. Por otro lado, recopilando e-mails reportados como maliciosos en Internet y abusando de la “feature” de lectura predictiva humana, generamos cerca de los 300 millones de e-mails maliciosos.
Tras el pre-procesado y disponer de los datos etiquetados, aplicamos un proceso iterativo de prueba de distintos modelos: MLP, CNN, Regresión Logística y XGBoost. Los mejores resultados los presentó RandomForestClassifier (RFC), que es un ensamble de árboles de decisión donde la clase predicha es la más votada entre todos los árboles del ensamble.
Este caso no es aislado ya que es algo frecuente que el algoritmo de clasificación RFC presente unos resultados mejores que sus compañeros clasificadores como se plasma en uno de los papers académicos más referenciados a día de hoy sobre el tema: M. Fernández-Delgado, E. Cernadas, S. Barro and D. Amorim, “Do We Need Hundreds of Classifiers to Solve Real World Classification Problems?”, 2014, .
Finalmente, tras aplicar técnicas de cross-validation para la optimización de los hiper-parámetros de RFC, la exactitud de predicción de los e-mails no legítimos (la precisión del modelo) es del 92% y el accuracy (precisión total del modelo) es de un 84%.
BlackList Service
La solución también incluye un servicio propio de blacklist tanto para e-mails como para dominios. Este servicio permite un “botón del pánico” para elevar el nivel de riesgo de aquellos e-mails que no hayan sido detectados como DGA o EGA. Además, el almacenamiento de estas blacklists sirve como base de conocimiento para futuros re-entrenamientos de los modelos ya que la degradación de los modelos de Machine Learning es común y de ahí que sea necesario los re-entrenamientos.
Servicios de terceros
Para cerrar el círculo, se ha enriquecido Cartuxeira con información de servicios de terceros. A esta información, al depender de la calidad del dato de cada servicio, se le da menos peso que a los cálculos realizados por los detectores DGA y EGA. Aun así, toda la información recopilada sirve para enriquecer de información la herramienta. Entre los servicios utilizados, destacamos DNSBL para la comprobación de blacklists, y Simple Email Reputation para la investigación de la presencia de un e-mail en Internet.
Conclusiones
Para finalizar, indicar que, un despliegue de Cartuxeira de manera centralizada en un organismo institucional o empresa puede beneficiar tanto a ciudadanos como empleados en la prevención del Phishing. Todo ello utilizando sólo direcciones de e-mail sin necesidad de analizar el cuerpo del e-mail o entrenar modelos con dicho cuerpo de los mensajes, lo cual podría suponer fuga de información confidencial (en función de la ubicación de los motores de Machine Learning) o problemas de privacidad por el contenido en cuestión.
Finalmente, tras aplicar técnicas de cross-validation para la optimización de los hiper-parámetros de RFC, la exactitud de predicción de los e-mails no legítimos (la precisión del modelo) es del 92% y el accuracy (precisión total del modelo) es de un 84%.
BlackList Service
La solución también incluye un servicio propio de blacklist tanto para e-mails como para dominios. Este servicio permite un “botón del pánico” para elevar el nivel de riesgo de aquellos e-mails que no hayan sido detectados como DGA o EGA. Además, el almacenamiento de estas blacklists sirve como base de conocimiento para futuros re-entrenamientos de los modelos ya que la degradación de los modelos de Machine Learning es común y de ahí que sea necesario los re-entrenamientos.
Servicios de terceros
Para cerrar el círculo, se ha enriquecido Cartuxeira con información de servicios de terceros. A esta información, al depender de la calidad del dato de cada servicio, se le da menos peso que a los cálculos realizados por los detectores DGA y EGA. Aun así, toda la información recopilada sirve para enriquecer de información la herramienta. Entre los servicios utilizados, destacamos DNSBL para la comprobación de blacklists, y Simple Email Reputation para la investigación de la presencia de un e-mail en Internet.
Conclusiones
Para finalizar, indicar que, un despliegue de Cartuxeira de manera centralizada en un organismo institucional o empresa puede beneficiar tanto a ciudadanos como empleados en la prevención del Phishing. Todo ello utilizando sólo direcciones de e-mail sin necesidad de analizar el cuerpo del e-mail o entrenar modelos con dicho cuerpo de los mensajes, lo cual podría suponer fuga de información confidencial (en función de la ubicación de los motores de Machine Learning) o problemas de privacidad por el contenido en cuestión.
Los algoritmos EGA plantean un nuevo enfoque a considerar, el cual abre múltiples vías de mejora e innovación gracias a la disponibilidad del código de Cartuxeira, para que por fin, la concienciación no sea la única herramienta disponible contra el Phishing.
Por último, recordad que exponer vuestra dirección de e-mail en Internet no es la mejor de las ideas, hay otras formas de estar contactable en la red y ponérselo difícil a los que quieran robar tu identidad, a los que quieran enviar Spam o Phishing, servicios como MyPublicInbox nos ayudan a estar contactables en la red sin exponer a cualquiera tu dirección personal de e-mail (que te va a acompañar mucho tiempo en tu vida), y por ahí puedes contactar con nosotros también.
Autores: Elias Grande y Ana de la Torre
No hay comentarios:
Publicar un comentario