Detección de phishing basado en características de la url
Publicado: 14 Ago 2020, 10:30
Título: Detección de phishing basado en características de la url
Descripcion:
-Trabajos pasados
Existen muchos trabajos para detectar phishing en una url basado en ciertas características, lo que varía en cada trabajo es el algoritmo de machine learning aplicado por el autor. Los algoritmos más usados son de redes neuronales, redes bayesianas, árboles de decisión, support vector machine, en algunos se usa la combinación de más de uno de ellos ("Phishing websites classification using hybrid svm and knn approach”), en otros casos se hace uso de un algoritmo para la optimización de la predicción. Estos se usan para poder entrenar un modelo en base a un conjunto de datos y poder predecir si una url es de phishing o no.
-Problema
El problema que se va a tratar es resolver los ataques de phishing, el cual es un método que consiste en imitar páginas web legítimas de una organización, ya sean bancos, redes sociales, páginas de compras, etc; todo esto con el fin de obtener la información del usuario, esta información puede ser contraseñas, nombres de usuario o detalles de tarjetas de crédito.
El phishing se puede realizar de diferentes maneras, los casos más comunes son por medio de mensajes de correos electrónicos, mensajes de texto o por mensajes a una red social, los cuales contienen url´s que aparentan ser legítimas. Estas direcciones web son hechas por atacantes que te redirección a una página que te pedirá información personal con el fin de robártela.
Una vez se consigue la información del usuario, el atacante puede hacer muchas cosas con esto, robo de dinero, robo de identidad, etc.
Para solucionar este problema se plantea definir características presentes en una url como la edad del dominio, la longitud de la url, la aparición de una dirección ip en el dominio, el ranking de la página en google, etc. Un dataset de estas características permitirá entrenar un modelo de machine learning para predecir si la página es de phishing o no.
-Algoritmos y resultados de la prueba
El autor usa 3 algoritmos de machine learning: árboles de decisión, redes bayesianas y redes neuronales y hace una comparación entre ellos para ver cual tiene mejor resultado.
También hace uso de 2 algoritmos para la selección de atributos, InfoGain y ReliefF, con esto pueden obtener las mejores características y descartar las que no ayudan a entrenar correctamente el modelo. Para aplicar los algoritmos el autor hace uso de la herramienta Weka que facilita la aplicación de algoritmos de machine learning a un conjunto de datos.
Para calcular el porcentaje de precisión del resultado de cada algoritmo se hace uso de la siguiente fórmula =(True posivite + True nevative)/(total de resultados)
Donde:
True positive: indica los resultados en los que se predijo que la url era una página de phishing y realmente si lo era.
False positive: es la cantidad de veces en la que se predijo que la página no era de phishing y si lo era.
False negative: es el caso en el que se predijo que la página no era de phishing y si lo era.
True negative: es la cantidad de veces en la que se predijo que no era una página de phishing y realmente no lo era.
Los experimentos hechos fueron, primero, se obtuvo resultados de los algoritmos de entrenamiento con todas las características, luego se hace uso de los algoritmos InfoGain y ReliefF para seleccionar las mejores características que ayuden el modelo, primero se hace uso de las primeros 5 mejores características, luego de 10 y al final de 15, tanto para el algoritmo InfoGain y ReliefF, lo cuál sería un total de 7 resultados (por cada algoritmo de entrenamiento) en los que se mide la precisión de la predicción y el tiempo que toma entrenar el modelo.
Adicionalmente, si hicieron dos experimentos adicionales, el primero consiste en hacer la intersección de las 15 mejores características del algoritmo InfoGain y ReliefF lo cual daría un total de 10 características. Y en el segundo experimento se tomará la unión de las mejores características obtenidas por ambos algoritmos mencionados anteriormente, lo cual daría un total de 20 características.
Para todos estos casos se corrieron los 3 algoritmos mencionados que son: árboles de decisión, random forest y redes neuronales. Se usarán 2 métricas para medir el rendimiento de un modelo, uno es el porcentaje de precisión explicado anteriormente y el segundo es el tiempo de entrenamiento del modelo.
Los mejores resultados se obtienen haciendo la unión de las mejores características obtenidas por los algoritmos InfoGain y ReliefF con un porcentaje de precisión de 98.11%. El menor resultado tiene una precisión de 89,75% y es obtenido por el algoritmo de Random Forest.
-Conclusiones
Una gran cantidad de características usadas en una url no es mucha ayuda ya que gran parte de ellas no ayuda a obtener buenos resultados y tampoco a entrenar correctamente el modelo.
Los algoritmos de machine learning tienen un alto porcentaje de precisión al momento de predecir si una url es de phishing o no.
Artículo 1:
Phishing Detection Based on Machine Learning and Feature Selection
Autor: Mohammed Almseidin
Artículo 2:
Comparison of Adaboost with MultiBoosting for Phishing Website Detection
Autor: Abdulhamit Subasi, Emir Kremic
Descripcion:
-Trabajos pasados
Existen muchos trabajos para detectar phishing en una url basado en ciertas características, lo que varía en cada trabajo es el algoritmo de machine learning aplicado por el autor. Los algoritmos más usados son de redes neuronales, redes bayesianas, árboles de decisión, support vector machine, en algunos se usa la combinación de más de uno de ellos ("Phishing websites classification using hybrid svm and knn approach”), en otros casos se hace uso de un algoritmo para la optimización de la predicción. Estos se usan para poder entrenar un modelo en base a un conjunto de datos y poder predecir si una url es de phishing o no.
-Problema
El problema que se va a tratar es resolver los ataques de phishing, el cual es un método que consiste en imitar páginas web legítimas de una organización, ya sean bancos, redes sociales, páginas de compras, etc; todo esto con el fin de obtener la información del usuario, esta información puede ser contraseñas, nombres de usuario o detalles de tarjetas de crédito.
El phishing se puede realizar de diferentes maneras, los casos más comunes son por medio de mensajes de correos electrónicos, mensajes de texto o por mensajes a una red social, los cuales contienen url´s que aparentan ser legítimas. Estas direcciones web son hechas por atacantes que te redirección a una página que te pedirá información personal con el fin de robártela.
Una vez se consigue la información del usuario, el atacante puede hacer muchas cosas con esto, robo de dinero, robo de identidad, etc.
Para solucionar este problema se plantea definir características presentes en una url como la edad del dominio, la longitud de la url, la aparición de una dirección ip en el dominio, el ranking de la página en google, etc. Un dataset de estas características permitirá entrenar un modelo de machine learning para predecir si la página es de phishing o no.
-Algoritmos y resultados de la prueba
El autor usa 3 algoritmos de machine learning: árboles de decisión, redes bayesianas y redes neuronales y hace una comparación entre ellos para ver cual tiene mejor resultado.
También hace uso de 2 algoritmos para la selección de atributos, InfoGain y ReliefF, con esto pueden obtener las mejores características y descartar las que no ayudan a entrenar correctamente el modelo. Para aplicar los algoritmos el autor hace uso de la herramienta Weka que facilita la aplicación de algoritmos de machine learning a un conjunto de datos.
Para calcular el porcentaje de precisión del resultado de cada algoritmo se hace uso de la siguiente fórmula =(True posivite + True nevative)/(total de resultados)
Donde:
True positive: indica los resultados en los que se predijo que la url era una página de phishing y realmente si lo era.
False positive: es la cantidad de veces en la que se predijo que la página no era de phishing y si lo era.
False negative: es el caso en el que se predijo que la página no era de phishing y si lo era.
True negative: es la cantidad de veces en la que se predijo que no era una página de phishing y realmente no lo era.
Los experimentos hechos fueron, primero, se obtuvo resultados de los algoritmos de entrenamiento con todas las características, luego se hace uso de los algoritmos InfoGain y ReliefF para seleccionar las mejores características que ayuden el modelo, primero se hace uso de las primeros 5 mejores características, luego de 10 y al final de 15, tanto para el algoritmo InfoGain y ReliefF, lo cuál sería un total de 7 resultados (por cada algoritmo de entrenamiento) en los que se mide la precisión de la predicción y el tiempo que toma entrenar el modelo.
Adicionalmente, si hicieron dos experimentos adicionales, el primero consiste en hacer la intersección de las 15 mejores características del algoritmo InfoGain y ReliefF lo cual daría un total de 10 características. Y en el segundo experimento se tomará la unión de las mejores características obtenidas por ambos algoritmos mencionados anteriormente, lo cual daría un total de 20 características.
Para todos estos casos se corrieron los 3 algoritmos mencionados que son: árboles de decisión, random forest y redes neuronales. Se usarán 2 métricas para medir el rendimiento de un modelo, uno es el porcentaje de precisión explicado anteriormente y el segundo es el tiempo de entrenamiento del modelo.
Los mejores resultados se obtienen haciendo la unión de las mejores características obtenidas por los algoritmos InfoGain y ReliefF con un porcentaje de precisión de 98.11%. El menor resultado tiene una precisión de 89,75% y es obtenido por el algoritmo de Random Forest.
-Conclusiones
Una gran cantidad de características usadas en una url no es mucha ayuda ya que gran parte de ellas no ayuda a obtener buenos resultados y tampoco a entrenar correctamente el modelo.
Los algoritmos de machine learning tienen un alto porcentaje de precisión al momento de predecir si una url es de phishing o no.
Artículo 1:
Phishing Detection Based on Machine Learning and Feature Selection
Autor: Mohammed Almseidin
Artículo 2:
Comparison of Adaboost with MultiBoosting for Phishing Website Detection
Autor: Abdulhamit Subasi, Emir Kremic