Lista de OWASP Mobile Top 10 2016:
Esta categoría cubre el mal uso de una función de plataforma o la falta de uso de controles de seguridad de la plataforma. Puede incluir intentos de Android, permisos de plataforma, mal uso de TouchID, el llavero o algún otro control de seguridad que forma parte del sistema operativo móvil. Hay varias formas en que las aplicaciones móviles pueden experimentar este riesgo.
Esta nueva categoría es una combinación de M2 + M4 de Mobile Top Ten 2014. Esto cubre el almacenamiento de datos inseguro y la fuga de datos no deseados.
Esto cubre un apretón de manos pobre, versiones SSL incorrectas, negociación débil, comunicación de texto claro de activos sensibles, etc.
Esta categoría captura las nociones de autenticar el usuario final o la mala gestión de sesiones. Esto puede incluir:
El código aplica la criptografía a un activo de información confidencial. Sin embargo, la criptografía es insuficiente de alguna manera. Tenga en cuenta que cualquier cosa y todo lo relacionado con TLS o SSL va en M3. Además, si la aplicación no usa la criptografía cuando debería, eso probablemente pertenece a M2. Esta categoría es para problemas en los que se intentó la criptografía, pero no se hizo correctamente.
Esta es una categoría para capturar cualquier fallas en la autorización (por ejemplo, decisiones de autorización en el lado del cliente, navegación forzada, etc.). Es distinto de los problemas de autenticación (por ejemplo, inscripción de dispositivos, identificación del usuario, etc.).
Si la aplicación no autentica a los usuarios en absoluto en una situación en la que debería (por ejemplo, otorgar acceso anónimo a algún recurso o servicio cuando se requiere acceso autenticado y autorizado), entonces esa es una falla de autenticación, no una falla de autorización.
Esta fue las "decisiones de seguridad a través de entradas no confiables", una de nuestras categorías menos utilizadas. Este sería el consumo de problemas de implementación a nivel de código en el cliente móvil. Eso es distinto de los errores de codificación del lado del servidor. Esto capturaría cosas como desbordamientos de búfer, vulnerabilidades de cadena de formato y varios otros errores a nivel de código donde la solución es reescribir algún código que se ejecuta en el dispositivo móvil.
Esta categoría cubre parches binarios, modificación de recursos locales, enganche de métodos, swizzling y modificación dinámica de memoria.
Una vez que la aplicación se entrega al dispositivo móvil, el código y los recursos de datos son residentes allí. Un atacante puede modificar directamente el código, cambiar el contenido de la memoria dinámicamente, cambiar o reemplazar las API del sistema que usa la aplicación o modificar los datos y los recursos de la aplicación. Esto puede proporcionar al atacante un método directo para subvertir el uso previsto del software para una ganancia personal o monetaria.
Esta categoría incluye el análisis del binario final final para determinar su código fuente, bibliotecas, algoritmos y otros activos. El software como IDA Pro, Hopper, Otool y otras herramientas de inspección binaria le dan al atacante una idea del funcionamiento interno de la aplicación. Esto puede usarse para explotar otras vulnerabilidades nacientes en la aplicación, así como para revelar información sobre servidores de back -end, constantes criptográficas y cifrados, y propiedad intelectual.
A menudo, los desarrolladores incluyen funcionalidad oculta de puerta trasera u otros controles de seguridad de desarrollo interno que no están destinados a ser liberados en un entorno de producción. Por ejemplo, un desarrollador puede incluir accidentalmente una contraseña como comentario en una aplicación híbrida. Otro ejemplo incluye deshabilitar la autenticación de 2 factores durante la prueba.