biohazard

En esta tercera entrega de la serie “Controles técnicos de PCI DSS” se analizarán los controles de seguridad provistos por las soluciones antivirus (antimalware), su origen, su relación con PCI DSS y la necesidad de implementación de estas tecnologías dentro del alcance de cumplimiento.

¿Qué es un Antivirus (Antimalware)?

Para entrar en contexto, miremos un poco la historia del malware informático:

  • Virus: A principios de la década de 1970 el primer virus reconocido como tal hizo su aparición en la red de  la Agencia de Investigación de Proyectos Avanzados (ARPANET). Se trataba de “Creeper(“enredadera”), un programa diseñado para replicarse en servidores DEC PDP-10 con sistema operativo TENEX. Como tal, este programa no destruía información sino que simplemente desplegaba un mensaje por pantalla en el servidor infectado (“I’m the creeper, catch me if you can!”)  y se copiaba a sí mismo en otros equipos. Con el fin de controlar este problema, se desarrolló otro programa que usaba las mismas técnicas de replicación de Creeper pero su función era detectar este aplicativo y eliminarlo.  Este programa se llamóReaper (“segadora”) y se conoce como el primer antivirus de la historia.
  • Troyanos: En 1975 John Walker desarrolló un aplicativo que “ocultaba” dentro de un juego de preguntas un código malicioso que se copiaba a sí mismo sin permiso del usuario en múltiples ubicaciones del sistema operativo, permitiéndole acceso no autorizado a dicho servidor  a su desarrollador (por aquel entonces UNIVAC 1108).  Este software se llamó “ANIMAL” (debido a que el juego se basaba en intentaba tratar de adivinar a través de preguntas el animal que el usuario estaba pensando) y se conoce como el primer programa de tipo “troyano” (“Trojan”), ya que ocultaba su código malicioso dentro de un programa “confiable” para el usuario.
  • Gusanos: En 1988 el estudiante Robert Tappan Morris del MIT desarrolló el primer gusano (“worm”) de la historia: el Gusano de Morris. Este programa – a diferencia de los tradicionales virus – no requería la interacción con un usuario para replicarse sino que lo hacía de forma automática (auto-replicación) y por lo tanto no necesitaba de un archivo “huésped” en el cual inyectar su código malicioso. Este tipo de malware identificaba y explotaba diferentes vulnerabilidades en un sistema para infectarlo y aprovechaba su conexión con redes informáticas para replicarse. El daño fue tan crítico para las red de ARPANET que como consecuencia de su aparición se creó el primer Equipo de Respuesta ante Emergencias Informáticas (“CERT”, por sus siglas en inglés).
  • Actualmente, las amenazas informáticas asociadas al malware se han desarrollado de forma vertiginosa, aprovechando diferentes vulnerabilidades de software para lograr su objetivo. Adicionalmente a los tradicionales virus,  gusanos y troyanos se encuentran el spyware, el adware, el crimeware, el scareware, los rootkits, entre otros.

Tal como se puede concluir de las anteriores anécdotas históricas, un “malware” es un código malicioso diseñado para afectar un sistema de información y un “antivirus” es la contramedida a implementar que se encarga de identificar el malware, contener sus acciones y recuperar los posibles daños.  Es importante tener presente que es un error utilizar los términos “Virus” y “Antivirus” al referirse al malware en general y a su contramedida, ya que el virus es sólo uno de los códigos maliciosos existentes y el antivirus está en capacidad de detectar no solamente virus sino otros tipos de malware, por lo que la forma correcta sería “malware” y “antimalware”. Sin embargo, en este artículo se utilizarán indistintamente dichos términos debido a su globalización.

¿Qué requerimientos de PCI DSS están relacionados con Antivirus (Antimalware)?

Debido a la criticidad y a los potenciales daños causados por malware, el PCI SSC contempló dentro de PCI DSS un requisito completo para definir los controles asociados a esta amenaza. Se trata del requisito 5 “Proteger todos los sistemas contra malware y actualizar los programas o software antivirus regularmente”, en el cual se establecen los criterios de protección contra el malware, las características que deben cumplir estas soluciones y su integración con la gestión de registros de eventos:

  • Requerimiento 5.1 “Implemente un software antivirus en todos los sistemas que, generalmente, se ven afectados por software malicioso (en especial, computadoras personales y servidores): Bajo este requerimiento se describe la necesidad de instalar una solución antimalware en los equipos generalmente afectados por estas amenazas y en aquellos que no, realizar análisis periódicos para determinar si se debe o no instalar un antimalware (req. 5.1.2) y asegurarse que estas soluciones detecten y eliminen todos los tipos de malware conocido (req. 5.1.1).
  • Requerimiento 5.2 “Asegúrese de que los mecanismos de antivirus cumplan con lo siguiente: Estén actualizados,  ejecuten análisis periódicos y generen registros de auditoría que se guarden de conformidad con el Requisito 10.7 de las PCI DSS“: En este requerimiento se establece la necesidad de documentar la necesidad de actualización de los componentes de antimalware, validar que dichas configuraciones para actualización se encuentren implementadas técnicamente y se realicen análisis periódicos en busca de malware así como una generación de registros de eventos conforme con el req. 10.7 de PCI DSS.
  • Requerimiento 5.3 “Asegúrese de que los mecanismos de antivirus funcionen activamente y que los usuarios no puedan deshabilitarlos ni alterarlos“: Bajo este requerimiento se define la necesidad de mantener activa en todo momento la solución antimalware y definir controles para que los usuarios no puedan deshabilitarla salvo una autorización explícita.
  • Requerimiento 5.4 “Asegúrese de que las políticas de seguridad y los procedimientos operativos que protegen los sistemas estén documentados, implementados y que sean de conocimiento para todas las partes afectadas”

Con estos controles se pretende gestionar el potencial riesgo asociado a malware y proteger la integridad, confidencialidad y disponibilidad de los equipos dentro del entorno de cumplimiento de PCI DSS. Para mayor información al respecto se puede consultar el documento 800-83 del NIST “Guide to Malware Incident Prevention and Handling“.

Criterios para la elección de una solución antivirus (antimalware) para PCI DSS

A continuación se enumeran las características técnicas que debe cumplir una solución antimalware para que cumpla con los requerimientos definidos por el PCI SSC en el requisito 5 de dicho estándar:

  • Debe poder ser instalado en todos los sistemas generalmente afectados por software malicioso. Para este punto es importante hacer dos aclaraciones:
    • Tener presente que “software malicioso” no es únicamente “virus”. Contempla gusanos, troyanos, rootkits, etc. tal como se explicó anteriormente.
    • Si una plataforma operativa es susceptible de ser afectada por cualquiera de estos tipos de malware,  debe contar con una solución antimalware si existe desarrollada dicha tecnología (esto incluye sistemas operativos GNU/Linux, Mac OS X y otros sistemas operativos Unix). No es obligatorio contar con una única solución antivirus en el entorno. Si una solución no es soportada en una plataforma pero otra sí, se pueden mantener varias soluciones antimalware en el entorno siempre y cuando cumplan con las premisas del requerimiento 5.
  • Debe poder detectar y eliminar todos los tipos de software malicioso. Un criterio objetivo para evaluar este requisito es que la solución antivirus debe detectar como mínimo el 100% del malware enumerado en las listas “Wildlist” (virus) y “Extended wildlist” (malware adicional) provistas por WildList Organization International.
  • Debe poder ser configurado para realizar actualizaciones automáticas tanto de firmas como de componentes (la actualización manual del antivirus no está permitida)
  • Deben permitir la ejecución de escaneos periódicos (escaneos programados)
  • Deben permitir la ejecución de escaneos en tiempo real (real-time) y funcionar de forma activa
  • Debe poder ser configurado para evitar que un usuario pueda detener la protección antimalware sin autorización. Esto puede ser logrado usando una contraseña maestra, permisos a nivel de sistema operativo, restricciones centralizadas, etc.
  • En el caso que se utilicen instalaciones maestras de la solución antimalware, éstas deben ser desplegadas con sus configuraciones de seguridad previamente establecidas
  • Debe permitir la generación de registros de eventos, permitiendo su almacenamiento conforme con el requerimiento 10.7

Soluciones comerciales de Antivirus (Antimalware)

En el mercado existen múltiples soluciones antivirus (ver “Comparison of antivirus software“). Dependiendo de las necesidades y de las plataformas a securizar, algunas fuentes de información independientes para la elección de un antivirus para un entorno PCI DSS son:

Algunas de las soluciones licenciadas destacables son:

Soluciones Open Source de Antivirus (Antimalware)

Dentro del mundo Open Source la pena destacar ClamAV (Sourcefire), un motor antivirus bajo licencia GPL con amplio reconocimiento en la comunidad del software libre. A partir de la versión 0.99 ClamAV soporta escaneos en tiempo real (On-Access Scanning), cubriendo la totalidad del requerimiento 5.

Otra alternativa es Linux Malware Detect, una solución no tan conocida pero con características interesantes para el cumplimiento de PCI DSS.

Referencia técnica: ¿Cómo comprobar si la solución de Antivirus (Antimalware) instalada en mi entorno PCI DSS está funcionando?

Para validar que una solución antivirus se encuentra funcionando de forma activa y genera registros de eventos se puede utilizar EICAR (“EICAR Standard Anti-Virus Test File”), un archivo de prueba anti-malware.  Se puede descargar en diferentes formatos (.com, .txt.com y .zip) para evaluar la efectividad en la detección basada en extensiones. En el caso que no se pueda descargar, se puede emplear la siguiente cadena de caracteres ASCII que se puede copiar en un archivo e intentar guardarlo. Obviamente, si el antivirus funciona activará una acción correctiva y generará el registro del evento asociado:

Si hay alguna duda, el foro y los comentarios están disponibles.