Software antiintrusos (antivirus) ********************************* El :dfn:`software antiintrusos` es todo aquel que se encarga de proteger al sistema de los ataques de *software malicioso*. Pueden distinguirse, fundamentalmente, tres tipos distintos, complementarios entre sí: |IDS| (o |NIDS|), que son aplicaciones que monitorizan el tráfico de red buscando comportamientos anómalos típicos del *software malicioso*. .. todo:: Probar `tripwire `_ para ver si es conveniente crear una práctica con él. **Cortafuegos** (**firewalls** en inglés) Los :ref:`cortafuegos ` son aplicaciones que controlan el tráfico de red permitiendo o rechazando conexiones según criterios de capa de red o de transporte. Si utilizan criterios de capa de aplicación entonces estamos ante :ref:`proxies `. Están presentes en los sistemas de escritorio, aunque en ellos su uso está muy simplificado, por lo que dejaremos su estudio para la unidad en la que tratamos la seguridad en redes y servidores. *Windows* 10, por ejemplo, dispone de un cortafuegos habilitado por defecto que detecta cuando una aplicación pretende abrir por primera vez una conexión por un determinado puerto y avisa de ello para que aceptemos tal conexión. Si la aceptamos, entenderá que a partir de ese momento la aplicación tendrá permiso para abrir ese tipo de conexión cada vez que lo requiera y, si lo rechazamos, la conexión quedará marcada como prohibida. **Antivirus** Son aplicaciones que detectan la presencia de un recurso (archivo, correo electrónico, página web) que contiene código malicioso y, por tanto, representa una amenaza para el sistema. Son muy habituales en los sistemas de escritorio y a ellos dedicaremos el resto de los contenidos del epígrafe. Tipos ===== Esencialmente hay dos tipos de antivirus: 1. Los **residentes en el sistema** que se instalan en el propio sistema operativo. #. Los **online** que permiten hacer un análisis del sistema sin que el antivirus llegue a instalarse en ningún momento. Funcionamiento ============== Estrategias de detección ------------------------ Son dos: #. Comparar los archivos con un catálogo de códigos de virus conocidos que se conoce como :dfn:`base de firmas`. Si algún archivo contiene alguno de estos códigos, entonces, es un archivo potencialmente peligroso que puede ser o contener *malware*. Para utilizar esta estrategia es fundamental que la base de firmas se actualice periódicamente. #. Detectar comportamientos que resulten sospechosos por ser característicos del *malware*. En este caso, la detección no se fundamenta en encontrar algo ya conocido, sino en descubrir algo cuyo comportamiento entra dentro de determinados patrones, aunque aún no haya sido registrado. Análisis -------- Los antivirus llevan a cabo dos tipos de análisis: #. **Análisis del sistema de archivos** en busca de aquellos que puedan contener códigos reconocibles de virus. Este análisis se fundamenta en la estrategia de comparación; y lo pueden llevar a cabo tanto los antivirus instalados en el sistema como los *online*. #. **Análisis en tiempo real** que comprueba si los códigos que se pretenden ejecutar son sospechosos, si los archivos que se pretenden copiar o descargar contiene código sospechoso; o si algún programa realiza en el sistema algún comportamiento propio de *malware*. Este análisis usa las dos estrategias referidas; y sólo puede ser llevada a cabo por los antivirus instalados. De hecho, estos antivirus no sólo se instalan, sino que se ejecutan como servicio y quedan residentes en memoria. Es obvio que esta protección en tiempo real supone un consumo de recursos y una ralentización del sistema y que en gran medida esto, junto a su capacidad de detección, determina la bondad del antivirus. Acciones -------- Cuando un antivirus detecta un código aparentemente malicioso proponen al usuario varias alternativas: **Desinfección** Sólo en caso de que el *malware*, sea un virus y está adherido a un archivo, puede proponer desinfectar el archivo, esto es, eliminar de él el código malicioso. **Eliminación** También puede proponer la eliminación directa del archivo. **Puesta en cuarentena** Consisten en enviar el archivo a una zona de cuarenta donde el propio antivirus se asegura que el código sospechoso no pueda ser ejecutado. De esta manera, si la detección se trató de un falso positivo, el archivo puede recuperarse. Por el contrario, si el usuario llega a la conclusión de que el archivo estaba infectado o su pérdida no le supone ningún problema, puede optar por borrarlo definitivamente. **Permisión** En este caso, se obvia la advertencia y se permite la ejecución. Para que se permita la ejecución el usuario debería estar completamente seguro de que el código no es *malware*, porque de lo contrario el sistema quedará infectado. Oferta actual ============= En el mundo *Linux*, dada su diversidad, no es habitual la existencia de *malware*, por lo que los sistemas suelen carecer de ellos. Tienen, sin embargo, utilidad en los servidores de correo para detectar los virus adheridos a los adjuntos de los mensajes y prevenir a los usuarios clientes que reciben los mensajes. Es relativamente utilizado ClamAV_. En *Windows*, ha habido varios antivirus que han venido utilizándose: * `Panda antivirus `_. * `McAfee `_. * `NOD32 `_. * `Avast `_. * `AVG `_. * `Avira `_. * `Karpersky `_ Sin embargo, *Windows* 10 ya viene con un antivirus incluido de serie (`Microsoft Defender `_) y la opinión generalizada es que es más que suficiente para defenderse del *malware* si se combina con la versión gratuita de `Malwarebytes `_. .. include:: /guias/0226.seg/99.ejercicios/031.antimalware.rst .. |IDS| replace:: :abbr:`IDS (Intrusion Detection System)` .. |NIDS| replace:: :abbr:`NIDS (Network Intrusion Detection System)` .. _CLamAV: https://www.clamav.net