Conocer qué tipos de pruebas de penetración existen es el primer paso para encontrar una solución adecuada a sus necesidades, especialmente en un mundo donde la seguridad informática se vuelve cada vez más importante.
Para saber más sobre qué es una prueba de penetración, lea nuestro artículo.
En este editorial profundizaremos en los diferentes tipos de pruebas de penetración existentes:
-
Objetivo
-
Metodologías
Las pruebas de penetración se diferencian entre sí por varios factores, el tipo de infraestructura que se va a atacar, el tipo de información proporcionada previamente a los evaluadores, etc.
Además, las diferentes pruebas pueden seguir metodologías y marcos de pruebas de penetración diferentes, cada una de las cuales llevará a métodos, tiempos y resultados diferentes.
¿Cuáles son los objetivos de una prueba de penetración?
Como se mencionó anteriormente, el propósito de una prueba de penetración es descubrir las vulnerabilidades de un sistema y evaluar la gravedad de los riesgos a los que se está expuesto.
El proceso de pentest puede variar sustancialmente en la modalidad, la duración y los enfoques utilizados; estos factores dependen principalmente de lo que se está atacando.
Dado que las modalidades y las áreas de interés son tan diferentes, las pruebas de penetración se han diversificado y especializado para obtener los mejores resultados en un ámbito determinado.
Hoy en día existen diferentes tipos de pruebas de penetración que se centran en objetivos diferentes:
Prueba de penetración de red
Prueba cuyo objetivo es verificar la seguridad de una red.
Esta prueba es particularmente importante por dos factores: el primero es que interesa a la gran mayoría de los aspectos de seguridad dentro de la empresa, el segundo es que los ataques a las redes se están desarrollando y sofisticando cada vez más.
La prueba de penetración de una red interesa a la seguridad de redes, hosts y dispositivos.
Las pruebas de penetración a las redes pueden ser de tipo:
Externo, si pasan a través de servidores (sitios web, servidores de correo, etc.) o dispositivos de red accesibles desde internet - Este tipo de prueba es útil para evaluar el impacto que pueden tener los atacantes que no tienen acceso, físico o remoto, a la red empresarial.
Interno, si la prueba se realiza dentro de la red empresarial, físicamente o a través de conexiones remotas. El ataque está orientado a descubrir qué riesgos se corren si un malintencionado logra tener acceso a la red. Este tipo de prueba es particularmente útil si se permite a los empleados introducir dispositivos electrónicos personales en la empresa (política BYOD).
Un malware en dispositivos personales puede expandirse en la red y comprometerla.
Prueba de penetración de aplicaciones web
Se trata de una prueba de penetración para descubrir vulnerabilidades y evaluar la seguridad en aplicaciones web clásicas o en aplicaciones de una sola página.
Este tipo de prueba es específico pero extremadamente amplio, especialmente en lo que respecta a los vectores de ataque. Las fallas de seguridad en un sitio web pueden esconderse en la lógica del software mismo, en el uso de entradas por parte del usuario que no se controlan adecuadamente, en el uso de componentes no actualizados o en configuraciones no seguras.
Es posible encontrar detalles específicos sobre la prueba de penetración de aplicaciones web en el manual ofrecido por OWASP, consultable gratuitamente en línea en el enlace: https://www.owasp.org/images/1/19/OTGv4.pdf
Prueba de penetración de aplicaciones móviles
Es una prueba destinada a encontrar fallas en la seguridad de aplicaciones móviles. La prueba de penetración de aplicaciones móviles es una modalidad relativamente nueva y se centra en algunos puntos focales bien definidos:
la calidad de la arquitectura cliente-servidor implementada;
la seguridad de los datos guardados en el dispositivo;
la verificación de las comunicaciones seguras;
la seguridad de la autenticación;
la seguridad de la plataforma del servidor;
la presencia de vulnerabilidades en el código de las API y los servicios de backend utilizados por la aplicación.
Una aplicación puede ser atacada desde diferentes frentes y hacerla segura es un trabajo complejo. OWASP está desarrollando la Guía de Pruebas de Seguridad Móvil, un manual para la programación segura de aplicaciones móviles y para la prueba de penetración correspondiente.
La primera versión está disponible en el enlace: https://mobile-security.gitbook.io/mobile-security-testing-guide/
Prueba de penetración de API
Las API (Interfaz de programación de aplicaciones) son la forma en que es posible interconectar un software con un servidor.
Las API son extremadamente comunes y utilizadas, por lo que la seguridad de esta herramienta es fundamental.
Un hacker podría ser capaz de abusar de las API puestas a disposición por el servidor y realizar acciones maliciosas, acceder a datos sensibles o comprometer el servicio.
Por este motivo, si se implementan API, públicas o de uso privado, es fundamental asegurar esta interfaz accesible por cualquiera en la web.
Durante el proceso de prueba de penetración de las API se verifica que las lógicas del aplicativo funcionen correctamente, especialmente en lo que respecta a las mecánicas de autenticación y autorización. Además, se verifica cuidadosamente si y cómo el código sanitiza la entrada, este paso es fundamental para evaluar la presencia de ataques de tipo "injection".
OWASP ha dedicado un proyecto a la seguridad de las API donde destaca las 10 vulnerabilidades más comunes y explica cómo probar si estas vulnerabilidades están presentes, pero también cómo reparar posibles problemas. El proyecto está disponible en el enlace: https://owasp.org/www-project-api-security/
Prueba de penetración de IoT
La prueba de penetración de infraestructuras IoT (o Internet de las Cosas) se está convirtiendo en una práctica cada vez más solicitada. Los dispositivos IoT están ahora en todas partes, desde el sector automotriz, hasta el de la salud, pasando por el personal y las empresas.
La prueba de penetración IoT se centra en encontrar fallas de seguridad en el funcionamiento de estas infraestructuras con el fin de extraer información o comprometer su funcionamiento.
Los dispositivos IoT se prueban para encontrar vulnerabilidades como:
Contraseñas débiles, "hard-coded" o fácilmente adivinables
Vulnerabilidad común en dispositivos IoT, a menudo se mantienen las contraseñas predeterminadas o se dejan activos cuentas de mantenimiento con contraseñas especificadas en el código y por lo tanto no modificables;
Servicios inseguros puestos a disposición públicamente como paneles de control o herramientas de diagnóstico;
Problemas en el ecosistema IoT como autorizaciones y autenticaciones insuficientes o lógicas inseguras entre el backend y los dispositivos.
También se controlan los mecanismos de actualización de los dispositivos para verificar que sean seguros, configuraciones inseguras o seguridad física de los dispositivos.
Aunque existen objetivos diferentes, estos no son autoexclusivos. De hecho, una prueba de penetración completa requiere que se evalúen todos los aspectos de seguridad de una infraestructura, incluyendo, obviamente, todos los objetivos interesados.
¿Pruebas de penetración White Box, Grey Box o Black Box?
Las pruebas de penetración no se clasifican exclusivamente en función de los objetivos que prueban, sino también en el nivel de conocimiento del sistema que los evaluadores recibirán antes de comenzar.
Aunque el conocimiento de una infraestructura se representa mejor en un espectro que en clases distintas, la prueba se divide en tres tipos diferentes: Pruebas de penetración White box, Pruebas de penetración Black box y Pruebas de penetración Grey box.
Pruebas de penetración White box
El evaluador de penetración ha recibido información detallada sobre el objetivo y la infraestructura, como un mapa de la red y credenciales de acceso útiles para realizar las pruebas.
La prueba de penetración de tipo white box es una modalidad asistida de simulación de escenarios. Gracias a la información proporcionada al evaluador, como por ejemplo la documentación, el diseño de la arquitectura, el código fuente, permite una mayor cobertura y proporciona una visión extensiva de cada posible vector de ataque.
Aunque la prueba de penetración white box permite ahorrar tiempo inicialmente (porque no será necesario realizar una fase de reconocimiento), podría ser muy costosa en términos de tiempo debido a los numerosos vectores de ataque que los evaluadores de penetración deberán evaluar y probar.
Pruebas de penetración Black box
Escenario diametralmente opuesto a la prueba de penetración white box. A los evaluadores no se les proporciona ninguna información sobre la infraestructura a atacar.
El evaluador de penetración asumirá el papel de un atacante que intenta comprometer la seguridad de la infraestructura desde el exterior. Este tipo de prueba es útil para modelar un ataque externo y, por lo tanto, el más plausible y común.
La prueba de penetración black box requerirá la evaluación de los vectores de ataque accesibles desde el exterior. Es importante tener en cuenta que, aunque este ataque puede modelar situaciones específicas, no ofrece una visión completa de la seguridad porque el evaluador no tendrá la posibilidad de examinar todos los vectores de ataque posibles.
Pruebas de penetración Grey box
En este escenario, a los evaluadores de penetración se les proporciona solo información parcial, generalmente se trata de credenciales para el inicio de sesión. La prueba de penetración grey box permite modelar situaciones en las que un hacker, desde el exterior, ha obtenido acceso a la red interna, o para simular una amenaza interna.
La prueba de penetración grey box es un punto intermedio entre la white box y la black box, por lo tanto, es útil para probar de manera realista la seguridad, sin entrar en pruebas demasiado detalladas.
Generalmente, la prueba grey box es la opción preferible si no se tienen necesidades particulares y si se desea tener una visión suficientemente completa de la seguridad.
Conclusiones
Antes de comenzar el proceso de prueba de penetración, es importante comprender cuál tipo de prueba se adapta mejor a sus necesidades, en términos de evaluación de seguridad, tiempos y costos.
A continuación se muestra una tabla que resume brevemente los tipos de pruebas entre los que se puede elegir.
