Blog B-SECURE

Un enfoque inicial sobre Cloud Pentesting

Con el auge de la transformación digital, día a día en las organizaciones surgen nuevos desafíos donde se involucran operaciones y procesos complejos que dependen de las TIC’s (Tecnologías de la Información y las Comunicaciones). Los departamentos TIC buscan reducir los costes económicos y esfuerzos operativos; ganando eficiencia, escalabilidad, flexibilidad, agilidad y seguridad en la entrega de servicios.

La computación en la nube es aquel paradigma que satisface todas estas características y consiste en el uso de servicios TIC que se ejecutan en la infraestructura de un proveedor externo a través de internet. Dicho en otras palabras, es el uso de recursos computacionales a distancia, donde solo se paga por el uso y se despliega fácil, ágil y eficazmente un servicio tecnológico. 

Debido a los beneficios y versatilidad que ofrece la computación en la nube, cada vez más compañías migran sus cargas de trabajo hacia entornos Cloud; esto ha ocasionado que los ciberdelincuentes centren su atención en la nube, de tal modo que los ataques cibernéticos evolucionen y crezcan a una velocidad desmesurada.

Por otra parte, las amenazas cibernéticas son cada vez más comunes y sofisticadas, por ejemplo: configuraciones incorrectas, violación, divulgación y exfiltración de datos, malware y APT (Advanced Persistant Threat), compromisos y vulnerabilidades en la cadena de suministro, control de acceso débil, interfaces y API inseguras, uso inapropiado de los recursos y abuso en los servicios de la nube. Por ende, es necesario revisar periódicamente el estado de la seguridad de los servicios adquiridos en la nube y garantizar la protección de los datos que se crean, procesan, transmiten, almacenan y eliminan en este tipo de ambientes distribuidos. 

cloud-computing

Uno de los métodos predilectos para identificar fallos en los sistemas informáticos son las pruebas de penetración, (Pentesting en inglés), un profesional (Pentester) se encarga de evaluar fortalezas y debilidades desde la perspectiva de un atacante. El objetivo principal de este tipo de pruebas, es identificar vulnerabilidades, riesgos y brechas determinando la factibilidad de explotación y como se pueden aprovechar los hallazgos encontrados; para después proporcionar recomendaciones claras y concisas del proceso de mitigación y proveer las mejores prácticas de protección para los activos informáticos evaluados. Con las pruebas de penetración se mejora generalmente la postura de seguridad, permitiendo comprender las interacciones entre conectividad, sistemas, software y datos; además, apoya el cumplimiento regulatorio de normatividad y evita multas por un incidente de seguridad detectado tardíamente.

En pro de obtener una evaluación confiable sobre la implementación de infraestructura o plataforma en la nube, es importante tener en cuenta aspectos relevantes como las configuraciones específicas de los servicios nativos de la nube, credenciales de acceso basadas en roles, métodos de cifrados empleados en la transmisión de datos y aplicaciones, protocolos de seguridad en API (Application Programming Interface por sus siglas en inglés), y mecanismos de ingreso a bases de datos y almacenamiento; lo anterior basado en el modelo de responsabilidad compartida, en el cual se define quien está a cargo de los elementos que componen la infraestructura, plataforma o software de la nube. 

Alcance y limitantes del Pentesting en nube

En cuanto al alcance de un Cloud Pentesting, se trata de un examen de seguridad en la nube en lugar de seguridad de la nube, esto quiere decir que no todo puede ser probado dado que ciertos componentes están bajo el control del proveedor de servicios en nube. Según el tipo de servicio contratado se definen las políticas de uso, los acuerdos de servicio y el modelo de responsabilidad compartida, donde se establece que componentes están sujetos a la evaluación y que tipo de pruebas se pueden ejecutar. Por lo general, se realiza el Pentesting a la Infraestructura como servicio (IaaS) y a la Plataforma como servicio (PaaS), donde se evalúa la implementación y configuración de los componentes en nube y no la infraestructura que los soporta. A nivel del Software como servicio (SaaS), no es común realizar Pentesting porque el usuario final no es el propietario del entorno y las pruebas pueden afectar a otros clientes, solo es permitido en casos muy particulares, por ejemplo, en la revisión del control de acceso e identidades. 

Es importante aclarar, que toda actividad relacionada con una prueba de seguridad debe ser previamente notificada y autorizada por el proveedor de servicios en la nube; cualquier acción desconocida se tomara como un ataque y se puede incurrir en el cierre de la cuenta, por violar las políticas de uso aceptable, o sanciones económicas. Otro punto a tener en cuenta es la restricción explicita de ataques de denegación de servicio o cualquier tipo de prueba que involucre información, dispositivos o servicios de terceros. En síntesis, se prohíbe cualquier prueba que involucre la infraestructura central del CSP (Cloud Service Provider) o servicios subyacentes de otros proveedores, de tal modo que la prueba de penetración este orientada a la evaluación de los activos propiedad del usuario. Comprender estos requisitos ayudará a garantizar que el Pentesting cumpla con las obligaciones organizativas y de seguridad.

Después de ejecutar el Pentest, se proporciona un informe documentado de los hallazgos y las recomendaciones de remediación. Los hallazgos se basan en el riesgo para el entorno; cuanto mayor sea el riesgo, mayor será la probabilidad de explotación o mayor será el impacto potencial para la organización. En primer lugar, se debe remediar los riesgos más altos, no obstante, es importante que se realice una nueva prueba para verificar el cierre de las vulnerabilidades detectadas. Es indispensable que los informes se compartan de manera segura para evitar que un atacante real intercepte los datos y obtenga conocimiento sobre cómo lanzar un ataque potencial contra la organización.

Etapas de un Pentesting en nube

Durante las pruebas de penetración en la nube normalmente se examinan áreas específicas, tales como: computo desplegado, aplicaciones, cargas de trabajo (Workloads en inglés), microsegmentación y acceso. Las pruebas de penetración en la nube a menudo se realizan en tres etapas: evaluación, explotación y corrección.

  • Evaluación: se trata de actividades de descubrimiento de seguridad en la nube, así como las necesidades de seguridad en la nube, los SLA (Service Level Agreement) existentes en la nube, los riesgos y las posibles exposiciones a vulnerabilidades. 
  • Explotación: la información recopilada se combina con cualquier metodología de Pentesting relevante que se centre en las vulnerabilidades explotables. Este enfoque evaluará la resistencia del entorno de nube a los ataques, la cobertura del monitoreo de seguridad y la eficacia de las capacidades de detección y respuesta.
  • Verificación de la remediación: el pentester realiza una evaluación de seguimiento para garantizar que los pasos de remediación y mitigación de la fase de explotación se hayan implementado con precisión. Esto también permite confirmar que la postura de seguridad del cliente está alineada con las mejores prácticas de la industria.

Recomendaciones

Existen una serie de recomendaciones para obtener los mejores resultados al momento de llevar a cabo una prueba de penetración en la nube. 

  • Es fundamental que el proveedor encargado del pentesting posea conocimientos sólidos y vasta experiencia en entornos cloud.
  • Comprender a cabalidad el modelo de responsabilidad compartida, permitirá delimitar el alcance y tipo de prueba de seguridad a ejecutar.
  • Definir un alcance, teniendo en cuenta los objetivos a evaluar y las políticas de uso aceptable.
  • Consultar las clausulas establecidas por el proveedor de servicios en nube, con respecto a las pruebas de intrusión y análisis de vulnerabilidades. 
  • Establecer un protocolo de infracción o ataque en vivo en caso de detectar un fallo critico o ataque en curso.
  • Identificar pronto las configuraciones incorrectas para que no se conviertan en incidentes de seguridad.
  • Realizar un pentesting dentro de la nube requiere una adecuada planificación y conocimiento experto.
  • Determinar el tipo de prueba a realizar y establecer el cronograma para que se lleve a cabo la evaluación técnica.
  • Describir las expectativas de las diferentes partes interesadas.
  • Obtener la aprobación por escrito para realizar la prueba por parte del cliente, proveedor de servicios en la nube y otros terceros que puedan estar involucrados. 

Conclusión

La planificación adecuada, la identificación de riesgos y objetivos clave y la selección de una empresa prestadora de servicios de pentest adecuada son elementos cruciales para el éxito. Las organizaciones deben comprender las capacidades y limitaciones al realizar una prueba de penetración en la nube, incluidos qué tipos de herramientas y pruebas están permitidas y cuáles son sus roles y responsabilidades; si no están seguros, es imperativo que se consulte con un experto externo para recibir orientación. Si la organización depende de la nube para los servicios críticos y necesita desarrollar una estrategia de ciberseguridad holística a largo plazo, vale la pena contratar a un proveedor de seguridad externo para realizar una prueba de penetración de computación en la nube.

 Referencias

 

Topics: cloud pentesting