Analysis of Time Windows to
Detect Botnet’s Behaviour
1
2
SI TIENES
PREGUNTAS
DURANTE LA CHARLA
INGRESA AL CÓDIGO
QR E INGRESA ESTE
NÚMERO
#22617qrco.de/preguntar
Christian Urcuqui MSc
Security Data Scientist
Investigador - U ICESI
Director de TI - Quantil S.A.S
ulcamilo@gmail.com
https://github.com/urcuqui
Julio Cesar Gaviria J
Aspirante Ing. Sistemas - U ICESI
Junior Developer
ITEFECTIVOS S.A.S
julio.gaviria@correo.icesi.edu.co
https://github.com/JulioCe98
Anderson Ramirez
Aspirante Ing. Sistemas - U ICESI
anderson.ramirez@correo.icesi.edu.co
https://github.com/anzeloo
3
4
¿100% de seguridad?
5
Amenazas digitales no registradas o
estudiadas
Malas prácticas y desconocimiento en
ciberseguridad
Requerimientos no funcionales
Vulnerabilidades
Nuevas tecnologías
El empleado infeliz / insiders
Motivación
6
Motivación
7
Firmas Anomalías
8
Las soluciones convencionales de ciberseguridad requieren de un
proceso de identificación, es decir, un esfuerzo humano que implica
tiempo y recursos
Motivación
9
Uno de los caminos más prometedores es la aplicación de algoritmos de aprendizaje de
máquina (machine learning) que permitan ser más eficiente la labor de identificación de
nuevas amenazas
Motivación
Chan, P. K. & Lippmann, R. P. (2006). Machine learning for computer security. The Journal of Machine Learning Research, 7, 2669-
2672.
10
IEEE COMPUTER SOCIETY. (2019). IEEE Computer Society’s Top 12 Technology Trends for
2020. Via https://www.computer.org/press-room/2019-news/ieee-computer-societys-top-12-technology-trends-
for-2020
11
Resultados
MLSec y ciencia de datos
● Para detección de
Android Malware
● Detección de sitios web
maliciosos
● Detección de deepfake
● Detección de
cryptojacking
https://librerianacional.com/producto/ciberseguri
dad-un-enfoque-desde-la-ciencia-de-datos
https://www.icesi.edu.co/editorial/ci
berseguridad
12
Resultados - Datasets
Kaggle
https://www.kaggle.com/xwolf12/datasetandroidpermissions
https://www.kaggle.com/xwolf12/network-traffic-android-malware
IEEE DataPort
https://ieee-dataport.org/documents/dataset-malwarebeningn-permissions-
android
Kaggle
https://www.kaggle.com/xwolf12/malicious-and-benign-websites
IEEE DataPort
https://ieee-dataport.org/documents/malicious-and-benign-websites
13
La ciencia de datos es un área que tiene como
objetivo obtener elementos de valor de distintas
fuentes de información a través de técnicas y
herramientas que incluyen métodos de estadística,
minería de datos, machine learning y visualización.
Es decir, esta área busca entender y encontrar
patrones en los datos con la finalidad de
generar modelos que representan al contexto
de la información.
Ciencia de datos
Urcuqui, Christian., García, M., Osorio, J., Navarro, A. Ciberseguridad, un
enfoque desde la ciencia de datos. (2018). Editorial Universidad ICESI
14
Análisis estático Análisis dinámico
Ciencia de datos y ciberseguridad
15
Análisis estático Análisis
dinámico
Machine Learning Scott, A. Dilbert - Machine Learning. Via
http://dilbert.com/strip/2013-02-02
16
Análisis estático Análisis
dinámico
Machine Learning
Busca que un sistema tenga la capacidad de aprender en entornos variables sin ser programado de
forma explícita.
● Aprendizaje supervisado
● Aprendizaje no supervisado
● Aprendizaje semisupervisado
● Aprendizaje por refuerzo
Urcuqui, C., & Navarro, A. (2016). Machine learning classifiers for
android malware analysis. In 2016 IEEE Colombian Conference on
Communications and Computing (COLCOM) (pp. 1-6). IEEE.
17
Análisis estático Análisis
dinámico
Los datos
Urcuqui, Christian. (2020). Los datos son la respuesta. IEEE ComSoc
Latin America Region.
18
Comunicación
López, C. C. U., Peña, M. G., Quintero, J. L. O., & Cadavid,
A. N. (2016). Antidefacement-State of art. Sistemas &
Telemática, 14(39), 9-27.
Urcuqui, C., Navarro, A., Osorio, J., & García, M. (2017).
Machine Learning Classifiers to Detect Malicious
Websites. In SSN (pp. 14-17).
Urcuqui, C, Villarreal, J., Belalcazar, A., Navarro, A. , &
Cely, J. (2018). Features to Detect Android Malware. In
2018 IEEE Colombian Conference on Communications
and Computing (COLCOM) (pp. 1-6). IEEE.
19
Análisis estático Análisis
dinámico
Los datos
https://ec.europa.eu/research/participants/documents/downloadPublic?documentIds=080166e5b2afb39d&appId=PPGMS
20
https://www.eje21.com.co/2020/03/colombia-sufrio-mas-de-48-
billones-de-intentos-de-ciberataques-en-el-2019/
https://www.elfinanciero.com.mx/bloomberg-businessweek/la-historia-
del-hacker-que-desconecto-un-pais
https://www.xataka.com.mx/seguridad/caso-hacker-que-tuvo-durante-
ocho-anos-avanzada-botnet-que-solo-usaba-para-descargar-videos-
anime
https://www.criptonoticias.com/seguridad-bitcoin/miles-servidores-
microsoft-infectados-botnets-mineros-2018/
SPAMHAUS. (2019). Botnet Threat Report 2019. via
https://www.spamhaus.org/news/images/full-2019/spamhaus-botnet-threat-report-2019.pdf
21
Botnet
maliciosa
● Formation
● C&C
● Attack
● Post-Attack
22
&
Modelo de desarrollo
Incremental
CrispDM
Investigaciones
anteriores
23
24
Fase I:
Análisis y
descripción
de pcaps
En esta fase se procede a extraer
y analizar la materia prima con
la que trabajamos.
Adquisición
de datos
25
18
80
● Peticiones
HTTP Top
Alexa
Pcaps
benignos
Service title here
A peep at some distant orb has power to
raise and purify our thought
● Tráfico de
Comando y
Control
Pcaps
malignos
● En un archivo
CSV
Guardar los
pcaps
26
¿Qué contenía el csv?
Ejemplo CSV
Maligno
27
Fase II:
Creación del
dataset
insumo
En esta fase se procede a la
implementación del laboratorio
de investigación
Laboratorio de investigación
28
Pcaps a Nfpcaps Renombrar pcaps Nfpcaps a CSV
Generador dataset
insumo
Laboratorio de investigación
29
Pcaps a Nfpcaps Renombrar pcaps Nfpcaps a CSV
Generador dataset
insumo
Laboratorio de investigación
30
Pcaps a Nfpcaps Renombrar pcaps Nfpcaps a CSV
Generador dataset
insumo
Laboratorio de investigación
31
Pcaps a Nfpcaps Renombrar pcaps Nfpcaps a CSV
Generador dataset
insumo
Enfoque
32
Decidimos escoger el enfoque
de ventanas de tiempo porque
superaba en muchos aspectos
al enfoque de trabajar con
netflows
Time
windows
Netflow
33
Desbalance en
los datos
● 258.178
malignas
● 519
benignas
Técnica aplicada
+ 649
ventanas
de tiempo
Dataset
insumo
34
258.178
ventanas de tiempo
Malignas
Benignas
El dataset a usar en los
experimentos quedó conformado
con la siguiente cantidad de
registros.
1.168
ventanas de tiempo
Variables del
dataset insumo
35
Gaviria, J. Julio Cesar, Ramirez H
Anderson (2020). Analysis of Time
Windows to Detect Botnets Behavior
Tesis de pregrado, ingeniera de
sistemas. Universidad Icesi.
36
Preparación de datos &
modelos de ML
Knn
Naive
bayes
Regresión
logística
Random Forest
Classifier
Protocolos de
evaluación
37
Protocolos
● Accuracy
● Precisión
● Recall
● F-1 score
● Kappa
Métricas
Cross
Validatio
n
Holdout
Hold-out
validation
set
Hold-out
evaluation
set
38
Fase III: Analitica
de Datos
En esta fase se procede a
transformar la materia prima
(los datos) en gráficos, los cuales
permitirán evidenciar patrones
de comportamiento propios de
las Botnets
Experimentos
39
I II
Experimento I Comparación
Datasets
Benignos
Experimento
II
“Cada vez que el hombre realiza un experimento, aprende más. Es
imposible que aprenda menos” Richard Buckminster Fuller
III
Experimento
III
Intermediate
Experimento I
40
519 Benignas
1319
Ventanas de
Tiempo
Descripción
Debido a la poca cantidad de
ventanas de tiempo benignas, se
procedió a utilizar una cantidad
equilibrada de datos con el fin de
obtener resultados no
desbalanceados.
800 Malignas
Experimento I
41
70% Training
100%
Datos de
testeo
Descripción
Se procedió hacer uso de la
técnica de holdout para separar
los datos de entrenamiento y
testeo
30% Testing
42
Variables
P1_ib
Percentil 25% de todas las entradas de
bytes en la ventana de tiempo
Avg_bps
Promedio de bits por segundo en la
ventana de tiempo
First_sp
Top 1 de los puertos de origen en la
ventana de tiempo
Duration
Duración total de la ventana de tiempo
Number_dp
Número total de puertos de destino
usados en la ventana de tiempo
EDA + Feature
Importance
Total Variables - Feature Importance = 14
43
Variables
First_Protocol
Top I de los protocolos usados en la
ventana de tiempo
Number_sp
Número total de puertos de origen
usados en la ventana de tiempo
Bytes
Número total de Bytes de la ventana de
tiempo
P2_ib
Percentil 50% de todas las entradas de
bytes en la ventana de tiempo
First_dp
Top I de los puertos de destino en la
ventana de tiempo
EDA + Feature
Importance
Total Variables - Feature Importance = 14
44
Variables
P3_d
Percentil 75% de todas las duraciones
de la ventana de tiempo
Netflows
Cantidad de Netflows en la ventana de
tiempo
P3_ib
Percentil 75% de todas las entradas de
Bytes en la ventana de tiempo
Second_Protocol
Top II de los protocolos usados en la
ventana de tiempo
EDA + Feature
Importance
Total Variables - Feature Importance = 14
45
Resultados
Experimento I
VS
46
Prueba Real
Experimento I
Una vez obtenidos los
resultados de entrenamiento
y testeo, se procede a probar
con datos REALES obtenidos
en nuestro laboratorio Ventanas de tiempo
Benignas
649
47
KNN Random
Forest
VS
Resultados Experimento I
con datos de nuestro Lab
48
KNN Random
Forest
VS
Resultados Experimento I
con datos de nuestro Lab
Comparación
entre Datasets
49
519
Stratosphere
1038
Ventanas de
Tiempo
Descripción
Debido a los resultados obtenidos
en el Experimento I, fue necesario
dar respuesta a la pregunta ¿Existe
alguna diferencia entre nuestro
dataset benigno y el que procede
del laboratorio de Stratosphere?
519 Nuestra Investigación
Variables P3_ib,
Number_sp y
Number_dp
50
Descripción
Existen diferencias significativas en el
número de puertos de origen y
destino usados en ambas
investigaciones. Además, el percentil
75% de bytes de ingreso presenta
una mayor distribución en nuestra
investigación
Percentil 75% de todas las
entradas de bytes en la
ventana de tiempo
Número total de puertos de
origen usados en la ventana de
tiempo
Número total de puertos de
destino usados en la ventana
de tiempo
Variable Netflows
51
Descripción
En esta variable existe una baja
concentración de Netflows en las
ventanas de tiempo que obtuvimos
con nuestro Lab. Stratosphere ofrece
un mayor número de conexiones p2p
Cantidad de Netflows en la ventana de tiempo
Variable
First_Protocol
52
Descripción
Podemos observar que el protocolo
UDP fue uno de los protocolos más
utilizados y tanto en los datos de
Stratosphere como en los nuestros,
se presenta en grandes cantidades.
Sin embargo, el protocolo UDP tiene
más registros en los datos de
Stratosphere y TCP tiene más
registros en los datos generados por
nuestro laboratorio.
Nuestra Investigación
Stratosphere Lab
Top I de los protocolos
usados en la ventana de
tiempo
Variable
Second_Protocol
53
Descripción
Podemos observar que existe una alta
concentración de datos en el protocolo
TCP. Sin embargo, nuestros datos
presentan más registros TCP que
Stratosphere. De igual forma sucede en los
protocolos UDP e ICMP.
Sin embargo, Stratosphere presenta más
registros de datos en un protocolo no
evidenciado en nuestros registros, el cual
es el protocolo None. None es un protocolo
no identificado por la herramienta NFDUMP,
el cual es categorizado como un protocolo
desconocido.
Nuestra Investigación
Stratosphere Lab
Top II de los protocolos más
usados en la ventana de
tiempo
Experimento II
54
519 Benignas Stratosphere
2368
Ventanas de
Tiempo
Descripción
Se procedió a incluir los datos
obtenidos por nuestro laboratorio,
con el fin de entrenar de una
manera robusta los algoritmos de
Machine Learning
649 Benignas Nuestra
Investigación
1200 Malignas
55
Variables
Bytes
Número total de Bytes en la ventana de
tiempo
Avg_pps
Promedio de paquetes por segundo en
la ventana de tiempo
Avg_bps
Promedio de bits por segundo en la
ventana de tiempo
P2_ib
Percentil 50% de todas las entradas de
Bytes en las ventanas de tiempo
Number_sp
Número total de puertos de origen
usados en las ventanas de tiempo
EDA + Feature
Importance
Total Variables - Feature Importance = 12
56
Variables
Duration
Duración total de la ventana de tiempo
Number_dp
Número total de puertos de destino
usados en la ventana de tiempo
First-Protocol
Top I de los protocolos usados en la
ventana de tiempo
First_sp
Top I de los puertos de origen en la
ventana de tiempo
Netflows
Cantidad de Netflows en la ventana de
tiempo
EDA + Feature
Importance
Total Variables - Feature Importance = 12
57
Variables
P3_d
Percentil 75% de todas las duraciones
en la ventana de tiempo
P3_ib
Percentil 75% de todas las entradas de
Bytes en la ventana de tiempo
EDA + Feature
Importance
Total Variables - Feature Importance = 12
58
Resultados
Experimento II
VS
Experimento I vs II
59
Experimento III
60
Descripción
Este experimento permitió verificar la
calidad de nuestros modelos de ML.
Los datos que se pueden observar
corresponden a datos malignos y se
inyectaron directamente al aplicativo
con el fin de comprobar si
efectivamente eran detectados.
Experimento III
61
Descripción
Una vez comprobado los datasets
malignos, se procedió a realizar una
serie de pruebas con datos
“benignos”, extrayendolos
directamente de la red, variando la
cantidad de paquetes en las
muestras, con el fin de verificar aún
más los modelos
62
Fase IV:
Aplicativo Web
En esta fase se procede a
desarrollar el aplicativo web, que
permitirá automatizar el proceso
de toma de muestras y
generación de predicciones
63
El aplicativo permite ingresar con tu
correo electrónico, al cual enviará un
mensaje si efectivamente encuentra
un comportamiento anómalo
Command and
Control
Detector
Descripción
Command and
Control
Detector
64
Descripción
Permite a un usuario generar
predicciones acerca de si el tráfico que
presenta actualmente su red, posee
evidencias de comportamientos
propios de la fase de comando y
control de las Botnets.
65
Demostración
Command and
Control
Detector
Descripción
66
Resultados más
importantes
En este apartado se procede a
analizar y sacar conclusiones
sobre los resultados obtenidos
en el Experimento II de la
presente investigación
Variables
Avg_bps, Avg_pps
y
Bytes
67
Descripción
Los datos benignos poseen un rango
mucho mayor que los malignos.
Podemos explicar este comportamiento
en que:
● Las comunicaciones producidas por
servidores de C&C, tienden a enviar
periódicamente comandos de
sincronización, pero no desean
mantener conexiones que perduren
en el tiempo, a diferencia de las
comunicaciones normales
Promedio de bits por segundo en la ventana de tiempo
Promedio de paquetes por segundo en la ventana de tiempo
Variables
Avg_bps, Avg_pps
y
Bytes
68
Descripción
Los datos benignos poseen un rango
mucho mayor que los malignos.
Podemos explicar este comportamiento
en que:
● Las comunicaciones producidas por
servidores de C&C, tienden a enviar
periódicamente comandos de
sincronización, pero no desean
mantener conexiones que perduren
en el tiempo, a diferencia de las
comunicaciones normales
Número total de bytes en la ventana de tiempo
Variables
Duración y
Netflows
69
Descripción
En los gráficos de estas variables
podemos confirmar la hipótesis reflejada
en las la anterior presentación
Duración total de la ventana de tiempo
Cantidad total de Netflows en la ventana de tiempo
Variables
Number_dp y
Number_sp
70
Descripción
Podemos observar que los flujos
normales de datos utilizan un rango
mucho más amplio de puertos, definidos
en el tipo de comunicaciones y
protocolos que desean utilizar. En
cambio, las comunicaciones malignas
utilizan un número de puertos mucho
más bajo, debido a que los
cibercriminales de por sí ya conocen
cuales puertos son los más vulnerables
Número total de puertos de destino en la
ventana de tiempo
Número total de puertos de origen en la
ventana de tiempo
Variables
First_Protocol
71
Descripción
Podemos evidenciar que los datos
benignos utilizan protocolos como UDP,
TCP e ICMP para la trasmisión de datos
Las comunicaciones malignas pueden
transmitir su flujo de datos por medio de
estos mismos protocolos, pero la
diferencia radica en que también hacen
uso de protocolos como ICMP6 y un
protocolo no reconocido por la
herramienta de NFDUMP.
Top I de los protocolos más usados en las
ventanas de tiempo
Variables P1_ib y
p3_ib
72
Descripción
Podemos evidenciar que las
comunicaciones malignas presentan un
rango mucho mayor que los flujos
normales de datos. Podemos pensar que
esto se debe a que los servidores de C&C
periódicamente pueden obligar a los
“zombies“ a realizar diferentes tipos de
actividades ilícitas
Percentil 25% de todas las entradas de bytes en
la ventana de tiempo
Percentil 75% de todas las entradas de bytes en
la ventana de tiempo
Variable First_sp
73
Descripción
Podemos evidenciar que los datos
benignos utilizan frecuentemente puertos
como el 53 (DNS), 443 (HTTPS), 80 (HTTP)
y otros puertos relacionados con
protocolos TCP/UDP.
Sin embargo, podemos observar que en
los datos malignos existe un alto uso del
puerto 0, siguiéndole el 443 (HTTPS) y el
8080 (HTTP).
Benignos
Malignos
Top 1 de los puertos de origen en la ventana de
tiempo
74
Conclusiones
En este apartado se procede a
mencionar las conclusiones de
nuestra investigación
Las conexiones
malignas
NO
perduran en el
tiempo
Netflows
Duration
“Cantidad de Netflows
en la ventana de tiempo”
“Duración total de la
ventana de tiempo”
75
Las conexiones
malignas
ya conocen
los puertos mas
vulnerables
Number_dp
Number_sp
“Número total de puertos
de origen usados en las
ventanas de tiempo”
“Número total de puertos
de destino usados en las
ventanas de tiempo”
76
Las distinción
entre
Protocolos
es
clara
First_Protocol
“Top I de los protocolos
más usados en las
ventanas de tiempo”
77
y qué es ese
Protocolo
None?
First_Sp
Benignos
Malignos
“Top I de los puertos de
origen en la ventana de
tiempo”
78
¿Puerto 0?
79
Descripción
La explicación del puerto 0 lo hace
realmente efectivo para los ataques de
agotamiento de ancho de banda DDoS
(Jones, 2013). Si la víctima intenta
bloquear el puerto 0, el equipo de reenvío
de red puede rechazar la ACL como
referencia a un puerto no legítimo y en
este caso podríamos pensar que los
servidores de C&C lo utilizan por esa
misma justificación.
Benignos
Malignos
Variable First_sp
80
El uso de 259.346 ventanas de
tiempo permitió reducir almacenamiento y
procesamiento de datos, a diferencia de haber
trabajado con Netflows, lo cual permitió entrenar
modelos de ML con una detección entre 90.4 y 99.8%
El experimento II través del entrenamiento de 1.168
benignas y 1.200 malignas obtener al KNN y random
forest como los mejores modelos con una precisión
de 99.8% y kappa de 99.7%
A través del uso de 13 variables pudimos concluir que
las conexiones malignas conocen puertos más
vulnerables, no perduran en tiempo y evidencian
tráfico por puerto 0 como técnica para DDoS.
81
El uso de 259.346 ventanas de
tiempo permitió reducir almacenamiento y
procesamiento de datos, a diferencia de haber
trabajado con Netflows, lo cual permitió entrenar
modelos de ML con una detección entre 90.4 y 99.8%
El experimento II través del entrenamiento de 1.168
benignas y 1.200 malignas obtener al KNN y random
forest como los mejores modelos con una precisión
de 99.8% y kappa de 99.7%
A través del uso de 13 variables pudimos concluir que
las conexiones malignas conocen puertos más
vulnerables, no perduran en tiempo y evidencian
tráfico por puerto 0 como técnica para DDoS.
82
El uso de 259.346 ventanas de
tiempo permitió reducir almacenamiento y
procesamiento de datos, a diferencia de haber
trabajado con Netflows, lo cual permitió entrenar
modelos de ML con una detección entre 90.4 y 99.8%
El experimento II través del entrenamiento de 1.168
benignas y 1.200 malignas obtener al KNN y random
forest como los mejores modelos con una precisión
de 99.8% y kappa de 99.7%
A través del uso de 13 variables pudimos concluir que
las conexiones malignas conocen puertos más
vulnerables, no perduran en tiempo y evidencian
tráfico por puerto 0 como técnica para DDoS.
83
https://github.com/i2tResearch/Ciberseguridad
Muchas Gracias por
su atención!
84
Christian Urcuqui MSc
ulcamilo@gmail.com
https://github.com/urcuqui
Julio Cesar Gaviria
julio.gaviria@correo.icesi.edu.co
https://github.com/JulioCe98
Anderson Ramirez
anderson.ramirez@correo.icesi.edu.co
https://github.com/anzeloo
85
SI TIENES
PREGUNTAS
DURANTE LA CHARLA
INGRESA AL CÓDIGO
QR E INGRESA ESTE
NÚMERO
#22617qrco.de/preguntar

Analysis of time windows to detect botnets behaviours

  • 1.
    Analysis of TimeWindows to Detect Botnet’s Behaviour 1
  • 2.
    2 SI TIENES PREGUNTAS DURANTE LACHARLA INGRESA AL CÓDIGO QR E INGRESA ESTE NÚMERO #22617qrco.de/preguntar
  • 3.
    Christian Urcuqui MSc SecurityData Scientist Investigador - U ICESI Director de TI - Quantil S.A.S ulcamilo@gmail.com https://github.com/urcuqui Julio Cesar Gaviria J Aspirante Ing. Sistemas - U ICESI Junior Developer ITEFECTIVOS S.A.S julio.gaviria@correo.icesi.edu.co https://github.com/JulioCe98 Anderson Ramirez Aspirante Ing. Sistemas - U ICESI anderson.ramirez@correo.icesi.edu.co https://github.com/anzeloo 3
  • 4.
  • 5.
    5 Amenazas digitales noregistradas o estudiadas Malas prácticas y desconocimiento en ciberseguridad Requerimientos no funcionales Vulnerabilidades Nuevas tecnologías El empleado infeliz / insiders Motivación
  • 6.
  • 7.
  • 8.
    8 Las soluciones convencionalesde ciberseguridad requieren de un proceso de identificación, es decir, un esfuerzo humano que implica tiempo y recursos Motivación
  • 9.
    9 Uno de loscaminos más prometedores es la aplicación de algoritmos de aprendizaje de máquina (machine learning) que permitan ser más eficiente la labor de identificación de nuevas amenazas Motivación Chan, P. K. & Lippmann, R. P. (2006). Machine learning for computer security. The Journal of Machine Learning Research, 7, 2669- 2672.
  • 10.
    10 IEEE COMPUTER SOCIETY.(2019). IEEE Computer Society’s Top 12 Technology Trends for 2020. Via https://www.computer.org/press-room/2019-news/ieee-computer-societys-top-12-technology-trends- for-2020
  • 11.
    11 Resultados MLSec y cienciade datos ● Para detección de Android Malware ● Detección de sitios web maliciosos ● Detección de deepfake ● Detección de cryptojacking https://librerianacional.com/producto/ciberseguri dad-un-enfoque-desde-la-ciencia-de-datos https://www.icesi.edu.co/editorial/ci berseguridad
  • 12.
    12 Resultados - Datasets Kaggle https://www.kaggle.com/xwolf12/datasetandroidpermissions https://www.kaggle.com/xwolf12/network-traffic-android-malware IEEEDataPort https://ieee-dataport.org/documents/dataset-malwarebeningn-permissions- android Kaggle https://www.kaggle.com/xwolf12/malicious-and-benign-websites IEEE DataPort https://ieee-dataport.org/documents/malicious-and-benign-websites
  • 13.
    13 La ciencia dedatos es un área que tiene como objetivo obtener elementos de valor de distintas fuentes de información a través de técnicas y herramientas que incluyen métodos de estadística, minería de datos, machine learning y visualización. Es decir, esta área busca entender y encontrar patrones en los datos con la finalidad de generar modelos que representan al contexto de la información. Ciencia de datos Urcuqui, Christian., García, M., Osorio, J., Navarro, A. Ciberseguridad, un enfoque desde la ciencia de datos. (2018). Editorial Universidad ICESI
  • 14.
    14 Análisis estático Análisisdinámico Ciencia de datos y ciberseguridad
  • 15.
    15 Análisis estático Análisis dinámico MachineLearning Scott, A. Dilbert - Machine Learning. Via http://dilbert.com/strip/2013-02-02
  • 16.
    16 Análisis estático Análisis dinámico MachineLearning Busca que un sistema tenga la capacidad de aprender en entornos variables sin ser programado de forma explícita. ● Aprendizaje supervisado ● Aprendizaje no supervisado ● Aprendizaje semisupervisado ● Aprendizaje por refuerzo Urcuqui, C., & Navarro, A. (2016). Machine learning classifiers for android malware analysis. In 2016 IEEE Colombian Conference on Communications and Computing (COLCOM) (pp. 1-6). IEEE.
  • 17.
    17 Análisis estático Análisis dinámico Losdatos Urcuqui, Christian. (2020). Los datos son la respuesta. IEEE ComSoc Latin America Region.
  • 18.
    18 Comunicación López, C. C.U., Peña, M. G., Quintero, J. L. O., & Cadavid, A. N. (2016). Antidefacement-State of art. Sistemas & Telemática, 14(39), 9-27. Urcuqui, C., Navarro, A., Osorio, J., & García, M. (2017). Machine Learning Classifiers to Detect Malicious Websites. In SSN (pp. 14-17). Urcuqui, C, Villarreal, J., Belalcazar, A., Navarro, A. , & Cely, J. (2018). Features to Detect Android Malware. In 2018 IEEE Colombian Conference on Communications and Computing (COLCOM) (pp. 1-6). IEEE.
  • 19.
    19 Análisis estático Análisis dinámico Losdatos https://ec.europa.eu/research/participants/documents/downloadPublic?documentIds=080166e5b2afb39d&appId=PPGMS
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
    24 Fase I: Análisis y descripción depcaps En esta fase se procede a extraer y analizar la materia prima con la que trabajamos.
  • 25.
    Adquisición de datos 25 18 80 ● Peticiones HTTPTop Alexa Pcaps benignos Service title here A peep at some distant orb has power to raise and purify our thought ● Tráfico de Comando y Control Pcaps malignos ● En un archivo CSV Guardar los pcaps
  • 26.
    26 ¿Qué contenía elcsv? Ejemplo CSV Maligno
  • 27.
    27 Fase II: Creación del dataset insumo Enesta fase se procede a la implementación del laboratorio de investigación
  • 28.
    Laboratorio de investigación 28 Pcapsa Nfpcaps Renombrar pcaps Nfpcaps a CSV Generador dataset insumo
  • 29.
    Laboratorio de investigación 29 Pcapsa Nfpcaps Renombrar pcaps Nfpcaps a CSV Generador dataset insumo
  • 30.
    Laboratorio de investigación 30 Pcapsa Nfpcaps Renombrar pcaps Nfpcaps a CSV Generador dataset insumo
  • 31.
    Laboratorio de investigación 31 Pcapsa Nfpcaps Renombrar pcaps Nfpcaps a CSV Generador dataset insumo
  • 32.
    Enfoque 32 Decidimos escoger elenfoque de ventanas de tiempo porque superaba en muchos aspectos al enfoque de trabajar con netflows Time windows Netflow
  • 33.
    33 Desbalance en los datos ●258.178 malignas ● 519 benignas Técnica aplicada + 649 ventanas de tiempo
  • 34.
    Dataset insumo 34 258.178 ventanas de tiempo Malignas Benignas Eldataset a usar en los experimentos quedó conformado con la siguiente cantidad de registros. 1.168 ventanas de tiempo
  • 35.
    Variables del dataset insumo 35 Gaviria,J. Julio Cesar, Ramirez H Anderson (2020). Analysis of Time Windows to Detect Botnets Behavior Tesis de pregrado, ingeniera de sistemas. Universidad Icesi.
  • 36.
    36 Preparación de datos& modelos de ML Knn Naive bayes Regresión logística Random Forest Classifier
  • 37.
    Protocolos de evaluación 37 Protocolos ● Accuracy ●Precisión ● Recall ● F-1 score ● Kappa Métricas Cross Validatio n Holdout Hold-out validation set Hold-out evaluation set
  • 38.
    38 Fase III: Analitica deDatos En esta fase se procede a transformar la materia prima (los datos) en gráficos, los cuales permitirán evidenciar patrones de comportamiento propios de las Botnets
  • 39.
    Experimentos 39 I II Experimento IComparación Datasets Benignos Experimento II “Cada vez que el hombre realiza un experimento, aprende más. Es imposible que aprenda menos” Richard Buckminster Fuller III Experimento III Intermediate
  • 40.
    Experimento I 40 519 Benignas 1319 Ventanasde Tiempo Descripción Debido a la poca cantidad de ventanas de tiempo benignas, se procedió a utilizar una cantidad equilibrada de datos con el fin de obtener resultados no desbalanceados. 800 Malignas
  • 41.
    Experimento I 41 70% Training 100% Datosde testeo Descripción Se procedió hacer uso de la técnica de holdout para separar los datos de entrenamiento y testeo 30% Testing
  • 42.
    42 Variables P1_ib Percentil 25% detodas las entradas de bytes en la ventana de tiempo Avg_bps Promedio de bits por segundo en la ventana de tiempo First_sp Top 1 de los puertos de origen en la ventana de tiempo Duration Duración total de la ventana de tiempo Number_dp Número total de puertos de destino usados en la ventana de tiempo EDA + Feature Importance Total Variables - Feature Importance = 14
  • 43.
    43 Variables First_Protocol Top I delos protocolos usados en la ventana de tiempo Number_sp Número total de puertos de origen usados en la ventana de tiempo Bytes Número total de Bytes de la ventana de tiempo P2_ib Percentil 50% de todas las entradas de bytes en la ventana de tiempo First_dp Top I de los puertos de destino en la ventana de tiempo EDA + Feature Importance Total Variables - Feature Importance = 14
  • 44.
    44 Variables P3_d Percentil 75% detodas las duraciones de la ventana de tiempo Netflows Cantidad de Netflows en la ventana de tiempo P3_ib Percentil 75% de todas las entradas de Bytes en la ventana de tiempo Second_Protocol Top II de los protocolos usados en la ventana de tiempo EDA + Feature Importance Total Variables - Feature Importance = 14
  • 45.
  • 46.
    46 Prueba Real Experimento I Unavez obtenidos los resultados de entrenamiento y testeo, se procede a probar con datos REALES obtenidos en nuestro laboratorio Ventanas de tiempo Benignas 649
  • 47.
  • 48.
  • 49.
    Comparación entre Datasets 49 519 Stratosphere 1038 Ventanas de Tiempo Descripción Debidoa los resultados obtenidos en el Experimento I, fue necesario dar respuesta a la pregunta ¿Existe alguna diferencia entre nuestro dataset benigno y el que procede del laboratorio de Stratosphere? 519 Nuestra Investigación
  • 50.
    Variables P3_ib, Number_sp y Number_dp 50 Descripción Existendiferencias significativas en el número de puertos de origen y destino usados en ambas investigaciones. Además, el percentil 75% de bytes de ingreso presenta una mayor distribución en nuestra investigación Percentil 75% de todas las entradas de bytes en la ventana de tiempo Número total de puertos de origen usados en la ventana de tiempo Número total de puertos de destino usados en la ventana de tiempo
  • 51.
    Variable Netflows 51 Descripción En estavariable existe una baja concentración de Netflows en las ventanas de tiempo que obtuvimos con nuestro Lab. Stratosphere ofrece un mayor número de conexiones p2p Cantidad de Netflows en la ventana de tiempo
  • 52.
    Variable First_Protocol 52 Descripción Podemos observar queel protocolo UDP fue uno de los protocolos más utilizados y tanto en los datos de Stratosphere como en los nuestros, se presenta en grandes cantidades. Sin embargo, el protocolo UDP tiene más registros en los datos de Stratosphere y TCP tiene más registros en los datos generados por nuestro laboratorio. Nuestra Investigación Stratosphere Lab Top I de los protocolos usados en la ventana de tiempo
  • 53.
    Variable Second_Protocol 53 Descripción Podemos observar queexiste una alta concentración de datos en el protocolo TCP. Sin embargo, nuestros datos presentan más registros TCP que Stratosphere. De igual forma sucede en los protocolos UDP e ICMP. Sin embargo, Stratosphere presenta más registros de datos en un protocolo no evidenciado en nuestros registros, el cual es el protocolo None. None es un protocolo no identificado por la herramienta NFDUMP, el cual es categorizado como un protocolo desconocido. Nuestra Investigación Stratosphere Lab Top II de los protocolos más usados en la ventana de tiempo
  • 54.
    Experimento II 54 519 BenignasStratosphere 2368 Ventanas de Tiempo Descripción Se procedió a incluir los datos obtenidos por nuestro laboratorio, con el fin de entrenar de una manera robusta los algoritmos de Machine Learning 649 Benignas Nuestra Investigación 1200 Malignas
  • 55.
    55 Variables Bytes Número total deBytes en la ventana de tiempo Avg_pps Promedio de paquetes por segundo en la ventana de tiempo Avg_bps Promedio de bits por segundo en la ventana de tiempo P2_ib Percentil 50% de todas las entradas de Bytes en las ventanas de tiempo Number_sp Número total de puertos de origen usados en las ventanas de tiempo EDA + Feature Importance Total Variables - Feature Importance = 12
  • 56.
    56 Variables Duration Duración total dela ventana de tiempo Number_dp Número total de puertos de destino usados en la ventana de tiempo First-Protocol Top I de los protocolos usados en la ventana de tiempo First_sp Top I de los puertos de origen en la ventana de tiempo Netflows Cantidad de Netflows en la ventana de tiempo EDA + Feature Importance Total Variables - Feature Importance = 12
  • 57.
    57 Variables P3_d Percentil 75% detodas las duraciones en la ventana de tiempo P3_ib Percentil 75% de todas las entradas de Bytes en la ventana de tiempo EDA + Feature Importance Total Variables - Feature Importance = 12
  • 58.
  • 59.
  • 60.
    Experimento III 60 Descripción Este experimentopermitió verificar la calidad de nuestros modelos de ML. Los datos que se pueden observar corresponden a datos malignos y se inyectaron directamente al aplicativo con el fin de comprobar si efectivamente eran detectados.
  • 61.
    Experimento III 61 Descripción Una vezcomprobado los datasets malignos, se procedió a realizar una serie de pruebas con datos “benignos”, extrayendolos directamente de la red, variando la cantidad de paquetes en las muestras, con el fin de verificar aún más los modelos
  • 62.
    62 Fase IV: Aplicativo Web Enesta fase se procede a desarrollar el aplicativo web, que permitirá automatizar el proceso de toma de muestras y generación de predicciones
  • 63.
    63 El aplicativo permiteingresar con tu correo electrónico, al cual enviará un mensaje si efectivamente encuentra un comportamiento anómalo Command and Control Detector Descripción
  • 64.
    Command and Control Detector 64 Descripción Permite aun usuario generar predicciones acerca de si el tráfico que presenta actualmente su red, posee evidencias de comportamientos propios de la fase de comando y control de las Botnets.
  • 65.
  • 66.
    66 Resultados más importantes En esteapartado se procede a analizar y sacar conclusiones sobre los resultados obtenidos en el Experimento II de la presente investigación
  • 67.
    Variables Avg_bps, Avg_pps y Bytes 67 Descripción Los datosbenignos poseen un rango mucho mayor que los malignos. Podemos explicar este comportamiento en que: ● Las comunicaciones producidas por servidores de C&C, tienden a enviar periódicamente comandos de sincronización, pero no desean mantener conexiones que perduren en el tiempo, a diferencia de las comunicaciones normales Promedio de bits por segundo en la ventana de tiempo Promedio de paquetes por segundo en la ventana de tiempo
  • 68.
    Variables Avg_bps, Avg_pps y Bytes 68 Descripción Los datosbenignos poseen un rango mucho mayor que los malignos. Podemos explicar este comportamiento en que: ● Las comunicaciones producidas por servidores de C&C, tienden a enviar periódicamente comandos de sincronización, pero no desean mantener conexiones que perduren en el tiempo, a diferencia de las comunicaciones normales Número total de bytes en la ventana de tiempo
  • 69.
    Variables Duración y Netflows 69 Descripción En losgráficos de estas variables podemos confirmar la hipótesis reflejada en las la anterior presentación Duración total de la ventana de tiempo Cantidad total de Netflows en la ventana de tiempo
  • 70.
    Variables Number_dp y Number_sp 70 Descripción Podemos observarque los flujos normales de datos utilizan un rango mucho más amplio de puertos, definidos en el tipo de comunicaciones y protocolos que desean utilizar. En cambio, las comunicaciones malignas utilizan un número de puertos mucho más bajo, debido a que los cibercriminales de por sí ya conocen cuales puertos son los más vulnerables Número total de puertos de destino en la ventana de tiempo Número total de puertos de origen en la ventana de tiempo
  • 71.
    Variables First_Protocol 71 Descripción Podemos evidenciar quelos datos benignos utilizan protocolos como UDP, TCP e ICMP para la trasmisión de datos Las comunicaciones malignas pueden transmitir su flujo de datos por medio de estos mismos protocolos, pero la diferencia radica en que también hacen uso de protocolos como ICMP6 y un protocolo no reconocido por la herramienta de NFDUMP. Top I de los protocolos más usados en las ventanas de tiempo
  • 72.
    Variables P1_ib y p3_ib 72 Descripción Podemosevidenciar que las comunicaciones malignas presentan un rango mucho mayor que los flujos normales de datos. Podemos pensar que esto se debe a que los servidores de C&C periódicamente pueden obligar a los “zombies“ a realizar diferentes tipos de actividades ilícitas Percentil 25% de todas las entradas de bytes en la ventana de tiempo Percentil 75% de todas las entradas de bytes en la ventana de tiempo
  • 73.
    Variable First_sp 73 Descripción Podemos evidenciarque los datos benignos utilizan frecuentemente puertos como el 53 (DNS), 443 (HTTPS), 80 (HTTP) y otros puertos relacionados con protocolos TCP/UDP. Sin embargo, podemos observar que en los datos malignos existe un alto uso del puerto 0, siguiéndole el 443 (HTTPS) y el 8080 (HTTP). Benignos Malignos Top 1 de los puertos de origen en la ventana de tiempo
  • 74.
    74 Conclusiones En este apartadose procede a mencionar las conclusiones de nuestra investigación
  • 75.
    Las conexiones malignas NO perduran enel tiempo Netflows Duration “Cantidad de Netflows en la ventana de tiempo” “Duración total de la ventana de tiempo” 75
  • 76.
    Las conexiones malignas ya conocen lospuertos mas vulnerables Number_dp Number_sp “Número total de puertos de origen usados en las ventanas de tiempo” “Número total de puertos de destino usados en las ventanas de tiempo” 76
  • 77.
    Las distinción entre Protocolos es clara First_Protocol “Top Ide los protocolos más usados en las ventanas de tiempo” 77
  • 78.
    y qué esese Protocolo None? First_Sp Benignos Malignos “Top I de los puertos de origen en la ventana de tiempo” 78
  • 79.
    ¿Puerto 0? 79 Descripción La explicacióndel puerto 0 lo hace realmente efectivo para los ataques de agotamiento de ancho de banda DDoS (Jones, 2013). Si la víctima intenta bloquear el puerto 0, el equipo de reenvío de red puede rechazar la ACL como referencia a un puerto no legítimo y en este caso podríamos pensar que los servidores de C&C lo utilizan por esa misma justificación. Benignos Malignos Variable First_sp
  • 80.
    80 El uso de259.346 ventanas de tiempo permitió reducir almacenamiento y procesamiento de datos, a diferencia de haber trabajado con Netflows, lo cual permitió entrenar modelos de ML con una detección entre 90.4 y 99.8% El experimento II través del entrenamiento de 1.168 benignas y 1.200 malignas obtener al KNN y random forest como los mejores modelos con una precisión de 99.8% y kappa de 99.7% A través del uso de 13 variables pudimos concluir que las conexiones malignas conocen puertos más vulnerables, no perduran en tiempo y evidencian tráfico por puerto 0 como técnica para DDoS.
  • 81.
    81 El uso de259.346 ventanas de tiempo permitió reducir almacenamiento y procesamiento de datos, a diferencia de haber trabajado con Netflows, lo cual permitió entrenar modelos de ML con una detección entre 90.4 y 99.8% El experimento II través del entrenamiento de 1.168 benignas y 1.200 malignas obtener al KNN y random forest como los mejores modelos con una precisión de 99.8% y kappa de 99.7% A través del uso de 13 variables pudimos concluir que las conexiones malignas conocen puertos más vulnerables, no perduran en tiempo y evidencian tráfico por puerto 0 como técnica para DDoS.
  • 82.
    82 El uso de259.346 ventanas de tiempo permitió reducir almacenamiento y procesamiento de datos, a diferencia de haber trabajado con Netflows, lo cual permitió entrenar modelos de ML con una detección entre 90.4 y 99.8% El experimento II través del entrenamiento de 1.168 benignas y 1.200 malignas obtener al KNN y random forest como los mejores modelos con una precisión de 99.8% y kappa de 99.7% A través del uso de 13 variables pudimos concluir que las conexiones malignas conocen puertos más vulnerables, no perduran en tiempo y evidencian tráfico por puerto 0 como técnica para DDoS.
  • 83.
  • 84.
    Muchas Gracias por suatención! 84 Christian Urcuqui MSc ulcamilo@gmail.com https://github.com/urcuqui Julio Cesar Gaviria julio.gaviria@correo.icesi.edu.co https://github.com/JulioCe98 Anderson Ramirez anderson.ramirez@correo.icesi.edu.co https://github.com/anzeloo
  • 85.
    85 SI TIENES PREGUNTAS DURANTE LACHARLA INGRESA AL CÓDIGO QR E INGRESA ESTE NÚMERO #22617qrco.de/preguntar