Full text
Preview |
PDF
- Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (4MB) | Preview |
Gómez Montes, Gibran Alberto (2018). Detecting and classifying malicious TLS network traffic using machine learning. Thesis (Master thesis), E.T.S. de Ingenieros Informáticos (UPM).
Title: | Detecting and classifying malicious TLS network traffic using machine learning |
---|---|
Author/s: |
|
Contributor/s: |
|
Item Type: | Thesis (Master thesis) |
Masters title: | Software y Sistemas |
Date: | July 2018 |
Subjects: | |
Freetext Keywords: | TLS; Malware; Tráfico cifrado; Aprendizaje automático; Encrypted trafic; Machine learning |
Faculty: | E.T.S. de Ingenieros Informáticos (UPM) |
Department: | Lenguajes y Sistemas Informáticos e Ingeniería del Software |
Creative Commons Licenses: | Recognition - No derivative works - Non commercial |
Preview |
PDF
- Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (4MB) | Preview |
Transport Layer Security (TLS) es un protocolo ampliamente utilizado para establecer
comunicaciones seguras entre redes. Provee privacidad a través de algoritmos de cifrado,
integridad de los datos en tránsito utilizando códigos de autenticación de mensajes y
firmas digitales, así como autenticación de las partes involucradas mediante certificados
de cliente y de servidor.
El uso de TLS cada vez es más frecuente entre las familias de malware, debido a que les
permite evadir a la mayoría de técnicas de detección basadas en el contenido, ya que cifra
sus comunicaciones. Sin embargo, a causa de su naturaleza, dicho tráfico presenta algunas
características que el protocolo no oculta, a saber, el número de paquetes transmitidos,
su tamaño, sus tiempos de llegada, su dirección, así como cualquier propiedad deribada
de estos atributos o combinaciones de ellos, como el paquete de mayor tamaño enviado
o recibido, el número de paquetes enviados antes de recibir un paquete de respuesta, el
tamaño total de la conversación, entre otros.
Si dichos atributos son lo bastante similares, debemos ser capaces de encontrar
patrones que nos ayuden a caracterizar el comportamiento de clientes malware cuando
realizen las mismas acciones hacia un dispositivo final. Ya que uno o más clientes
pueden realizar la misma acción hacia diferentes servidores/dominios, y por el otro lado,
dos o más clientes pueden realizar diferentes acciones al mismo servidor/dominio (por
ejemplo cuando se trata de dos versiones del mismo malware), podría ser de utilidad el
agrupamiento de elementos utilizando dichas propiedades para producir grupos específicos
de conexiones que compartan atributos lo bastante parecidos. De esa forma, debería ser
mas fácil identificar a que grupo pertenece un cliente desconocido, para determinar si es
malicioso.
Por lo tanto, el presente trabajo persigue analizar los aspectos del tráfico TLS
producido por diferentes familias de malware usando técnicas de clasificación y
agrupamiento, aplicando aprendizaje automático, con el objetivo de demostrar que es
posible generar modelos que funcionen como una firma de comportamiento, capaces de
tipificar distintos tipos de tráfico TLS generado por los clientes de malware, que permitan
determinar si se están llevando a cabo conexiones maliciosas al interior de una red.---ABSTRACT---Transport Layer Security (TLS) is a protocol widely used to secure communications over
networks. It provides privacy through encryption algorithms, integrity of the data in
transit using message authentication codes and digital signatures, as well as authentication
of the parties involved by means of client and server certificates.
The use of TLS is rapidly spreading among malware families, since it makes possible
for them to evade most used content-based detection techniques, due to the encryption
of the communication. Nevertheless, because of its nature, such trafic present some
characteristics that are not hid by the protocol, namely the number of packets transmitted,
their size, their inter-arrival times, their direction, as well as any feature derived from these
attributes or a combination of them, like the biggest packet sent or received, the number
of packets sent before a response in the other direction is received, the total size of the
conversation, among others.
If such attributes are similar enough, we must be able to find patterns that help us
characterize malware behavior when performing the same actions towards an endpoint.
As one or more clients could perform the same actions to different servers/domain names,
and by the other hand, two or more clients could perform different actions to the same
server/domain name (for instance when it comes to two versions of the same malware),
a grouping based on those properties should be useful to produce more specific groups
of connections, that share fairly similar attributes. In such way it should be easier to
identify to which group an unknown client belongs to, to determine if it is malicious.
Therefore, the present work aims to analyze the aspects of TLS trafic produced
by different malware families using machine learning (ML) clustering and classification
techniques, in order to demonstrate that it is possible to generate models that work as
behavioral signatures, able to typify the different TLS trafic generated by malware clients,
which allows to determine if malicious connections are taking place inside a network.
Item ID: | 52286 |
---|---|
DC Identifier: | https://oa.upm.es/52286/ |
OAI Identifier: | oai:oa.upm.es:52286 |
Deposited by: | Biblioteca Facultad de Informatica |
Deposited on: | 17 Sep 2018 12:57 |
Last Modified: | 17 Sep 2018 12:57 |