Hoy en día, las pruebas de penetración (penetration testing) son una necesidad para todas las empresas que desean evaluar su infraestructura, redes, servidores, aplicaciones y/o base de datos desde la perspectiva de un atacante que pretende acceder a los sistemas,  capturar información confidencial y/o hacer daño a una organización.

En este artículo se presenta una guía para  gestionar las pruebas de penetración, proporcionando orientación general y pautas para las organizaciones y evaluadores que realizan estas pruebas. La guía comprende las siguientes fases:

  • Entendimiento de la organización
  • Planificación
  • Ejecución
  • Elaboración de informe
  • Remediación
  • Repetición de la prueba

A continuación se presentan de manera ilustrativa estas fases y las actividades que se deben desarrollar en ellas.

Entendimiento de la organización

Es una fase clave para el éxito de las pruebas de penetración debido a que el gestor encargado de liderar las pruebas debe conocer o recopilar la información sobre los activos de información que serán probados. Asimismo, comprender los riesgos que afronta la organización y conocer los requerimiento contractuales y regulatorios aplicables con el propósito de gestionar y programar adecuadamente las pruebas de penetración.

Planificación

Luego de entender la organización, es muy importante que se planifique las pruebas de penetración; para ello, en esta fase es muy importante tener en cuenta las siguientes actividades:

  • Definir los objetivos de las pruebas, por ejemplo, probar si un usuario malintencionado puede acceder a la información o a los sistemas que lo soportan afectando la seguridad de la organización o comprobar la eficacia de los controles de seguridad implementados en la organización.
  • Definir el alcance de lo que se desea probar según el entendimiento de la organización y los objetivos definidos para las pruebas. La organización es la responsable de definir el alcance; sin embargo, es importante que coordine con el personal calificado en realizar pruebas de penetración con el propósito de definir adecuadamente dicho alcance. Para el caso de organizaciones que procesan, almacenan y transmiten datos de titular de tarjetas y que tienen que cumplir con el estándar PCI DSS, deben incluir la cobertura de todo el perímetro del CDE (entorno de datos del titular de la tarjeta) y sistemas críticos. Asimismo, se debe considerar entre otras las siguientes pruebas:
    • Pruebas del entorno interno y externo de la red.
    • Pruebas de la capa de la aplicación.
    • Pruebas de penetración de la capa de la red y sistemas operativos.
    • Pruebas para validar cualquier segmentación y controles de reducción del alcance.
    • Pruebas ante cambios significativos.

Asimismo, es importante considerar pruebas  según las metodologías de Open Source Security Testing Methodology Manual (OSSTMM) y Open Web Application Security Project (OWASP).

  • Seleccionar el evaluador de las pruebas. Las pruebas de penetración pueden ser realizadas por recursos internos o externos calificados, siempre y cuando haya una adecuada segregación de funciones con el personal que administra los sistemas. Algunos de los criterios a tener en cuenta para seleccionar al evaluador de las pruebas son:
    • Experiencia en el campo y referencias de empresas en las que ha ejecutado pruebas de penetración:
      • Realizando pruebas según el alcance establecido.
      • Conocimiento de los sistemas y tecnologías que comprende el alcance.
      • Desempeñándose en organizaciones y tamaños similares a la organización a evaluar.
      • Aplicando metodologías de pruebas de penetración aceptadas por la industria tales como: OSSTMM, OWASP y calificación de vulnerabilidades sobre la base de estándares de la industria como el Common Vulnerability Score System (CVSS).
    • Especialistas que tengan certificaciones que para lograrlo hayan sido evaluados con retos prácticos y no solamente teóricos. Algunos ejemplos de certificaciones a tener en cuenta a nivel de la región:
      • Offensive Security Certified Professional (OSCP)
      • eLearnSecurity Certified Professional Penetration Tester (eCPPT)
      • eLearnSecurity Web application Penetration Tester (eWPT)
      • eLearnSecurity Web Application Penetration Tester eXtreme (eWPTX)
      • eLearnSecurity Junior Penetration Tester (eJPT)
    • Entrega de informe ejecutivo y técnico de la pruebas.
    • Garantía del servicio finalizado las pruebas de penetración.
    • Valor agregado

Es recomendable comprobar el conocimiento y experiencia del evaluador a través de reuniones o entrevistas.

  • Coordinaciones previas. Es muy importante que todos los involucrados del proceso (organización y cuando corresponda el evaluador) se reúnan preliminarmente para estar informados y acordar sobre aspectos como:
    • Verificación del alcance.
    • Documentación de los componentes dentro del alcance.
    • Tipo de pruebas a realizar.
    • Definición de reglas para la ejecución de las pruebas tales como horario permitido para las pruebas y las IPs donde se originarían las pruebas.
    • Planificación de las actividades, tiempos, recursos, riesgos del proyecto, entre otros, siguiendo buenas prácticas de gestión de proyectos.

Ejecución

En esta fase se realizan las pruebas de penetración según lo acordado en la fase de planificación, utilizando metodología de pruebas de penetración aceptadas por la industria y herramientas necesarias que considere el evaluador de acuerdo con su experiencia. Las pruebas de penetración deben ser esencialmente un esfuerzo manual y las pruebas automatizadas deben ser un complemento a ella, principalmente en las aplicaciones. Asimismo, se debe considerar las pruebas sin credenciales y con credenciales; sin embargo, a veces por la limitación de tiempo,  se considera una buena práctica iniciar la ejecución de pruebas de tipo caja gris, donde se le brinda al evaluador acceso con privilegios limitados de usuario e información parcial de los sistemas que está probando; luego, considerar pruebas de tipo caja blanca, proporcionando al evaluador accesos  privilegiados y amplio conocimiento de la infraestructura y/o la aplicación de la organización.

En esta fase, la organización debe realizar el seguimiento a través de reuniones con el evaluador con el propósito de revisar si las vulnerabilidades identificadas impactan en la organización y comprobar que las actividades se desarrollen de acuerdo a lo planificado.

Elaboración del informe

En esta fase se debe considerar la elaboración y presentación de un informe por parte del evaluador. Un informe que solo liste las vulnerabilidades no genera valor para la organización; por ende, el informe debe estar estructurado de tal manera que se explique qué se probó, cómo se probó, cuáles son los resultados de la prueba y las recomendantes u oportunidades de mejora.

Se debe tener en cuenta que la clasificación de riesgo para cada problema de seguridad detectado puede aplicarse con una puntuación estándar de la industria; por ejemplo, el CVSS; sin embargo, es posible que, de acuerdo al entorno y riesgos en la organización, esta valorización pueda variar y, de ser así, se debe documentar en el informe.

La estructura de un informe puede considerar los siguientes puntos:

  • Datos del Evaluador
  • Fecha de emisión del informe
  • Resumen ejecutivo
  • Alcance de las pruebas de seguridad
  • Metodología usada
  • Herramientas usada
  • Participantes del proyecto
  • Cronograma del Proyecto
  • Descubrimiento
  • Vulnerabilidades comprobadas sobre activos afectados
  • Clasificación de riesgo de cada vulnerabilidad
  • Descripción de hallazgos (vulnerabilidades comprobadas y su explotación)
  • Documentar las evidencias
  • Recomendaciones u oportunidades de mejora para la remediación

Después de la prueba, se debe considerar eliminar las cuentas de acceso habilitadas para las pruebas, borrar datos y desinstalar las herramientas que el evaluador utilizó como parte de sus pruebas.

Remediación

En esta fase el gestor encargado de liderar las pruebas y los involucrados de la organización deben revisar las recomendaciones u oportunidades de mejoras brindadas por el evaluador. También, se debe planificar adecuadamente las acciones para subsanar las vulnerabilidades identificadas y, de ser el caso, contemplar las acciones preventivas para que este tipo de vulnerabilidades no se vuelva a presentar.  Asimismo, el gestor  debe coordinar con los involucrados la implementación de las acciones de remediación y hacer el seguimiento correspondiente hasta que se evidencie la subsanación de las vulnerabilidades.

Repetición de la prueba

En esta fase se realiza nuevamente una prueba (re-test) para verificar si las vulnerabilidades encontradas en la fase de ejecución y presentadas en el informe del evaluador fueron debidamente solucionadas. Para ello, previamente se debe coordinar con el evaluador la fecha, accesos, entre otros aspectos para la ejecución de la prueba. El evaluador debe ejecutar el re-test según lo acordado con la organización y posteriormente elaborar y entregar el informe de re-test al gestor líder de las pruebas.

Referencias:

PCI SSC Payment Card Industry (PCI) Data Security Standard v3.2.1

PCI SSC Information Supplement: Penetration Testing Guidance v1.1


Marco Palomino

PMP, PCIP, CISM, COBIT, ITIL, ISO 27002, ISO 22301, SCRUM Master