Design and implementation of an endpoint reputation module

Marcos Sebastián Alarcón · 2015

La invencion de Internet y su exponencial crecimiento desde su creacion ha conllevado una ingente y creciente cantidad de amenazas: desde robos masivos de datos, hasta el formar parte de una red ilegal al servicio del mejor postor. En el momento en que un dispositivo esta conectado a esta gran red, la amenaza sobre ese dispositivo es real, e inminente si no se toma ninguna medida. Para tratar de prevenir estos problemas, se han propuesto e implementado multitud de medidas, como sistemas de deteccion de intrusos, cortafuegos, o, como explicaremos a continuacion, listas blancas y listas negras. Al hablar de listas nos referiremos al concepto de entidad (o endpoint en ingles) como una abstraccion que abarca IPs (como 8.8.8.8), dominios (como www.wikipedia.org ) y URLs (como http://www.ebay.com/rpp/gift-cards ). Una lista negra o blacklist es un conjunto de entidades o endpoints de las que se sabe que son (o han sido) maliciosas. Su utilidad dentro de un sistema es la de reaccionar en el momento de conectar con estas entidades, tomando medidas como por ejemplo bloquear el acceso a ellas. Una lista blanca o whitelist, por el contrario, es un conjunto de entidades que se consideran no maliciosas. Una de sus mas usadas utilidades es la de permitir e-mail de una serie de proveedores que se sabe que son de confianza (como google mail, yahoo, hotmail...). En general, un dominio benigno tiene un periodo de vida mas largo que uno malicioso, pues este ultimo en muchas ocasiones hara uso de mecanismos (como cambiar de nombre regularmente) para precisamente evadir las listas negras. Por esta razon, la lista blanca es mas fiable y contiene pocos falsos positivos (hay pocas entradas en ellas que en realidad sean maliciosas). Nos centraremos a continuacion en las listas negras. Las listas negras son de gran utilidad en la prevencion y detecion de amenazas: En cuanto una nueva entidad maliciosa es descubierta, es anadida a la lista, y permite a todas las partes protegidas por dicha lista (por ejemplo, programas antivirus o sistemas de deteccion de intrusos ) ser alertadas cuando un dispositivo intente conectarse a ella. Estas listas pueden estar accesibles tanto por la red, como descargables, tanto publicamente como de forma privada. Por otra parte, hay una serie de cuestiones a tener en cuenta al utilizar una lista negra. La primera es que habra entradas que no esten actualizadas. Por ejemplo, un dominio puede haber pasado de ser malicioso a no serlo. Para ello a veces se proporciona la fecha en la que fue anadida a la lista, pero en la practica esto no ocurre a menudo. El segundo problema es que pueden darse falsos positivos, esto son, entidades consideradas maliciosas que en el contexto en que nosotros nos movamos no sea necesario considerarlas como tal. Esto depende de los criterios que utilice cada servicio de lista negra para bloquear estas direcciones. Principalmente por las cuestiones citadas anteriormente, en este proyecto se propone, se implementa y se evalua un metodo de agregacion de una serie de listas, tanto negras como blancas, tanto online como descargables, para entidades de internet. Utilizaremos informacion extraida de 10 diferentes listas (y servicios en general) disponibles en la red. A partir de ellas se calculara una reputacion para cada entidad, que se acercara a cero en la medida en que la entidad sea considerada benigna, y a uno en la que sea considerada maliciosa. En resumen, el proyecto de un modulo de reputation para entidades en la red aporta: - Una mayor flexibilidad a la hora de decidir que medidas tomar gracias a un sistema de reputacion continuo en lugar de un valor booleano. - Reduccion del numero de falsos negativos, esto es, una mejor tasa de deteccion de amenazas gracias a la agregacion de diversas listas blancas y negras asi como informes de varios antivirus.---ABSTRACT---Since internet was invented and due to its rapid growth, the number of threats over this big network has constantly increased: from massive data theft, to forming enormous illegal and malicious networks sold to the best bidder. Malware industry has become professional, and in the very moment a device is connected to the internet, it's exposed to all these threats, and they will take place if no measures are taken. Lots of solutions have been proposed and implemented to prevent and mitigate these threats, such as intrusion detection systems (IDS), firewalls, or as we'll explain below, whitelists and blacklists. When talking about these lists we are referring to the concept of endpoint, as an abstraction wrapping IPs (like 8.8.8.8), domains (like www.wikipedia.org ) and URLs (like http://www.ebay.com/rpp/gift-cards ). A blacklist is a set of endpoints known to be (or to have been) malicious. Its function inside a system is to react in the moment of trying to connect to these endpoints and do something, like blocking the connection. A whitelist, on the other hand, is a set of endpoints known to be not malicious. One of the most popular uses of whitelists is to accept e-mail from a set of reliable mail providers (such as google mail, yahoo, hotmail...). Typically, a benign domain remains longer than a malicious one, because this last one will often try to bypass these lists implementing avoidance mechanisms (for example, changing its name with high frequency). Due to this, whitelists are known to be more reliable and contain less false positives (this is, less entries on them that are actually malicious). We'll now focus on blacklists. Blacklists are very useful in the world of internet security for preventing and detecting threats: In the moment a new malicious endpoint is discovered, it is blacklisted, and all the systems protected under that blacklist (like antivirus software or IDSs) are alerted when a device is trying to connect to it. These lists can be accessible through the web (online) or by downloads (online), either from a public source or from a private one. There are some issues to consider when using a blacklist. The first one is that some entries will not be updated, i.e., a domain might have been malicious in the past, but benign in the current moment. For actually measuring this, at least a last scan date is required, but this is not often provided by the black-list services. A second issue is that in practice there will be false positives, this is, endpoints fiagged as malicious when they are actually benign. This depends on the criteria used by each blacklist to block these entities. Mostly for the issues cited above, this project proposes, implements and evaluates a method of aggregation of several blacklist and whitelist services, both online and online, for internet endpoints. The information is extracted from 10 diferent services available on the cloud. We'll compute a reputation score for each endpoint, that will approximate to 0 when it's considered benign, and to 1 when is considered malicious. To sum up, the project of a reputation module for endpoints over the internet contributes with: - More flexibility when deciding what measures to take when facing a potentially malicious endpoint, thanks to a continuous reputation system, instead of a boolean value. - A reduction on the number of false negatives, i.e., a better detection rate thanks to the aggregation of various services like blacklists, whitelists and reports from antivirus software.

Read the paper · More papers on PaperTik