viernes, 18 de septiembre de 2015

Qark: herramienta para la detección de vulnerabilidades

Qark es una utilidad que nos ayudará con la identificación de vulnerabilidades en aplicaciones para Android y que podemos descargar gratis desde el sitio de la aplicación en Github.    



El nombre de la aplicación proviene de "Quick Android Review Kit", la herramienta funciona escaneando de manera estática el código de aplicaciones basadas en Java para poder llegar a identificar posibles fallos que puedan dar pie a una futura explotación o a la fuga de información, intentando fusionar comportamientos de Drozer y Metasploit. El único problema es que actualmente solo la podemos utilizar en Linux y OS X.


Funcionalidades

Nos ofrece un entorno de trabajo para auditores e investigadores donde podrán buscar vulnerabilidades en sus aplicaciones, como puede ser contenido inseguro dentro de componentes del tipo WebView, la incorrecta validación de certificados susceptibilidad al tapjacking, el manejo inseguro de URL, una mala gestión de intentos de claves criptográficas o del almacenamiento en bases de datos que posibilite inyecciones SQL.

Otra de las grandes virtudes que podemos destacar de esta  herramienta es que nos permite la creación de reportes con los fallos encontrados, detallando el impacto de la vulnerabilidad, su explicación y sus formas de explotación.


Como funciona

Para empezar a utilizar Qark podemos hacerlo a través del parámetro -s (Source), el usuario podrá elegir si el análisis de vulnerabilidades se dará sobre un APK (asignando el valor 1) o una carpeta de código fuente (asignando el valor 2).

Si nos decantamos por la primera opción además tendremos que declarar la ruta al APK, con el parámetro -p. Si por el contrario escogemos la segunda opción deberemos indicar la ruta del archivo manifiesto (-m) y la ruta a la carpeta raíz del código (-c).

También podemos utilizar algunos parámetros opcionales como son -e para la generación de APK exploit, -i  para instalar el exploit previamente producido a través de ABD, -d para especificar los mensajes de depuración que se pretenden recibir (10=Debug, 20=INFO, 30=Warning, 40=Error), y por último -r para indicar la ruta donde queremos que se guarden los reportes generados.

En la siguiente imagen podéis ver el resultado del análisis tras la ejecución de la herramienta, donde vemos que nos ofrece una breve explicación de cada posible debilidad, lo que la hace realmente útil para desarrolladores que se inician en la seguridad.




Por otra parte el informe se genera en formato HTML, lo que nos permite una rápida exploración de los resultados según la categoría de análisis a la que pertenece.







Concluciones


Qark nos permite realizar un rápido análisis de vulnerabilidades, permitiendo didentificar los fallos mas comunes en aplicaciones para Android, desde una perspectiva de una auditoria de seguridad. ¡Ojo! esto no deja de invalidar la necesidad de un análisis manual del código que nos pueda revelar otros tipos de fallos más específicos.

Estamos frente a una herramienta extremadamente fácil de utilizar, lo que la hace especialmente útil para desarrolladores que estén interesados en comprender cuales son los puntos débiles que tienen sus propias creaciones con el único objetivo de producir sistemas más robustos.

No hay comentarios:

Publicar un comentario