Detecting and classifying malicious TLS network traffic using machine learning

Gómez Montes, Gibran Alberto (2018). Detecting and classifying malicious TLS network traffic using machine learning. Tesis (Master), E.T.S. de Ingenieros Informáticos (UPM).

Descripción

Título: Detecting and classifying malicious TLS network traffic using machine learning
Autor/es:
  • Gómez Montes, Gibran Alberto
Director/es:
  • Caballero Bayerri, Juan
  • Carro Liñares, Manuel
Tipo de Documento: Tesis (Master)
Título del máster: Software y Sistemas
Fecha: Julio 2018
Materias:
Palabras Clave Informales: TLS; Malware; Tráfico cifrado; Aprendizaje automático; Encrypted trafic; Machine learning
Escuela: E.T.S. de Ingenieros Informáticos (UPM)
Departamento: Lenguajes y Sistemas Informáticos e Ingeniería del Software
Licencias Creative Commons: Reconocimiento - Sin obra derivada - No comercial

Texto completo

[img]
Vista Previa
PDF (Document Portable Format) - Se necesita un visor de ficheros PDF, como GSview, Xpdf o Adobe Acrobat Reader
Descargar (4MB) | Vista Previa

Resumen

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.

Más información

ID de Registro: 52286
Identificador DC: http://oa.upm.es/52286/
Identificador OAI: oai:oa.upm.es:52286
Depositado por: Biblioteca Facultad de Informatica
Depositado el: 17 Sep 2018 12:57
Ultima Modificación: 17 Sep 2018 12:57
  • GEO_UP4
  • Open Access
  • Open Access
  • Sherpa-Romeo
    Compruebe si la revista anglosajona en la que ha publicado un artículo permite también su publicación en abierto.
  • Dulcinea
    Compruebe si la revista española en la que ha publicado un artículo permite también su publicación en abierto.
  • Recolecta
  • InvestigaM
  • Observatorio I+D+i UPM
  • OpenCourseWare UPM