Defending against cybercrime: advances in the detection of malicious servers and the analysis of client-side vulnerabilities

Esta tesis se centra en el analisis de dos aspectos complementarios de la ciberdelincuencia (es decir, el crimen perpetrado a traves de la red para ganar dinero). Estos dos aspectos son las maquinas infectadas utilizadas para obtener beneficios economicos de la delincuencia a traves de diferentes acciones (como por ejemplo, clickfraud, DDoS, correo no deseado) y la infraestructura de servidores utilizados para gestionar estas maquinas (por ejemplo, C & C, servidores explotadores, servidores de monetizacion, redirectores). En la primera parte se investiga la exposicion a las amenazas de los ordenadores victimas. Para realizar este analisis hemos utilizado los metadatos contenidos en WINE-BR conjunto de datos de Symantec. Este conjunto de datos contiene metadatos de instalacion de ficheros ejecutables (por ejemplo, hash del fichero, su editor, fecha de instalacion, nombre del fichero, la version del fichero) proveniente de 8,4 millones de usuarios de Windows. Hemos asociado estos metadatos con las vulnerabilidades en el National Vulnerability Database (NVD) y en el Opens Sourced Vulnerability Database (OSVDB) con el fin de realizar un seguimiento de la decadencia de la vulnerabilidad en el tiempo y observar la rapidez de los usuarios a remiendar sus sistemas y, por tanto, su exposicion a posibles ataques. Hemos identificado 3 factores que pueden influir en la actividad de parches de ordenadores victimas: codigo compartido, el tipo de usuario, exploits. Presentamos 2 nuevos ataques contra el codigo compartido y un analisis de como el conocimiento usuarios y la disponibilidad de exploit influyen en la actividad de aplicacion de parches. Para las 80 vulnerabilidades en nuestra base de datos que afectan codigo compartido entre dos aplicaciones, el tiempo entre el parche libera en las diferentes aplicaciones es hasta 118 das (con una mediana de 11 das) En la segunda parte se proponen nuevas tecnicas de sondeo activos para detectar y analizar las infraestructuras de servidores maliciosos. Aprovechamos tecnicas de sondaje activo, para detectar servidores maliciosos en el internet. Empezamos con el analisis y la deteccion de operaciones de servidores explotadores. Como una operacion identificamos los servidores que son controlados por las mismas personas y, posiblemente, participan en la misma campana de infeccion. Hemos analizado un total de 500 servidores explotadores durante un periodo de 1 ano, donde 2/3 de las operaciones tenian un unico servidor y 1/2 por varios servidores. Hemos desarrollado la tecnica para detectar servidores explotadores a diferentes tipologias de servidores, (por ejemplo, C & C, servidores de monetizacion, redirectores) y hemos logrado escala de Internet de sondeo para las distintas categorias de servidores maliciosos. Estas nuevas tecnicas se han incorporado en una nueva herramienta llamada CyberProbe. Para detectar estos servidores hemos desarrollado una novedosa tecnica llamada Adversarial Fingerprint Generation, que es una metodologia para generar un modelo unico de solicitud-respuesta para identificar la familia de servidores (es decir, el tipo y la operacion que el servidor apartenece). A partir de una fichero de malware y un servidor activo de una determinada familia, CyberProbe puede generar un fingerprint valido para detectar todos los servidores vivos de esa familia. Hemos realizado 11 exploraciones en todo el Internet detectando 151 servidores maliciosos, de estos 151 servidores 75% son desconocidos a bases de datos publicas de servidores maliciosos. Otra cuestion que se plantea mientras se hace la deteccion de servidores maliciosos es que algunos de estos servidores podran estar ocultos detras de un proxy inverso silente. Para identificar la prevalencia de esta configuracion de red y mejorar el capacidades de CyberProbe hemos desarrollado RevProbe una nueva herramienta a traves del aprovechamiento de leakages en la configuracion de la Web proxies inversa puede detectar proxies inversos. RevProbe identifica que el 16% de direcciones IP maliciosas activas analizadas corresponden a proxies inversos, que el 92% de ellos son silenciosos en comparacion con 55% para los proxies inversos benignos, y que son utilizado principalmente para equilibrio de carga a traves de multiples servidores. ABSTRACT In this dissertation we investigate two fundamental aspects of cybercrime: the infection of machines used to monetize the crime and the malicious server infrastructures that are used to manage the infected machines. In the first part of this dissertation, we analyze how fast software vendors apply patches to secure client applications, identifying shared code as an important factor in patch deployment. Shared code is code present in multiple programs. When a vulnerability affects shared code the usual linear vulnerability life cycle is not anymore effective to describe how the patch deployment takes place. In this work we show which are the consequences of shared code vulnerabilities and we demonstrate two novel attacks that can be used to exploit this condition. In the second part of this dissertation we analyze malicious server infrastructures, our contributions are: a technique to cluster exploit server operations, a tool named CyberProbe to perform large scale detection of different malicious servers categories, and RevProbe a tool that detects silent reverse proxies. We start by identifying exploit server operations, that are, exploit servers managed by the same people. We investigate a total of 500 exploit servers over a period of more 13 months. We have collected malware from these servers and all the metadata related to the communication with the servers. Thanks to this metadata we have extracted different features to group together servers managed by the same entity (i.e., exploit server operation), we have discovered that 2/3 of the operations have a single server while 1/3 have multiple servers. Next, we present CyberProbe a tool that detects different malicious server types through a novel technique called adversarial fingerprint generation (AFG). The idea behind CyberProbe’s AFG is to run some piece of malware and observe its network communication towards malicious servers. Then it replays this communication to the malicious server and outputs a fingerprint (i.e. a port selection function, a probe generation function and a signature generation function). Once the fingerprint is generated CyberProbe scans the Internet with the fingerprint and finds all the servers of a given family. We have performed a total of 11 Internet wide scans finding 151 new servers starting with 15 seed servers. This gives to CyberProbe a 10 times amplification factor. Moreover we have compared CyberProbe with existing blacklists on the internet finding that only 40% of the server detected by CyberProbe were listed. To enhance the capabilities of CyberProbe we have developed RevProbe, a reverse proxy detection tool that can be integrated with CyberProbe to allow precise detection of silent reverse proxies used to hide malicious servers. RevProbe leverages leakage based detection techniques to detect if a malicious server is hidden behind a silent reverse proxy and the infrastructure of servers behind it. At the core of RevProbe is the analysis of differences in the traffic by interacting with a remote server.