Como parte de las actividades periódicas de monitorización del estado de seguridad, el estándar PCI DSS exige la realización de una serie de evaluaciones técnicas para la identificación temprana de potenciales problemas de seguridad en los activos del ámbito de cumplimiento y en los controles de seguridad desplegados. Dentro de estas actividades se encuentran los escaneos de vulnerabilidades, las pruebas de penetración y los análisis de vulnerabilidades de aplicaciones web.

A pesar de que cada una de estas pruebas tiene un alcance y unos objetivos diferentes, suelen ser confundidas a menudo. Para evitar estos problemas, a continuación se explican las diferencias entre cada una de ellas:

Escaneo de vulnerabilidades (req. 11.2)

Los escaneos de vulnerabilidades (“vulnerability scans”) internos y externos exigidos en el requisito 11.2 de PCI DSS tienen las siguientes características:

  • Son pruebas no intrusivas (no afectan la confidencialidad, la integridad o la disponibilidad de los servicios analizados).
  • Los escaneos de vulnerabilidades son netamente técnicos y están orientados hacia la identificación y detección de posibles problemas en la infraestructura lógica del entorno mediante la comparación con bases de datos de vulnerabilidades conocidas y reportadas.
  • Suelen tener una alta tasa de falsos positivos (una vulnerabilidad detectada por el software de escaneo puede no existir realmente), por lo que se requiere de una revisión detallada de los informes.
  • Se realizan verificaciones de forma automatizada.
  • Su tiempo de ejecución es relativamente corto.
  • Deben ser realizados trimestralmente o después de un cambio significativo.
  • En el caso de los escaneos de vulnerabilidades externos, éstos deben ser realizados exclusivamente por empresas homologadas por el PCI SSC como “Approved Scanning Vendors” (ASV). Más información en el artículo “Criterios para escoger un Proveedor Aprobado de Escaneo (ASV)“.
  • Para los escaneos de vulnerabilidades internos, éstos pueden ser realizados por personal interno de la empresa con conocimiento demostrado de seguridad y/o empresas externas.

Figura 1. Fases globales de un escaneo de vulnerabilidades (req. 11.2)

Algunas de las herramientas que se emplean para realizar escaneos de vulnerabilidades son Tenable Nessus (comercial), OpenVAS (open source), Qualys (comercial), SAINT (comercial), Nexpose (comercial), etc.

Prueba de penetración (req. 11.3)

Por otro lado, las pruebas de penetración (“penetration testing”) internas, externas y de verificación de segmentación exigidas en el requisito 11.3 de PCI DSS tienen las siguientes características:

  • Suelen servirse de los resultados de los escaneos de vulnerabilidades como punto de partida para optimizar los tiempos de ejecución, aunque esto no es obligatorio.
  • Son pruebas intrusivas orientadas hacia el intento de explotación o la explotación directa de las vulnerabilidades identificadas, simulando los efectos de un ataque real. Por ello, pueden afectar la integridad, la confidencialidad y la disponibilidad de los activos analizados por lo que deben planificarse cuidadosamente para no afectar la operación.
  • Las pruebas de penetración van más allá del entorno técnico (lógico) y pueden incluir la realización de pruebas físicas tales como la ingeniería social o el acceso físico a instalaciones.
  • Requiere de una preparación previa para perfilar los ataques y herramientas a emplear.
  • Su ejecución debe basarse en una metodología previamente definida por la organización (req. 11.3)
  • Las pruebas ejecutadas suelen ser casi siempre manuales y específicas de los activos del entorno, por lo que su tiempo de ejecución es más largo que un escaneo de vulnerabilidades.
  • Sus reportes suelen tener menos falsos positivos que los escaneos de vulnerabilidades, debido a que se realizan intentos de explotación de las vulnerabilidades identificadas comprobando la existencia real del problema de seguridad.
  • Sus reportes son más exhaustivos y con mayor detalle que los informes de los escaneos de vulnerabilidades.
  • Se deben ejecutar de forma anual (en el caso de las pruebas internas, externas y de segmentación) y semestral (en el caso de las pruebas de segmentación para proveedores de servicios) o después de un cambio significativo.
  • Estas pruebas pueden ser realizadas por personal interno con conocimiento de seguridad y/o por empresas externas especializadas.

Figura 2. Fases globales de una prueba de penetración (req. 11.3)

Algunas de las herramientas empleadas para estas pruebas son Metasploit (open source/comercial), Core Impact (comercial), Immunity Canvas (comercial), Social-Engineer Toolkit (open source), etc.

Más información en el artículo “10 cosas que debes saber del nuevo documento de pruebas de penetración (Penetration Testing)

Análisis de vulnerabilidades de aplicación web (req. 6.6)

Finalmente, como alternativa al uso de un WAF (Web Application Firewall), el requisito 6.6 de PCI DSS permite el uso de una herramienta de análisis de vulnerabilidades de aplicación web. Estas herramientas no son las mismas que se emplean en los escaneos de vulnerabilidades citados anteriormente y tienen las siguientes características:

  • A diferencia de los escaneadores de vulnerabilidades referidos en el requisito 11.2, que ejecutan pruebas genéricas independientemente del tipo de activo analizado (sistemas operativos, bases de datos, equipos de red y aplicaciones), las herramientas de análisis de vulnerabilidades de aplicación web se especializan exclusivamente en identificar y detectar vulnerabilidades en aplicaciones web publicadas en redes públicas abiertas.
  • Deben incorporar validaciones de las principales vulnerabilidades en aplicaciones web referidas en la OWASP Top Ten.
  • Deben ser ejecutadas anualmente o después de un cambio significativo en la aplicación web.
  • Pueden incorporar la realización de pruebas manuales, en complemento a las pruebas automatizadas.
  • Deben ser ejecutadas por una empresa externa especializada en seguridad de aplicaciones web.

Algunas de las herramientas que se pueden emplear para realizar este tipo de escaneos de aplicación web son Acunetix WVS (comercial), Netsparker (comercial), IBM AppScan (comercial), Fortify WebInspect (comercial), Nikto (open source), Burp Suite (comercial/community), Vega (open source), Syshunt Community Hybrid Scanner (comercial/community), Qualys Web Application Scanning (comercial), etc.