Application of Decision Trees in the Identification of Fraudulent Websites

Application of Decision Trees in the Identification of Fraudulent Websites

Article Fingerprint

ReserarchID

CSTITEU1V2

Application of Decision Trees in the Identification of Fraudulent Websites Banner

AI TAKEAWAY

Connecting with the Eternal Ground
  • English
  • Afrikaans
  • Albanian
  • Amharic
  • Arabic
  • Armenian
  • Azerbaijani
  • Basque
  • Belarusian
  • Bengali
  • Bosnian
  • Bulgarian
  • Catalan
  • Cebuano
  • Chichewa
  • Chinese (Simplified)
  • Chinese (Traditional)
  • Corsican
  • Croatian
  • Czech
  • Danish
  • Dutch
  • Esperanto
  • Estonian
  • Filipino
  • Finnish
  • French
  • Frisian
  • Galician
  • Georgian
  • German
  • Greek
  • Gujarati
  • Haitian Creole
  • Hausa
  • Hawaiian
  • Hebrew
  • Hindi
  • Hmong
  • Hungarian
  • Icelandic
  • Igbo
  • Indonesian
  • Irish
  • Italian
  • Japanese
  • Javanese
  • Kannada
  • Kazakh
  • Khmer
  • Korean
  • Kurdish (Kurmanji)
  • Kyrgyz
  • Lao
  • Latin
  • Latvian
  • Lithuanian
  • Luxembourgish
  • Macedonian
  • Malagasy
  • Malay
  • Malayalam
  • Maltese
  • Maori
  • Marathi
  • Mongolian
  • Myanmar (Burmese)
  • Nepali
  • Norwegian
  • Pashto
  • Persian
  • Polish
  • Portuguese
  • Punjabi
  • Romanian
  • Russian
  • Samoan
  • Scots Gaelic
  • Serbian
  • Sesotho
  • Shona
  • Sindhi
  • Sinhala
  • Slovak
  • Slovenian
  • Somali
  • Spanish
  • Sundanese
  • Swahili
  • Swedish
  • Tajik
  • Tamil
  • Telugu
  • Thai
  • Turkish
  • Ukrainian
  • Urdu
  • Uzbek
  • Vietnamese
  • Welsh
  • Xhosa
  • Yiddish
  • Yoruba
  • Zulu
Font Type
Font Size
Font Size
Bedground

Abstract

Computer security is a very important area in any system that has an internet connection, because there are fraudulent websites that can carry out criminal actions towards a person, organization or other entity. Therefore, it is necessary to be able to detect which websites are fraudulent before being able to enter it, for this an implementation was developed through Decision Trees with the Python language to detect and classify them as Legitimate, Suspicious and Fraudulent through 1353 cases that they rank websites.

I. INTRODUCCiÓN

no de los cambios más notorios actualmente en el mundo, aún más por el tiempo de cuarentena, es el uso de Internet y de servicios Web, como son el comercio electrónico, el cual aumentó, por las circunstancias que atraviesa el mundo, Internet se convirtió no solo en un gran apoyo para la sociedad, que utiliza el E-commerce para poderse suministrar las necesidades que tenga, Internet también está siendo utilizado por delincuentes que roban la información de muchas personas y cometiendo actos fraudulentos, el cual genera pérdidas de miles de millones cada año, estos sitios web suelen presentarse como sitios web amigables y de fuentes legítimas de información, productos y servicios en línea.

Los sitios web fraudulentos tienen características, como son: SFH, Si el sitio web tiene definido la propiedad action en sus formularios de forma correcta dirigiendo los datos de los formularios a direcciones del mismo sitio web. PopUp Windows, Si el sitio tiene ventanas emergentes (PopUp). SSL Final State, Si el sitio web utiliza conexión SSL, que la misma presente un estado final válido. Request URL, cuando son objetos (imágenes, scripts, hojas de estilos) que son cargadas de otra URL distinta a la del sitio. URL of Anchor, cuando los objetos de una página son cargadas desde el mismo sitio o desde un subdominio del mismo. Web Traffic Si tiene configurado un analizador de tráfico web como el Google Analytics. URL Length Cantidad de caracteres de la dirección URL. Age of Domain, Cantidad de años que lleva activo el dominio de la URL. Have IP, Si tiene o no dirección IP. Las medidas existentes, que disponen los buscadores han mejorado pero no son suficientes para detectar sitios web fraudulentos, aún más por el esfuerzo de los que generan este tipo de sitios web para poder eludir estas medidas.

El uso de Árboles de Decisión resulta ser una buena opción para poder detectar los sitios web fraudulentos. Un árbol de decisión es una forma gráfica y analítica de representar todos los eventos (sucesos) que pueden surgir a partir de una decisión asumida en cierto momento. Nos ayudan a tomar la decisión "más acertada", desde un punto de vista probabilístico, ante un abanico de posibles decisiones. Permite desplegar visualmente un problema y organizar el trabajo de cálculos que deben realizarse.

El propósito de este artículo, es el desarrollo un detector de sitios web fraudulentos, a través de inteligencia artificial usando árboles de decisión, con uso librerías para desarrollar el aprendizaje en Python, teniendo 1353 casos en los que se clasifican los sitios web, que serán evaluados y empleando la herramienta Graphviz para visualizar el Árbol decisión resultante.

II. HErRaMiENtas

a) Dataset

Es un conjunto de datos conocido también por el anglicismo dataset, es una colección de datos habitualmente tabulados. En general, y en su versión más simple, un conjunto de datos corresponde a los contenidos de una única tabla de base de datos o una única matriz de datos estadística, donde cada columna de la tabla representa una variable en particular, y cada fila representa a un miembro determinado del conjunto de datos en cuestión [1].

La publicación de los conjuntos de datos usados en un experimento son clave para su reproducibilidad, y cada vez son más las leyes públicas y normas de revistas científicas que obligan a hacerlos públicos, para evitar sesgos. Existen muchas fuentes de datasets como kaggle, el mismo google tiene una plataforma para buscar dataset "Dataset Search" [2].

b) Colab

Colaboratory es un proyecto de investigación de Google creado para ayudar a difundir la educación y la investigación sobre Machine Learning. Es un entorno de Jupyter que no requiere configuración para su uso y se ejecuta completamente en la nube [3].

c) Funcionamiento

Colaboratory es gratuita y forma parte de la suite de aplicaciones de Google en la nube. Por ello, para utilizarlo basta con acceder a nuestra cuenta de Google y, o bien entrar directamente al enlace de Google Colab o ir a nuestro Google Drive, pulsar el botón de «Nuevo» y desplegar el menú de «Más» para seleccionar «Colaboratory», lo que creará un nuevo cuaderno (notebook) [4].

d) Entorno de Ejecución

Cada celda es independiente, pero todas las celdas en un cuaderno utilizan el mismo kernel. El kernel es el motor de computación que está por debajo y que se encarga de ejecutar nuestro código y devolver el resultado para mostrarlo en la celda. El estado del kernel persiste durante el tiempo, con lo que, aunque cada celda sea independiente, las variables declaradas en una celda se pueden utilizar en las demás celdas [4].

e) Librerías

from pandas import Series, DataFrame import pandas as pd

Figura 1: Librería Pandas

Pandas es una herramienta de manipulación de datos de alto nivel desarrollada por Wes McKinney. Es construido con el paquete Numpy y su estructura de datos clave es llamada el DataFrame. El DataFrame te permite almacenar y manipular datos tabulados en filas de observaciones y columnas de variables [5].

Importnumpyasnp

Figura 2: Librería Numpy

Numpy es la biblioteca central para la computación científica en Python. Proporciona un objeto de matriz multidimensional de alto rendimiento y herramientas para trabajar con estas matrices.[6].

import os import matplotlib.pylab as plt

Figura 3: Librería Matplotlib

Matplotlib es una biblioteca de trazado 2D de Python que produce figuras de calidad de publicación en una variedad de formatos impresos y entornos interactivos en todas las plataformas. matplotlib se puede usar en scripts de Python, el shell de python e ipython, servidores de aplicaciones web y seis juegos de herramientas de interfaz gráfica de usuario. matplotlib intenta hacer las cosas fáciles fáciles y las difíciles posibles. Puede generar gráficos, histogramas, espectros de potencia, gráficos de barras, gráficos de error, gráficos de dispersión, etc., con solo unas pocas líneas de código [7].

from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier frem sklearn.metrics import classification_report import sklearn.metrics

Figura 4: Librería Matplotlib

Scikit-learn anteriormente scikits.learn y también conocido como sklearn es una biblioteca de machine learning de software libre para el lenguaje de programación Python. [9] Cuenta con varios algoritmos de clasificación, regresión y agrupamiento que incluyen support-vector machines, random forests, gradient boosting, k-means y DBsCAN, y está diseñado para interoperar con las bibliotecas numéricas y científicas de Python NumPy y SciPy, sus principales algoritmos realizan [8]:

  • Classification: Identifica a qué categoría pertenece un objeto
  • Regression: Predice un atributo de valor continuo asociado con un objeto.
  • Clustering: Agrupación automática de objetos similares en conjuntos.
  • Dimensionality reduction: Reduce el número de variables aleatorias a considerar.
  • Model selection: Compara, valida y elige parámetros y modelos.

Preprocessing: Extrae y normaliza las características.

III. MÉTODOS Y METODOLOGÍA ComputaCiONAL

Se usó para el desarrollo de este detector de sitios web fraudulentos usamos el modelo CRISP-DM, la cual comprende de seis fases: análisis del problema, análisis de Datos, preparación de los Datos, modelado, evaluación y explotación[10].

  • La fuente de información fue un Dataset.csv, esto fue sacado de internet con datos reales, para poder construir un árbol de decisión utilizando las librerías sklearn, y se hizo uso de las funciones que nos brinda.
  • Análisis del problema: Identificamos qué tipos de clasificación tendrán las páginas que se van a probar, viendo que pueden ser tres, y también identificamos la información necesaria para poder hacer esta clasificación.
  • Análisis de Datos: con el dataset que obtuvimos, vimos que cantidad de información tiene, y las variables lingüísticas las clasificamos en números para su uso correcto con la librería que se trabajaría.
  • Preparación de Datos: Se hizo una limpieza del dataset, con las funciones que nos brinda la libre, como eliminación de campos vacíos, datos irrelevantes.
  • Modelado: Seleccionamos la técnica adecuada para poder hacer la clasificación.
  • Evaluación: Tuvimos que corroborar efectivamente que el modelo escogido se ajuste a lo que estamos buscando, en este caso poder clasificar los diferentes sitios web.

IV. RESULTADOS

Teniendo en cuenta las fases de la metodología CRISP-DM los siguientes son los resultados de cada una de las etapas:

a) Análisis Del Problema

La Dirección de Seguridad Informática de una universidad pretende desarrollar un sistema informático capaz de detectar si un sitio web es fraudulento.

) Análisis De Los Datos

Del dataset descargado de internet, después de consultar el número de casos de las tablas de hechos para los nueve eventos en cuestión como se muestra en la Figura 5, se cuenta con un número de 1353 datos por cada categoría. Sin embargo, no todos los eventos comparten las mismas características. Una primera modificación de atributos se realizó para estandarizar aquellas variables lingüísticas dentro del dataset. El número de eventos modificado es 7, y son los siguientes: SFH, popUpWindows, SSLfinalState, Request URL, URL of Anchor,web Traffic,Have IP y Clasificación del sitio web. Con el fin de obtener los atributos estandarizados para el estudio, se realizó una búsqueda y análisis inicial de errores de los atributos, cambiando la codificación utilizando el rango establecido entre -1, 0 y 1. Basado en la información recepcionada se selecciona Clasificación del sitio web como variable objetivo. Como resultado se obtuvo el repositorio inicial con los 1353 datos, y sirvió de base para las siguientes etapas de este proceso.

Figura 5: Mapa De Burbujas De Los Rasgos a Evaluar
Figura 5: Mapa De Burbujas De Los Rasgos a Evaluar

c)Preparación De Los Datos

Se realizó un análisis de la calidad de los datos del dataset, donde se identificó por cada atributo el número de valores distintos, el número de valores nulos, el valor máximo, valor mínimo, media y moda. Como resultado de este proceso, se seleccionaron los 9 eventos, sobre el cual se aplicaron las técnicas de modelado. Todos estos atributos son características propias del tema evaluado.

d) Modelado

Con el fin de encontrar o descubrir sitios web fraudulentos, se seleccionó el modelo de clasificación basado en árboles de decisión. La clasificación con árboles de decisión considera clases disjuntas, de forma que el árbol conducirá mediante sus hojas a la predicción diseñada. Después de construido el modelo servirá para determinar en nuevos casos, el tipo de sitio web visitado. Para esta tarea, se escogió como clase el atributo clasificación que determina si el sitio web es fraudulenta, sospechosa, o legítima.

Para evaluar la calidad del modelo, se dividió el repositorio de datos en dos conjuntos: entrenamiento y prueba. Se empleó el 75 % de los datos para el entrenamiento del modelo, mientras que el 25 % restante se utilizó para la prueba. Los grupos de datos antes explicados se toman de forma aleatoria en cada iteración. Se calculó el error de muestra parcial del modelo por cada iteración. Por último se construyó el modelo con todos los datos.

Para la lectura de los resultados de la evaluación se utiliza la matriz de confusión. Se visualiza una matriz de confusión tomada de un ejemplo aleatorio del proyecto. Además de la matriz, se visualiza la precisión del árbol, todo esto se muestra en la Figura 6.

Figura 6: Matriz De Confusión Y Precisión Del Árbol Evaluación
Figura 6: Matriz De Confusión Y Precisión Del Árbol Evaluación

Analizando los resultados de las pruebas de clasificación con árboles de decisión realizadas con el conjunto de datos, en el cual se almacenan los datos de 1353 casos, se puede observar que el árbol de decisión construido con un factor de entrenamiento del 75 % , esto quiere decir 1014 casos tomados aleatoriamente, y un número de casos de evaluación correspondiente al 25 % que representa a los 339 casos restantes, con 285 instancias correctamente clasificadas, que corresponden a un porcentaje de precisión del 84 , 07 % y 54 instancias incorrectamente clasificadas, correspondiente a un porcentaje de error del 15 , 93 % . El árbol de decisión generado evalúa cada caso buscando que la entropía se iguale a cero. En algunas ramas, los resultados se visualizan en capas superiores, y de esta manera, mientras se aumenta la profundidad del árbol se encuentra mayor cantidad de resultados. El árbol de decisión es de tipo binario, ya que solo muestra dos ramas hijas, algunas concluyendo en hojas de manera temprana. El algoritmo genera la repartición y categorización de los nodos hijos haciendo una evaluación ponderada, utilizando teoría de árboles de decisión, y brindando un número que sirve de particionador en nodo hijo izquierdo y nodo hijo derecho, así sucesivamente hasta llegar al final. Cada nodo hoja evalúa la partición de cada evento, además de su entropía, mostrando también el número de datos evaluados y mostrando cuantos pertenecen a cada sección de la clasificación (fraudulento = 1 , sospechoso = 0 y legítimo = 1 ).

f) Implementación

Teniendo en cuenta los patrones descubiertos, es importante implementar planes de prevención que permitan disminuir los sitios web fraudulentos. Implementar programas de de ciber seguridad que permitan prevenir la infiltración delictiva. De igual manera, se deben redoblar esfuerzos en educación de seguridad cibernética y sanciones más enérgicas contra los infractores.

Este conocimiento descubierto se incorporará al existente y se integrará a los procesos de toma de decisiones de los analizadores de sitios web fraudulentos, proporcionando nuevos panoramas.

V. DISCUSión

Según la matriz de confusión de la Figura 2, el modelo clasifica correctamente al 43 , 95 % de casos fraudulentos, al 4 , 72 % de casos sospechosos y al 35 , 40 % de casos legítimos. Por otra parte, la precisión con la clase real de este modelo es de 0,84 que se considera aceptable (1,0 significa que ha habido precisión absoluta). Los porcentajes de instancias correctamente clasificados presentados en el árbol como en la matriz de confusión indican que el modelo tiene una buena precisión, por lo tanto es confiable y eficiente, para clasificar nuevos casos, especialmente fraudulentos y legítimos. Este estudio da resultados aceptables que servirán de base al estudio futuro de reconocimiento de sitios web fraudulentos.

VI. CONClUSIONES

Los resultados obtenidos con el modelo de clasificación por árboles de decisión, indican que este es capaz de generar modelos consistentes con la realidad observada y el respaldo teórico, basándose únicamente en los datos que se encuentran almacenados en el dataset.

Los porcentajes de instancias correctamente clasificadas presentados en el árbol como en la matriz de confusión muestran que el modelo tiene una precisión buena y por consiguiente es confiable para clasificar nuevos casos, especialmente de sitios web fraudulentos y legítimos. El factor de confianza sirve de respaldo a los porcentajes antes expuestos.

Como trabajos futuros se plantea utilizar otros clasificadores para comparar estos resultados y mejorar la precisión (por ejemplo regresión logística), especialmente en los sitios web fraudulentos y aumentar el porcentaje de evaluación de sospechosos; aplicar tareas descriptivas de minería de datos como asociación y agrupación, con el fin de encontrar relaciones y similitudes, según el tipo de sitio web analizado.

Dentro de esta investigación no hubo conflicto de intereses.

References

8 Cites in Article
  1. Mary Tinti (2020). Colab.
  2. Sisca Octarina,Fitri Puspita,Evi Yuliza,Indrawati Indrawati (2020). PENDAMPINGAN PENGGUNAAN GOOGLE COLAB PADA PEMBELAJARAN PYTHON DAN MACHINE LEARNING BAGI DOSEN MATEMATIKA DI PALEMBANG.
  3. (2020). Pandas Basics -Learn Python -Free Interactive Python Tutorial.
  4. (2020). NumPy.
  5. S Programacion En Castellano (2020). Introducción a la librería Matplotlib de Python.
  6. David Paper (2020). Scikit-Learn Regression Tuning.
  7. Fabian Pedregosa,; Gaël Varoquaux,Alexandre Gramfort,Vincent Michel,; Bertrand Thirion,; Olivier,Grisel; Mathieu Blondel,Peter Prettenhofer,Ron Weiss,Vincent Dubourg,Jake Vanderplas,Alexandre Passos,David Cournapeau,Matthieu Perrot,Édouard Duchesnay (2011). Scikit-learn: Machine Learning in Python.
  8. J Gallardo (2007). Metodología para el Desarrollo de Proyectos en Minería de Datos CRISP-DM" oldemarrodriguez.

Funding

No external funding was declared for this work.

Conflict of Interest

The authors declare no conflict of interest.

Ethical Approval

No ethics committee approval was required for this article type.

Data Availability

Not applicable for this article.

How to Cite This Article

Christian Fernández, José Canaza, David Ugarte, Jhon Quispe. 2026. "Application of Decision Trees in the Identification of Fraudulent Websites". Global Journal of Computer Science and Technology - H: Information & Technology GJCST-H Volume 22 (GJCST Volume 22 Issue H1).

Download Citation

High-quality research on decision trees for identifying fraudulent websites and enhancing cybersecurity.
Journal Specifications

Crossref Journal DOI 10.17406/gjcst

Print ISSN 0975-4350

e-ISSN 0975-4172

Keywords
Classification
GJCST-H Classification DDC Code: 621.38928 LCC Code: TH9737
Version of record

v1.2

Issue date
July 19, 2022

Language
Spanish
Experiance in AR

Explore published articles in an immersive Augmented Reality environment. Our platform converts research papers into interactive 3D books, allowing readers to view and interact with content using AR and VR compatible devices.

Read in 3D

Your published article is automatically converted into a realistic 3D book. Flip through pages and read research papers in a more engaging and interactive format.

Article Matrices
Total Views: 904
Total Downloads: 82
All Trends

Request Access

Please fill out the form below to request access to this research paper. Your request will be reviewed by the editorial or author team.
X

This is the heading

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

High-quality academic research articles on global topics and journals.

Application of Decision Trees in the Identification of Fraudulent Websites

Christian Fernández
Christian Fernández
José Canaza
José Canaza
David Ugarte
David Ugarte
Jhon Quispe
Jhon Quispe