Tools for the Detection and Analysis of Potentially Unwanted Programs

Esta tesis estudia los programas potencialmente no deseados (PUP), una categoria de software que, aunque no totalmente malignos, presentan comportamientos que pueden alterar la seguridad o la privacidad de los sistemas en que se instalan. El PUP suele venir empaquetado con freeware, i.e., software propietario que puede usarse sin coste. Un vector popular de distribucion del freeware son los portales de descargas, i.e., sitios web que indexan, clasifican y alojan programas. Los portales de descargas pueden ser abusados para distribuir PUP. El freeware suele distribuirse como un instalador, i.e., un programa auxiliar encargado de realizar todos los pasos necesarios para instalar otro programa. Durante la instalacion, ademas de instalar el programa deseado por el usuario, el instalador puede tambien instalar PUP. El PUP puede ser dificil de desinstalar y puede permanecer en el sistema despues de que el usuario intente desinstalarlo. Los sistemas actuales de analisis de malware no son capaces de detectar comportamientos caracteristicos del PUP. Por ejemplo estos sistemas operan sobre una sola ejecucion de un programa, mientras que la deteccion del PUP suele requerir analizar juntas dos ejecuciones: la instalacion y la desintalacion. Esta tesis presenta nuevas tecnicas para detectar y analizar PUP y contiene tres contribuciones principales. Primero, se presenta un estudio de la prevalencia de PUP y malware en portales de descargas, exponiendo los comportamientos abusivos que utilizan sus autores. Segundo, se propone un sistema especialmente disenado para identificar dinamicamente comportamientos de PUP durante la instalacion y desintalacion. Tercero, se describe AVCLASS, una herramienta automatica de etiquetado, que dada las etiquetas asignadas por los antivirus (AV) a un numero potencialmente masivo de muestras, identifica el nombre de familia mas probable para cada muestra. Para analizar la distribucion de PUP a traves de los portales de descargas construimos una plataforma y la usamos para descargar 191K instaladores de freeware para Windows desde 20 portales. Analizando los instaladores medimos una proporcion global de PUP y malware entre 8% (estimacion conservadora) y 26% (estimacion laxa). En 18 de los 20 portales examinados, la cantidad es inferior al 9%. Pero, tambien encontramos dos portales utilizados exclusivamente para distribuir PUP. Ademas, detallamos los diferentes comportamientos abusivos utilizados por los autores del PUP. A continuacion, presentamos una plataforma para analizar dinamicamente instaladores. Nuestra plataforma ejecuta el instalador, lo navega para completar la instalacion, analiza la instalacion identificando comportamientos de PUP, identifica la lista de programas instalados, revisa si cada programa instalado tiene un desinstalador, ejecuta los desinstaladores, analiza la desintalacion identificando comportamientos de PUP, y compara la instalacion y desinstalacion determinando si todos los programas se desinstalaron completamente. Finalmente, describimos AVCLASS, una herramienta automatica para etiquetar ejecutables maliciosos como variantes de familias conocidas. AVCLASS toma como entrada etiquetas asignadas por los AV de un numero de muestras potencialmente masivo, e identifica la familia mas probable para cada muestra. Aunque las etiquetas que asignan los AV suelen ser inconsistentes, a menudo no hay otra informacion disponible para el etiquetado. AVCLASS implementa novedosas tecnicas automaticas para abordar tres desafios debidos a la inconsistencia de las etiquetas de los AV: normalizacion, eliminacion de tokens genericos y deteccion de alias. Hemos evaluado AVCLASS en 10 datasets con 8,9M de muestras. AVCLASS alcanza una medida F1 de hasta 93.9 en datasets etiquetados y asigna nombres de familia comunmente utilizados por los AV. Hemos puesto AVCLASS a disposicion de la comunidad. ----------ABSTRACT---------- In this thesis we study potentially unwanted programs (PUP), a category of undesirable software that, while not outright malicious, contains behaviors that may alter the security state or the privacy of the system on which they are installed. PUP often comes bundled with freeware, i.e., proprietary software that can be used free of charge. A popular vector for distributing freeware are download portals, i.e., websites that index, categorize, and host programs. Download portals can be abused to distribute PUP. Freeware is often distributed as an installer, i.e., an auxiliary program in charge of performing all installation steps for the target program. During installation, besides the target program desired by the user, the installer may install PUP as well. PUP may be difficult to uninstall and may persist installed in the system after the user tries to uninstall it. Current malware analysis systems are not able to detect and analyze characteristic behaviors of PUP. For example, current malware analysis systems operate on a single program execution, while detecting incomplete PUP uninstallations requires analyzing together two program executions: the installation and the uninstallation. This thesis presents novel tools to detect and analyze potentially unwanted programs. More concretely, it describes three main contributions. First, it presents a measurement study of PUP prevalence in download portals, exposing the abusive behaviors that authors of malicious software use to distribute their applications through download portals. Second, it proposes a system especially designed to dynamically detect and analyze PUP behaviors during program installation and uninstallation. Third, it describes AVCLASS, an automatic labeling tool that given the AV labels for a potentially massive number of samples, outputs the most likely family for each sample. To analyze the distribution of PUP through download portals, we build a platform to crawl download portals and apply it to download 191KWindows freeware installers from 20 download portals. We analyze the collected installers measuring an overall ratio of PUP and malware between 8% (conservative estimate) and 26% (lax estimate). In 18 of the 20 download portals examined the amount of PUP and malware is below 9%. But, we also find two download portals exclusively used to distribute PPI downloaders. We also detail different abusive behaviors that authors of undesirable programs use to distribute their programs through download portals. We present a platform to perform dynamic behavioral analysis of an input installer. Our platform executes the installer, navigates it to complete a successful installation, analyzes the installation to identify PUP behaviors, identifies the list of installed programs regardless of the installation location, checks whether each installed program has a corresponding uninstaller, executes the uninstallers, analyzes the uninstallation to identify PUP behaviors, and correlates the installation and uninstallation executions to determine if all installed programs were completely uninstalled. Finally, we describe AVCLASS, a tool for automatically labeling malicious executables as variants of known families. AVCLASS takes as input the AV labels for a potentially massive number of samples and outputs the most likely family names for each sample. While AV labels are well-known to be inconsistent, there is often no other information available for labeling. AVCLASS implements novel automatic techniques to address 3 key challenges due to AV labels inconsistencies: normalization, removal of generic tokens, and alias detection. We have evaluated AVCLASS on 10 datasets comprising 8.9 M samples. AVCLASS’s achieves F1 measures up to 93.9 on labeled datasets and samples are labeled with fine-grained family names commonly used by the AV vendors. We have released AVCLASS to the community.