paint-brush
Así es como creamos un detector de sitios web de phishing en tiempo real para MacOSpor@moonlock
3,160 lecturas
3,160 lecturas

Así es como creamos un detector de sitios web de phishing en tiempo real para MacOS

por Moonlock (by MacPaw)5m2024/08/26
Read on Terminal Reader

Demasiado Largo; Para Leer

Descubra cómo el equipo Moonlock de MacPaw desarrolló un detector de sitios web de phishing en tiempo real de última generación para macOS. Esta solución integrada en el dispositivo mejora la seguridad al advertir instantáneamente a los usuarios sobre amenazas de phishing sin depender del procesamiento en la nube, lo que garantiza una detección más rápida y una mejor privacidad.
featured image - Así es como creamos un detector de sitios web de phishing en tiempo real para MacOS
Moonlock (by MacPaw) HackerNoon profile picture
0-item

Esta solución antiphishing en tiempo real para macOS lleva la detección basada en referencias a un nuevo nivel, advirtiendo instantáneamente a los usuarios de Mac que están en un sitio web de phishing.

Primero, antecedentes

¿Cuántos sitios web de phishing únicos se publicaron en 2023? El Grupo de Trabajo Antiphishing contado Casi 5 millones. A principios de 2024, la división de ciberseguridad de MacPaw, Moonlock reportado sobre el ladrón de AMOS que se basa en sitios web falsos de marcas confiables para distribuir malware en computadoras Apple. No solo infectan nuestros dispositivos, sino que también recopilan las credenciales de las víctimas con fines maliciosos. Los sitios web falsificados son peligrosos, por lo que mi equipo y yo decidimos hacer algo al respecto.


La solución que describo a continuación comenzó como un experimento de prueba de concepto en Bloqueo de luna . Resolvimos los problemas en el departamento de I+D tecnológico de MacPaw y presentamos el prototipo funcional en STAST 2024. Nuestro documento de posición describió la solución en detalle y se cargó originalmente en arXiv.org Continúe leyendo para conocer un adelanto de nuestra aplicación antiphishing.

¿Qué tenemos entre manos en este momento?

Las aplicaciones antiphishing actuales utilizan principalmente tres métodos de detección: listas negras, enfoque basado en la clasificación y enfoque basado en referencias. Cada método tiene sus ventajas, pero todos requieren mejoras adicionales. Analicemos cada uno de ellos.

Lista negra

El método de la lista negra es práctico y preciso, pero no puede seguir el ritmo de la rápida propagación de los sitios web de phishing. No siempre es eficaz, ya que es posible que sea necesario añadir nuevos sitios web de phishing a la lista, mientras que los atacantes suelen cambiar las URL para evitar ser detectados.


Por ejemplo, Google Safe Browsing utiliza listas de sitios web de phishing conocidos. Cuando intentas visitar un sitio web, comprueba la dirección con esta lista. Si hay una coincidencia, bloquea el acceso y te advierte sobre el peligro. Pero, ¿qué pasa si el sitio web se publicó hace apenas unos minutos? No estará en la lista y el usuario quedará atrapado.

Enfoque basado en la clasificación

En este método antiphishing, el aprendizaje automático analiza características de la página web, como las estructuras de URL, el contenido HTML y los metadatos, para determinar si un sitio web es falso o legítimo. La clasificación es excelente para las extensiones del navegador porque aprende de los datos del usuario para detectar nuevos sitios de phishing.


La desventaja es que el aprendizaje automático requiere algoritmos complejos y una gran cantidad de datos de entrenamiento, mientras que los cibercriminales inventan rápidamente nuevas tácticas de ofuscación para evadir la detección. Esto hace que los enfoques basados en la clasificación sean menos precisos y no sean ideales para productos de seguridad independientes.

Enfoque basado en referencias

Algunas de las soluciones basadas en referencias se consideran de última generación. Utilizan la visión artificial para analizar la apariencia de las páginas web y detectar eficazmente los sitios web de phishing. Sin embargo, lo que también vemos es que las soluciones basadas en referencias podrían ser más rápidas si no procesaran los casos de phishing en la nube.


Existe un lapso de tiempo crítico entre la publicación de un sitio web de phishing y el momento en que los sistemas de detección basados en referencias lo agregan a la lista. Queríamos reducir este lapso para garantizar una detección y una respuesta más rápidas.

Cómo funciona nuestra aplicación antiphishing nativa para macOS

Nuestro objetivo era advertir a los usuarios de Mac sobre los sitios web de phishing tan pronto como se publican. Para lograrlo, adoptamos el enfoque basado en referencias y lo mejoramos. Eliminamos el procesamiento en la nube y sugerimos realizar todos los cálculos de forma local, con el objetivo de reducir el tiempo de detección. Como beneficio adicional, nuestra solución mejora la privacidad, ya que todos los datos del usuario se procesan en el dispositivo y no van a ningún otro lugar.


Creamos una aplicación nativa para macOS usando Swift, incorporando marcos para captura de pantalla y aprendizaje automático. Al convertir nuestros modelos a CoreML formato, garantizamos un rendimiento fluido y minimizamos el uso de recursos del sistema. De esta manera, nuestro prototipo escanea continuamente páginas web en segundo plano, protegiendo a los usuarios de Mac de sitios web de phishing sin requerir interacciones adicionales. El prototipo funciona independientemente de los navegadores. macOS Accesibilidad El marco y los metadatos de accesibilidad ayudan a que la aplicación se centre en determinadas regiones de interés para que sepa dónde buscar phishing.


Así es como funciona en pocas palabras.

Primer paso: análisis de la página web

Cuando estamos en un sitio web, nuestra aplicación intenta comprender el diseño de la página. Identifica elementos clave de la página, como logotipos, campos de entrada y botones. Para esta tarea, elegimos DETR con ResNet-50 Por su precisión y rendimiento.


En este paso, es importante reconocer la ubicación de los elementos en el sitio web, particularmente el área con el logotipo de la marca y los formularios para ingresar credenciales.

Segundo paso: atribución de marca

A continuación, el prototipo comprueba si el logotipo detectado en el sitio web coincide con alguna marca conocida. Además, compara la URL de la página web con una lista de referencia de sitios web legítimos. Si el sitio web es oficial, omitimos los pasos siguientes.


Por otra parte, nos sorprendió ver cuántos dominios oficiales utilizan las marcas para fines de marketing. No es de extrañar que los sitios web de phishing sean tan eficaces a la hora de engañar a sus víctimas. Por ejemplo, DHL tiene varios dominios oficiales como dhl.com, express.dhl, mydhli.com, dhlsameday.com y dhlexpresscommerce.com.

Tercer paso: evitar la recolección de credenciales

Clasificamos la página web en dos categorías: si requiere credenciales o no. Este paso verifica si un sitio web de phishing está intentando robar información personal del usuario.


En la captura de pantalla, nuestro prototipo encontró campos de entrada de credenciales, atribuyó la página a DHL y comparó la URL con la lista de dominios oficiales de DHL. El usuario recibió una advertencia de phishing ya que la página no pertenece a DHL.

¿Qué tan preciso es el prototipo?

Nuestro sistema mantiene o supera la precisión de referencia y, sin duda, tiene tiempos de procesamiento más rápidos. Logramos una precisión del 90,8 % en el reconocimiento de logotipos y del 98,1 % en la detección de ingreso de credenciales.


El gráfico a continuación muestra nuestro desempeño en comparación con otras soluciones antiphishing y cómo nos comparamos en precisión, recuperación y tasa de falsos positivos. Con orgullo detectamos el 87,7 % de los intentos de phishing, mientras que mantuvimos la tasa de falsos positivos en un bajo 3,4 %.

Es rápido y fluido también.

Las métricas finales demuestran que nuestra solución funciona sin problemas en segundo plano sin una pérdida de rendimiento notable. El uso de CPU es mínimo: con ocho núcleos en el Mac M1 de Apple, nuestro prototipo utiliza solo el 16 % de la capacidad disponible del 800 %. Este nivel de consumo es similar a tres pestañas activas de Safari o una llamada de Zoom.

Reflexiones finales

Existen muchas aplicaciones antiphishing en el mercado, pero la mayoría procesa datos en servidores externos. Nuestro prototipo muestra que el hardware de los ordenadores modernos nos permite incorporar modelos de aprendizaje automático localmente en el dispositivo. Podemos usarlos para combatir el phishing sin preocuparnos por la velocidad de procesamiento ni por el uso de los recursos del sistema. Afortunadamente, el ecosistema de Apple ofrece marcos y herramientas para la optimización.


Autor: Ivan Petrukha, ingeniero de investigación sénior en MacPaw Technological R&D, ex-Moonlock.