Análisis White-box versus Black-box

Las tareas de revisión de seguridad de una app móvil pueden ser clasificadas dependiendo de la información a la que tenga acceso el técnico de seguridad.

Se llama Black-box testing cuando el técnico no tiene ningún tipo de información de la app que va a analizar. Este proceso a veces también se conoce como zero-knowlege. El objetivo de este tipo de pruebas es simular un ataque real explotando la información pública disponible o descubrible con algo de investigación.

Se denomina White-box testing - o full knowledge testing - al proceso de pruebas en el que el técnico de seguridad tiene acceso al código fuente, documentación y diagramas de la app. Estas pruebas pueden ser realizadas de manera mucho más rápida que con el Black-box testing porque hay acceso a todo el proyecto de manera transparente y permite realizar pruebas mucho más específicas.

Se habla de Gray-box testing cuando nos encontramos en una situación mixta para realizar las pruebas, disponemos de información parcial para hacerlas (normalmente las credenciales de usuario). Este sistema es interesante porque permite hacer unas pruebas similares a las de Black-box pero ahorrando mucho tiempo al tener unos datos de partida para hacer pruebas.

Como desarrollador siempre he preferido que sometan a mis apps a pruebas de tipo Black-box o Grey-box, el especialista lo tiene más difícil a la hora de encontrar los problemas de la app.

Cuando realizo las pruebas de seguridad yo mismo sin embargo prefiero hacerlas White-box para tener toda la información a mi alcance y hacer de verdad un análisis de hasta el último rincón conflictivo que pueda haber.

Las aplicaciones de Android son desofuscables, pero organizar todo el código del proyecto de una manera coherente puede llevar bastante tiempo, por lo que si te facilitan el código fuente siempre ganarás tiempo.

En el caso de iOS necesitas el código fuente para poder hacer un análisis White-box.

Comentarios