Laboratorio de Análisis de Aplicaciones Android II - Análisis Estatico y Dinámico

No Comments
El dia domingo nos quedamos hablando sobre análisis estático y análisis dinámico, en esta entrada ampliaremos mas los conceptos de estos dos puntos, para despues de ello iniciar ya con OASAM y comenzar a analizar la aplicación InsecureBank que logramos identificar en GITHUB lo cual ahora que recuerdo mejor fue por un RT de @edusatoe que di con el, lo siento ando dislexico estas últimas semanas.



CONTENIDO
  • Análisis Dinámico
  • Análisis Estático


Análisis Dinámico


Este análisis consiste en la ejecución de los programas en un entorno controlado, mas conocido como Sandbox teniendo en cuenta que llega a ser la misma lógica del análisis de Malware, la cual nos permite monitorear cambios, acceso a recursos envio de información, en realidad identificar cual es su comportamiento. Usualmente se hace uso de las maquinas virtuales, como hablamos en la entrada anterior que necesitariamos un equipo Virtualizado con Android, con esto iremos viendo donde hace que cosas en vivo, no se aun si llegaremos a automatizar las tareas nosotros mismos, o haremos uso de servicios de terceros ya iremos viendo las desventajas de dichos puntos.


Como se dice no todo es color de rosa con este tipo de análisis es cierto que al estar virtualizado o entorno totalmente controlado no sufriremos fuga de nuestra información, pero que sucede que en algunas circunstancias el programa interactura de una u otra manera segun el dispositivo o bien como el malware para pc que al identificar que es una virtual se pasa de largo o simple no ejecuta lo que deberia de ejecutar, haciendo que este tipo de análisis sea en vano o se diria INUTIL.

Análisis Estático

En el análisis estático nos encargamos de revisar analizar el código fuente de la aplicación, claro que no siempre tenemos a disposicion el codigo fuente, pero si se tiene se hace el trato respectivo analizando el código en el caso de no tener se trabaja directamente con el *.apk  siempre con el objetivo de averiguar que es lo que hace, que cambios genera pocas veces tendremos acceso al source como se indico pero en este mundo de la informática se puede llevar a lo mas cercano del codigo y  a veces acceder al código totalmente legible les hablo del  area de reversing.

Una ventaja ante al analisis dinámico es que se puede saber exactamente que es lo que realiza el malware en cuestion, pudiendo determinar con exactitud si es malicioso o no y sus consecuencias.


Problemas o complicaciones:

De partida, la mayorıa de las veces no se dispone del codigo fuente y ló unico disponible es el binario.
Al usar desensambladores o decompiladores, para obtener el código fuente dicho resultad  es poco intuitivo, y es necesario tener un conocimiento de ensamblador el codigo obtenido en java no siempre es preciso y puede contener fallas o simplemente no lograr descompilar fragmentos de codigo, haciendo impreciso su analisis.
Complejidad de programas a mas clases mas dificil de revisarlo.
Uso de ofuscadores, los cuales se dedican a realizar el cambio de nombres a las variables

Ahora podemos decir algo bueno :) a tanto mal ??? la respuesta es sí tenemos un aliado en todo este proceso el cual es el archivo AndroidManifest.xml el cual contiene caracteristicas de la aplicación este archivo no puede ser ofuscado porque tiene parametros previamente definidos,  ya veremos en una proxima entrada que es lo que lleva dicho archivo para ir analizando mas a fondo.



Bueno con esto terminamos, la segunda parte del Laboratorio de Análisis de Aplicaciones Android, mil disculpas por la tardanza de esta entrada ya que ando de viaje y hace un frio! brrrrrrr pero bueno si quieren ver la anterior aqui les dejo el enlace mas el contenido.

Laboratorio de Análisis de Aplicaciones Android I - Herramientas y Metodologías preparando el entorno  

  • Introducción
  • Metodologías
  • Herramientas y preparando nuestro entorno
Regards,
Snifer

0 comentarios

Publicar un comentario en la entrada