¿Un antivirus es un problema de seguridad?
Para empezar tenemos que explicar que es un antivirus. Los programas que tenemos instalados hoy en día en nuestros ordenadores son mucho mas que un antivirus. Se denomina EPS (endpoint protecction system), un sistema de protección del terminal final. Esto es importante porque los antivirus clásicos no hacían nada mas que comprobar cada archivo y programa con su biblioteca de virus. Es decir, tenían una gran base de datos de programas maliciosos y comparaban cada uno de ellos con los archivos de nuestro ordenador.
Los “antivirus modernos”, los EPS, tienen muchas mas funciones. Entre ellas esta el análisis heurístico. Este análisis consiste en prever un ataque a los equipos en base al comportamiento de determinados procesos y programas. En otras palabras, el EPS comprueba, mira y tiene acceso a absolutamente todo nuestro equipo. Incluido nuestro historial de búsquedas, contraseñas, etc. Todo con el fin de comprobar si algún programa esta teniendo acceso a datos sensibles o dañando parte del sistema.
Tenemos ahora un programa delante de nosotros que es capaz de acceder a toda la información de nuestro equipo, con fines buenos y deseados por nosotros. ¿Pero, y si alguien consigue comprometer a este programa? ¿Si de repente nuestro EPS es controlado por un ciberdelincuente? En este caso tendría acceso a todo nuestro equipo. Dicho de otra forma, ¿para que se va a esforzar un ciberdelincuente, saltarse mil barreras como los sandbox, firewall, honeypots, etc, si con comprometer el antivirus tiene todas las puertas abiertas?
Pero claro, más de uno de vosotros pensara que los EPS (antivirus) tienen una seguridad tan buena que es prácticamente imposible “hackearlos”. Bueno, vamos por partes. En la siguiente imagen veis una captura del tráfico de red de un ordenador. En esta captura en concreto el equipo se conecta a los servidores de un antivirus bien conocido para actualizarse (con poner la IP en el buscador de IP sabréis que antivirus es).
Vemos que nuestro ordenador se conecta sobre el puerto 80 con el protocolo http a sus servidores. Ya habréis oído por todos los lados que http es inseguro y https es seguro. Pues prácticamente es eso. Las comunicaciones https son comunicaciones cifradas, es decir, que todo lo que viaja por el Internet esta en clave y no se entiende si es interceptado. En cambio, el protocolo http, sin la S, es un protocolo que manda la información en texto plano, sin cifrarlo.
Si el tráfico no esta cifrado, no solo podemos interceptar y “leer” el contenido sino que también podemos inyectar información falsa. Si accedemos, por ejemplo, a la página www.google.com, lo que hago es enviar una solicitud a la dirección IP de esta página. Si esta solicitud se produce sobre un protocolo no cifrado, se puede interceptar e inyectar una página que no es la que hemos solicitado.
Por la misma regla de tres, si nuestro antivirus o EPS solicita una actualización por el protocolo no seguro de http, se puede inyectar una actualización falsa. Los EPS tienen otros mecanismos para comprobar la autenticidad de las actualizaciones, pero la primera y fuerte barrera ya nos la hemos saltado. Y no hace falta recordar que esto es solo uno de los vectores de ataque a los EPS. Pero lo que tenemos en común en todos es que atacando a un solo objetivo tendremos todas las puertas abiertas.
Entonces, ¿es el antivirus un problema de seguridad? Sí.