Resumen
La invención de Internet y su exponencial crecimiento desde su creación 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 está 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 detección de intrusos, cortafuegos, o, como explicaremos a continuación, listas
blancas y listas negras.
Al hablar de listas nos referiremos al concepto de entidad (o endpoint en inglés)
como una abstracción 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 más 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 más largo que
uno malicioso, pues este último en muchas ocasiones hará uso de mecanismos (como
cambiar de nombre regularmente) para precisamente evadir las listas negras. Por
esta razón, la lista blanca es más fiable y contiene pocos falsos positivos (hay pocas
entradas en ellas que en realidad sean maliciosas). Nos centraremos a continuación
en las listas negras.
Las listas negras son de gran utilidad en la prevención y deteción de amenazas: En
cuanto una nueva entidad maliciosa es descubierta, es añadida a la lista, y permite
a todas las partes protegidas por dicha lista (por ejemplo, programas antivirus o sistemas de detección de intrusos ) ser alertadas cuando un dispositivo intente conectarse
a ella. Estas listas pueden estar accesibles tanto por la red, como descargables,
tanto públicamente 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 habrá entradas
que no estén 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 añadida a
la lista, pero en la práctica 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 evalúa un método de agregación de una serie de listas,
tanto negras como blancas, tanto online como descargables, para entidades de internet.
Utilizaremos información extraída de 10 diferentes listas (y servicios en general)
disponibles en la red. A partir de ellas se calculará una reputación para cada entidad,
que se acercará 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 módulo de reputatión para entidades en la red
aporta:
- Una mayor flexibilidad a la hora de decidir qué medidas tomar gracias a un
sistema de reputación continuo en lugar de un valor booleano.
- Reducción del número de falsos negativos, esto es, una mejor tasa de detección
de amenazas gracias a la agregación de diversas listas blancas y negras así 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.