Detecte el phishing con web scraping

Desafortunadamente, el phishing es rentable, difícil de detectar y relativamente fácil de realizar. Con las transformaciones digitales aceleradas en todo el mundo, el phishing experimentará un crecimiento explosivo continuo.

Según Phishlabs, el número de intentos de phishing en el primer trimestre de 2021 aumentó casi un 50 %. Tampoco hay razón para creer que dejará de escalar.

Esto significa mayores niveles de daño y riesgo digital. Para contrarrestar dicho aumento, se deben probar nuevos enfoques de detección de phishing o mejorar los actuales. Una forma de mejorar los enfoques existentes es utilizar web scraping.

suplantación de identidad

Los phishers tendrían dificultades para replicar completamente el sitio web original. Colocar todas las URL de manera idéntica, replicar imágenes, hornear la edad del dominio, etc. requeriría más esfuerzo del que la mayoría de la gente estaría dispuesta a realizar.

Además, una suplantación de identidad perfecta probablemente tendría una tasa de éxito más baja debido a la posibilidad de que el objetivo se pierda (al hacer clic en una URL no relacionada). Finalmente, como con cualquier otra estafa, no es necesario engañar a todos, por lo que la réplica perfecta sería un esfuerzo inútil en la mayoría de los casos.

Sin embargo, los phishers no son estúpidos. O al menos los que lo logran no lo son. Siempre hacen todo lo posible para crear una réplica creíble con el menor esfuerzo necesario. Puede que no sea eficaz contra los expertos en tecnología, pero incluso una réplica perfecta puede no ser eficaz contra los desconfiados. En resumen, el phishing se trata de ser «lo suficientemente bueno».

Por lo tanto, debido a la naturaleza del negocio, siempre hay uno o dos agujeros evidentes por descubrir. Dos buenas maneras de comenzar son buscar similitudes entre los sitios web pirateados con frecuencia (por ejemplo, fintech, SaaS, etc.) y los sitios web sospechosos de phishing, o recopilar patrones de ataques conocidos y el progreso a partir de ahí.

Desafortunadamente, con el volumen de sitios web de phishing que aparecen diariamente y la intención de apuntar a personas menos expertas en tecnología, resolver el problema puede no ser tan sencillo como parece. Por supuesto, como suele ser el caso, la respuesta es la automatización.

Búsqueda de suplantación de identidad

Se han desarrollado más métodos a lo largo de los años. Un artículo de revisión de 2018 de ScienceDirect enumera la detección basada en URL, el reconocimiento de diseño y la detección basada en contenido. Los primeros a menudo van a la zaga de los phishers, ya que las bases de datos se actualizan más lentamente que los nuevos sitios web que aparecen. El reconocimiento de diseño se basa en la heurística humana y, por lo tanto, es más propenso a fallar. La detección basada en contenido es computacionalmente pesada.

Prestaremos un poco más de atención al reconocimiento de diseño y la detección basada en contenido, ya que estos son procesos complicados que se benefician enormemente del web scraping. En ese momento, un grupo de investigadores creó un marco para detectar sitios web de phishing llamado CANTINA. Fue un enfoque basado en el contenido que verificó datos como las proporciones TF-IDF, la edad del dominio, las URL sospechosas, el uso indebido de los signos de puntuación y más. Sin embargo, el estudio se publicó en 2007 cuando las posibilidades de automatización eran limitadas.

Web scraping puede mejorar significativamente el marco. En lugar de tratar manualmente de encontrar valores atípicos, las aplicaciones automatizadas pueden rastrear sitios web y descargar contenido relevante de ellos. Del contenido se pueden extraer, analizar y evaluar detalles importantes como los descritos anteriormente.

construir una red

CANTINA, desarrollada por los investigadores, tenía un inconveniente: solo se usaba para probar una hipótesis. Para estos fines, se ha compilado una base de datos de sitios web legítimos y de phishing. El estado de ambos era conocido a priori.

Tales métodos son adecuados para probar una hipótesis. No son tan buenos en la práctica cuando no conocemos el estado de los sitios web de antemano. Las aplicaciones prácticas de proyectos similares a CANTINA requerirían una cantidad significativa de esfuerzo manual. En algún momento, estas aplicaciones ya no se considerarían «prácticas».

Sin embargo, en teoría, el reconocimiento basado en el contenido parece ser un fuerte contendiente. Los sitios web de phishing deben reproducir el contenido de forma casi idéntica al original. Cualquier incongruencia, como imágenes fuera de lugar, faltas de ortografía, fragmentos de texto faltantes, pueden generar sospechas. Nunca pueden alejarse demasiado del original, lo que significa que las métricas como TF-IDF deben ser similares por necesidad.

La desventaja del reconocimiento basado en contenido ha sido el trabajo manual lento y costoso. Sin embargo, el web scraping cambia la mayor parte del esfuerzo manual a la automatización completa. En otras palabras, nos permite utilizar los métodos de detección existentes a una escala mucho mayor.

En primer lugar, en lugar de recopilar manualmente las URL o extraerlas de una base de datos ya existente, el raspado puede crear rápidamente las suyas propias. Se pueden recopilar a través de cualquier contenido que tenga hipervínculos o enlaces a estos supuestos sitios web de phishing en cualquier forma.

En segundo lugar, un raspador puede rastrear una colección de URL más rápido que cualquier humano. La descripción general manual tiene ventajas, como la capacidad de ver la estructura y el contenido de un sitio web tal como es en lugar de obtener el código HTML sin formato.

Las representaciones visuales, sin embargo, son de poca utilidad si usamos métodos matemáticos de detección como la profundidad del enlace y TF-IDF. Incluso pueden servir como una distracción, alejándonos de detalles importantes debido a la heurística.

El análisis también se convierte en una pista de detección. Los analizadores fallan con frecuencia si se producen cambios en el diseño o el diseño en el sitio web. Si hay errores de análisis inusuales contra el mismo proceso realizado en los sitios web principales, estos pueden servir como una indicación de un intento de phishing.

En última instancia, el raspado web no produce métodos completamente nuevos, al menos hasta donde yo sé, pero habilita los más antiguos. Ofrece una forma de escalar métodos que, de lo contrario, podrían ser demasiado costosos de implementar.

Echar una red

Con una infraestructura de web scraping adecuada, se puede acceder diariamente a millones de sitios web. Al igual que un raspador recopila HTML fuente, tenemos todo el contenido textual almacenado donde lo queremos. Unos pocos escaneos más tarde, el contenido de texto sin formato se puede usar para calcular TF-IDF. Un proyecto probablemente comenzaría recopilando todas las métricas importantes de los objetivos de phishing populares y pasaría a la detección.

Además, hay mucha información interesante que podemos extraer de la fuente. Todos los enlaces internos se pueden visitar y almacenar en un índice para crear una representación de la profundidad general del enlace.

Es posible detectar intentos de phishing construyendo un árbol de sitio web a través de la indexación con un rastreador web. La mayoría de los sitios web de phishing serán superficiales por las razones descritas anteriormente. Por otro lado, los intentos de phishing copian los sitios web de empresas bien establecidas. Estos tendrán grandes profundidades de enlace. La poca profundidad en sí misma podría ser un indicador de un intento de phishing.

Sin embargo, los datos recopilados se pueden usar para comparar TF-IDF, palabras clave, profundidad de enlace, edad del dominio, etc., con métricas de sitios web legítimos. La incompatibilidad sería una fuente de sospecha.

Hay una advertencia que debe decidirse «sobre la marcha»: ¿qué margen de diferencia es motivo para investigar? Se debe trazar una línea en la arena en algún lugar y, al menos inicialmente, tendrá que ser bastante arbitraria.

Además, hay una consideración importante para las direcciones IP y las ubicaciones. Es posible que parte del contenido de un sitio web de phishing solo sea visible para las direcciones IP de una ubicación geográfica específica (o no desde una ubicación geográfica específica). Resolver estos problemas, en circunstancias regulares, es difícil, pero los proxies ofrecen una solución fácil.

Dado que un proxy siempre tiene una ubicación y una dirección IP asociadas, un grupo lo suficientemente grande proporcionará cobertura global. Cada vez que se encuentra un bloque geográfico, un simple cambio de proxy es suficiente para eliminar el obstáculo.

Finalmente, el web scraping, por su naturaleza, permite descubrir una gran cantidad de datos sobre un tema específico. La mayor parte no está estructurada, algo que normalmente se fija mediante el análisis, y no está etiquetada, algo que normalmente fijan los humanos. Los datos estructurados y etiquetados pueden proporcionar una base excelente para los modelos de aprendizaje automático.

Terminar con el phishing

La construcción de un detector de phishing automatizado a través del web scraping produce una gran cantidad de datos para evaluar. Una vez evaluados, los datos generalmente perderían su valor. Sin embargo, al igual que con el reciclaje, esta información se puede reutilizar con algunos ajustes.

Los modelos de aprendizaje automático tienen la desventaja de requerir grandes cantidades de datos para comenzar a hacer predicciones de calidad aceptable. Sin embargo, si los algoritmos de detección de phishing comenzaran a utilizar web scraping, esta cantidad de datos se produciría de forma natural. Por supuesto, podría ser necesario el etiquetado, lo que requeriría un esfuerzo manual considerable.

Independientemente de esto, la información ya estaría estructurada para producir resultados aceptables. Aunque todos los modelos de aprendizaje automático son cajas negras, no son del todo opacos. Podemos predecir que los datos estructurados y etiquetados de cierta manera producirán ciertos resultados.

Para mayor claridad, los modelos de aprendizaje automático podrían considerarse como la aplicación de las matemáticas a la física. Algunos modelos matemáticos parecen adaptarse excepcionalmente bien a fenómenos naturales como la gravedad. La atracción gravitacional se puede calcular multiplicando la constante gravitacional por la masa de dos objetos y dividiendo el resultado por la distancia entre ellos al cuadrado. Sin embargo, si solo conociéramos los datos requeridos, no nos daría una idea de la gravedad en sí.

Los modelos de aprendizaje automático son muy parecidos. Una determinada estructura de datos produce los resultados esperados. Sin embargo, no está claro cómo llegan estos modelos a sus predicciones. Al mismo tiempo, en todas las etapas, el resto es como se esperaba. Así, salvo casos marginales, el carácter de “caja negra” no perjudica demasiado los resultados.

Además, los modelos de aprendizaje automático parecen estar entre los métodos más efectivos para detectar el phishing. Algunos rastreadores automatizados con implementaciones de ML podrían lograr una precisión del 99 %, según una investigación de Springer Link.

El futuro del web scraping

El web scraping parece ser el complemento perfecto para todas las soluciones de phishing actuales. Después de todo, la mayor parte de la seguridad cibernética involucra una gran cantidad de datos para tomar las decisiones de protección correctas. El phishing no es diferente. Al menos a través de la lente de la ciberseguridad.

Parece haber una santísima trinidad en la ciberseguridad que espera ser aprovechada en todo su potencial: análisis, web scraping y aprendizaje automático. Ha habido algunos intentos de combinar dos de los tres juntos. Sin embargo, todavía tengo que ver los tres explotados en todo su potencial.

Share This