• No se han encontrado resultados

Análisis Visual del Comportamiento de Aplicaciones para Android

N/A
N/A
Protected

Academic year: 2021

Share "Análisis Visual del Comportamiento de Aplicaciones para Android"

Copied!
6
0
0

Texto completo

(1)

An´alisis Visual del Comportamiento de

Aplicaciones para Android

Oscar Somarriba, Ignacio Arenaza-Nu˜no, Roberto Uribeetxeberria, Urko Zurutuza

Dpto. de Electr´onica e Inform´atica Mondragon Goi Eskola Politeknikoa

Mondragon Unibertsitatea

Emails: [email protected], {iarenaza,ruribeetxeberria,uzurutuza}@mondragon.edu

Resumen—Los dispositivos m´oviles inteligentes equipados con funciones avanzadas de computaci´on y comunicaciones han crecido r´apidamente. Sin embargo, a pesar de los mecanismos de seguridad existentes, y dada la cantidad creciente de dispositivos conectados a Internet, tambi´en han aumentado exponencialmente la cantidad de aplicaciones maliciosas (malware) dirigidas a ellos. En este trabajo mostramos c´omo los componentes peligrosos y maliciosos del malware m´ovil se pueden visualizar de una manera intuitiva a fin de descubrir f´acilmente qu´e funciones de Android pueden desencadenar el fraude. Nuestro enfoque incluye un m´etodo para interceptar llamadas a funciones (”hooking”) con el fin de recoger trazas pertinentes de la aplicaci´on durante de tiempo de ejecuci´on. Esto permite la monitorizaci´on de llamadas a funciones de la API de Android relacionadas con los permisos de instalaci´on de la misma. Las trazas obtenidas se colectan en un servidor web central donde tiene lugar la visualizaci´on del comportamiento de las aplicaciones.

Palabras clave—seguridad en aplicaciones m´oviles (mobile application security), software malicioso en aplicaciones m´oviles (mobile malware), an´alisis Visual (visual analytics), an´alisis del comportamiento de aplicaciones m´oviles (application behavior analysis)

I. INTRODUCCION´

La adopci´on masiva de las comunicaciones m´oviles en la vida cotidiana ha tra´ıdo una necesidad de establecer en la sociedad una confianza en la infraestructura m´ovil, y esto supone un gran reto en la actualidad. Esto es debido a que las plataformas m´oviles, como tel´efonos inteligentes y tabletas, as´ı como las aplicaciones m´oviles est´an aumentando expo-nencialmente en popularidad. Actualmente existen alrededor de 1 milli´on de aplicaciones para el Sistema Operativo m´ovil Android en su sitio web de ventas en l´ınea Google Play, con un estimado de 50 mil millones de descargas [1]. En contraste, el software malicioso (malware) que ataca la plataforma Android ha aumentado considerablemente en los ´ultimos 24 meses en un 100 %. Las nuevas familias de malware Android est´an evolucionando r´apidamente para evitar ser detectados por los esc´aneres tradicionales basados en firmas. Hay una necesi-dad de mejorar las capacinecesi-dades de detecci´on para superar los nuevos desaf´ıos de detecci´on debido a la ofuscaci´on, y as´ı mitigar o remediar el impacto de la evoluci´on de malware para Android.

Dado que el sistema operativo m´ovil m´as popular es An-droid OS de la compa˜nia Google (en la actualidad tiene el 70 %

del mercado), Android es el OS m´as atacado con un 99 % de los ataques malware seg´un lo publicado por Cisco y Kapersky Labs durante el tercer trimestre Q3 del 2013, y resumido en el reporte de SOPHOS [2]. Esta investigaci´on se enfoca en el seguimiento del comportamiento en tiempo de ejecuci´on de las applicaciones y la visualizaci´on de sus funciones maliciosas para descubrir qu´e tipo de ataques o intenciones existen detr´as de estas. La plataforma propuesta de monitorizaci´on est´a compuesta b´asicamente de cuatro elementos, a saber: (i) una aplicaci´on Android llamada (Sink) que gu´ıa al usuario en la selecci´on y parametrizaci´on de la aplicaci´on a supervisar, (ii) un cliente embebido que se inserta en cada aplicaci´on a ser supervisada, (iii) un servicio web encargado de recoger la aplicaci´on a monitorizar, enviar al dispositivo la aplicaci´on instrumentada, y recopilar las trazas que va generando, (iv) y finalmente un componente de visualizaci´on que muestra grafos relacionados con el comportamiento de las trazas o llamadas a funciones, relativa a la aplicaci´on monitorizada.

Se prev´e que esta herramienta pueda ser utilizada por analistas malware con el fin de realizar una inspecci´on visual de las aplicaciones en estudio. Por otra parte, la monitori-zaci´on de una aplicaci´on en el momento de su ejecuci´on es esencial para entender c´omo esta interact´ua con el dispositivo, con componentes claves tales como las APIs (Application Programming Interfaces) provistas por el sistema. Una API especifica c´omo algunos componentes de software (rutinas, protocolos y herramientas) deben actuar cuando est´en sujetos a invocaciones de otros componentes. Al rastrear y analizar estas interacciones, podemos ser capaces de dar seguimiento a c´omo se comportan las aplicaciones, a c´omo manejan datos sensibles e interactuar con el sistema operativo.

I-A. Contribuci´on y organizaci´on del art´ıculo

A lo largo de este art´ıculo se presenta un m´etodo para la detecci´on de malware, mediante el an´alisis visual de la ejecuci´on de las funciones a las que llaman. La subsiguientes partes del trabajo est´an organizadas como a continuaci´on se detalla. La secci´onIIle da al lector las nociones b´asicas detr´as de los componentes utilizados en las siguientes secciones y re-copila el trabajo previo relacionado con la tem´atica. La secci´on

IIIdescribe la arquitectura de monitorizaci´on y visualizaci´on del sistema presentado. La secci´onIVmuestra los resultados

(2)

presentan las conclusiones e identifican unas posibles l´ıneas futuras de trabajo, respectivamente.

II. ANTECEDENTES YTRABAJOS RELACIONADOS

En los ambientes convencionales de Java, el c´odigo fuente es compilado en un conjunto de instrucciones llamado byte-code, el cu´al es almacenado en un formato de ficheros .class. Estos ficheros son m´as tarde le´ıdos por la M´aquina Virtual de Java (JVM) al momento de su ejecuci´on. Por otra parte, en Android, el c´odigo fuente de Java que ha sido compilado en ficheros .class debe ser convertido en ficheros .dex, frecuen-temente referidos como ficheros ejecutables del tipo Dalvik (Dalvik Executable). Adem´as, Android application package file (apk), es el formato de fichero utilizado para distribuir e instalar software de aplicaciones y middleware en el sistema operativo Android. Las apps se presentan en un fichero con el formato .apk, en un contenedor de la aplicaci´on binaria que consiste en ficheros .dex, AndroidManifest.xml, y los ficheros de recursos de la aplicaci´on. Asimismo, el archivo .apk resultante se firma con una clave (keystore) para establecer la identidad del autor de la app. Existen m´etodos para realizar el proceso en el sentido inverso. Apktool es un conjunto de herramientas para realizar ingenier´ıa inversa en apps, lo que simplifica el proceso de ensamble y desensamble de ficheros binarios de Android (.apk) a ficheros Smali (.smali), permitiendo la modificaci´on del c´odigo fuente. Esto resulta especialmente ´util para el an´alisis de las aplicaciones.

El an´alisis y detecci´on de malware para Android ha sido un tema candente de la investigaci´on en los ´ultimos a˜nos. Un ejemplo de los mecanismos de inspecci´on para la identifica-ci´on de aplicaciones con malware para Android se presenta en [3], donde tambi´en se desarroll´o un sistema de instrumentaci´on transparente para la automatizaci´on de las interacciones de los usuarios.

Adem´as, en [4] se utiliza un marco de seguridad llamado

XManDroid para extender el mecanismo de seguimiento de

Android, con el fin de detectar y prevenir ataques del tipo escalada de privilegios a nivel de aplicaci´on durante el tiempo de ejecuci´on sobre la base de una pol´ıtica determinada. Adi-cionalmente, los autores en [5] y [6] han propuesto diferentes t´ecnicas de seguridad con respecto a los permisos de las apps. Por ejemplo, en este ´ultimo, se propone una herramienta para extraer la especificaci´on de permisos del c´odigo fuente de Android OS. Por otra parte, las t´ecnicas de detecci´on de malware en dispositivos m´oviles usualmente se pueden clasificar de acuerdo al modo en el que se realiza el an´alisis: an´alisis est´atico y an´alisis din´amico. La primera se basa en intentar identificar el c´odigo malicioso por descompilaci´on de la aplicaci´on y la b´usqueda de cadenas o bloques de c´odigos sospechosos; en la segunda se analiza el comportamiento de una determinada aplicaci´on utilizando la informaci´on de su estado de ejecuci´on. Algunos tipos recientes de detecci´on de malware son: Dendroid [7] como un ejemplo de un an´alisis est´atico para dispositivos con Android, y Crowdroid, sistema

Jiang y Zhou [9] se han mapeado los tipos m´as comunes de violaciones de permisos en un gran conjunto de datos de malware. Por otro lado, en [10], [11] se pueden encontrar estudios m´as amplios sobre el estado del arte de la seguridad para los dispositivos m´oviles.

Entre los sistemas de monitorizaci´on de comportamiento de aplicaciones se encuentra una propuestas que permite visualizar mediante grafos las llamadas a funciones de una aplicaci´on determinada, pero los autores lo hacen mediante t´ecnicas de an´alisis est´atico [12]. El sistema hace un mapa de todas las funciones disponibles, mientras que este trabajo solo monitoriza y visualiza aquellas funciones que se suceden en tiempo de ejecuci´on, obteniendo adem´as los par´ametros que se env´ıan a la funci´on. No se han encontrado propuestas de detecci´on de malware en base a an´alisis din´amico que opere en el dispositivo del usuario de manera muy ligera y ”online”. Esto es necesario debido a la apertura de la Plataforma Android donde el malware puede tambi´en ser instalado a trav´es de apps de otras fuentes, tales como p´aginas web y de memorias USB, lo que requiere mecanismos de detecci´on que operan en el propio dispositivo.

III. DESCRIPCION DEL SISTEMA´

En esta secci´on se presenta una soluci´on aplicable para la detecci´on de anomal´ıas producto de la presencia de malware en las aplicaciones, basada en un an´alisis din´amico combinado con el soporte de un servidor web.

La Figura 1 muestra la estructura de la plataforma de mo-nitorizaci´on propuesta. Las etapas para llevar a cabo la misma consisten en los siguientes pasos l´ogicos: Etapa I: Envi´o de la aplicaci´on APP y de una lista de permisos que se desean monitorizar al Servidor Web, Etapa II: Instrumentaci´on de la aplicaci´on mediante un proceso de hooking generando APP’, Etapa III: Instalaci´on y activaci´on de la APP’ reemplazando a APP en el dispositivo, Etapa IV: Almacenamiento de las trazas de APP’ en una base de datos, y la Etapa V: Visualizaci´on de los grafos relacionados con APP’.

De nuevo, en la Figura1se muestra un diagrama de bloques formado por cuatro componentes: la aplicaci´on Sink, un cliente embebido, un servidor web, y el componente de visualizaci´on. III-1. La Aplicaci´on Sink: es una aplicaci´on Android con dos funciones principales: una de gesti´on de la aplicaci´on a monitorizar, y otra para el manejo de las trazas. La parte del tratamiento de la aplicaci´on, a su vez, est´a compuesta de un conjunto de actividades como se muestra en la Figura2(d).

En la Figura 2(a) el usuario selecciona la aplicaci´on que desea monitorizar, entre aquellas que no vienen reinstaladas de f´abrica. En el siguiente paso se seleccionan los permisos que el usuario estime convenientes a monitorizar, relacionados con la aplicaci´on y considerados como peligrosas seg´un el mapa de funciones API obtenido con PScout [6]. La interfaz gu´ıa despu´es al usuario a lo largo de varias actividades donde se llevan a cabo la subida de la aplicaci´on y lista de permisos a monitorizar al Servidor, descarga de la aplicaci´on modificada,

(3)

Smart Device Server

SINK

partial trace Traces of APP’ Application to hook Hooked application APP Permissions Monitored Android application 1 Embedded client Monitored Android application 2 Embedded client Non Monitored Android application N partial trace Disassembled files Function 1 Function2 Function n List of functions to hook Hooking Process Modified files DrawGraph (Java Program) Databases APP’ Stage I Stage II Stage IV Stage V

Web Service

Database Stage III: Running APP’

Figura 1: Componentes del Sistema de Monitorizaci´on del comportamiento de la Aplicaci´on.

e instalaci´on de la misma. Finalmente, un bot´on permite iniciar o detener la monitorizaci´on de la aplicaci´on en el cualquier instante.

Por otra parte, el Sink permite realizar la gesti´on de las trazas, ejecutando servicios en segundo plano. Este gestor es el encargado de colectar las trazas enviadas desde los clientes embebidos individuales, ubicados en cada una de las aplicaciones supervisadas, a˜nadi´endoles una marca de tiempo y el hash del ID del dispositivo, y su almacenamiento en una memoria intermedia circular com´un. Por ´ultimo, las trazas se env´ıan peri´odicamente al servicio web donde se almacenan en una base de datos.

III-2. El Cliente Embebido: consiste en un m´odulo de comunicaci´on que utiliza el protocolo UDP para la transmisi´on de las trazas de las funciones modificadas invocadas en APP’, al Sink.

III-3. El Servicio Web: provee los siguientes servicios al Sink: subir aplicaciones, descargar las aplicaciones modifi-cadas y enviar las trazas. Ahora la pieza clave de todo el sistema y donde reside la l´ogica del m´etodo presentado, es la herramienta que instrumenta la aplicaci´on, el proceso conocido como ”hooking”. Este componente mapea los permisos de la aplicaci´on en llamadas a funciones que son marcadas, las cu´ales van ser monitorizadas. Por lo tanto, este proceso es una acci´on autom´atica realizada por el servidor Web cada vez que una aplicaci´on es enviada al mismo.

Las funciones modificadas registrar´an el nombre de la aplicaci´on, el nombre de paquete de la aplicaci´on, y el hash de la aplicaci´on y enviar´a esta informaci´on al cliente embebido

junto con el nombre de la funci´on (e.g., sendTextMessage(), getDeviceID(), execSQL(), SendBroadcast(), etc.). A continua-ci´on, todos los ficheros modificados junto con el resto de los recursos desensamblados se reensamblan y se empaquetan en un fichero binario Android .apk. Al terminar la Etapa II, la APP’ es descargada al Sink.

III-4. Visualizaciones: Con el fin de realizar un an´alisis vi-sual del comportamiento de las aplicaciones se utiliza una base de datos NoSQL basada en grafos, Neo4j1. Neo4j almacena los datos en una estructura orientada a grafos, en lugar de utilizar las tablas relacionales de las bases de datos convencionales. En t´erminos generales, un grafo es una representaci´on de un conjunto de nodos y las relaciones entre ellos unidos por medio de enlaces, (v´ertices y aristas o arcos, respectivamente). Esto se ilustra en la Etapa V de la Figura 1. De esta manera, se puede plasmar cada uno de los comportamientos de la aplicaci´on analizada con una representaci´on simple pero muy ilustrativa. Los grafos se elaboran mediante relaciones de tipo ”una Aplicaci´on incluye varias Clases que a su vez llaman a Funciones”. El primer nodo superior, ”Aplicaci´on”, contiene el nombre del paquete de la aplicaci´on, que es ´unica para cada una de las aplicaciones existentes, mientras que el segundo nodo, ”Clase”, representa el nombre del componente de Android que ha llamado a la ”API call”, el nodo ”Funci´on”. Una vez se obtiene la informaci´on recogida por el servicio Web en la base de datos, toda su estructura de llamadas a fun-ciones puede ser filtrada y tratada. Inicialmente se genera un grafo sin incluir colores empleando el lenguaje Cypher Query

(4)

(a) (b) (c) (d)

Figura 2: Interfaz de Usuario del Sink. (a) Selecci´on de la aplicaci´on, (b) Pasos de la aplicaci´on, (c) Selecci´on de los permisos, y (d) Proceso de monitorizaci´on.

Languaje, que permite operar y aplicar transformaciones en el grafo.

Para ello, un experto debe completar y encadenar un conjunto de reglas que ayudan a resaltar el comportamiento malicioso conocido (por ejemplo, la llamada a la funci´on SendMessageText(). Para ello, se buscan los nodos en la parte inferior del grafo relacionado con las llamadas a funciones API consideradas maliciosas. Las reglas incluyen la b´usqueda y representaci´on de funciones maliciosas (representadas en rojo), sospechosas o maliciosas pero no cr´ıticas (en naranja) y benignas (en verde). Cuando se detecta un comportamiento malicioso como el env´ıo de mensajes SMS a un n´umero de pago premium sin el consentimiento del usuario, se procede a representar el nodo bajo inspecci´on en color rojo como se˜nal de alerta usando Cypher.

IV. RESULTADOS

En esta secci´on se muestran los resultados de utilizar la plataforma de monitorizaci´on y visualizaci´on para algunos ejemplos. En este art´ıculo, exploramos 3 diferentes apps con el fin de evaluar todo el marco de trabajo:

Skype-free IM & video calls La aplicaci´on popular Angry Birds El malware Fake player

IV-A. Las Trazas

Despu´es de ejecutar las aplicaciones arriba mencionadas durante 2-3 de minutos cubriendo todas las funcionalidad de la aplicaci´on, el servidor Web recolecta un gran volumen de trazas de cada una de las mismas.

IV-B. An´alisis Visual de las Trazas

Como se ha dicho anteriormente, un conjunto de reglas predefinidas por expertos nos permite identificar las funciones

API ”sospechosas”, y en funci´on de sus par´ametros, se asignan colores a ´estas. Al hacerlo, nos permite identificar r´apidamente las funciones y asociarla con elementos relacionados. Al aplicar la clasificaci´on de funciones en base a un color para cada nodo del grafo, esto permite la construcci´on de un ”mapa visual”que describe y ayuda al an´alisis de su funcionamiento. Adem´as, este grafo es adecuado para guiar el analista durante el examen de clasificaci´on de una muestra de malware peli-grosa debido a que el sombreado rojo de los nodos indican estructuras maliciosos identificados por la infraestructura de monitorizaci´on. Esta revisi´on debe realizarse entre todos los nodos de las funciones llamadas en el nivel m´as bajos de cada rama del ´arbol del grafo. Sin embargo, con el fin de colorear completamente el grafo de la aplicaci´on hasta llegar al nodo ra´ız, hay que recurrir a realizar un an´alisis de abajo hacia arriba (”bottom-top”) del vecindario de cada funci´on invocada y las asociadas. Por lo tanto, si una de las ramas del grafo es coloreada en rojo, a continuaci´on, la app se considera como potencialmente maliciosa.

En particular, los grafos de las aplicaciones como Skype, Angry Birds, y Fake Player se muestran en la Fig. 3 lo cual proporciona al usuario una indicaci´on del estado de seguridad de ´ellos. Para ello, se han creado reglas Cypher para colorear aquellos nodos que contienen una llamada a funci´on de env´ıo de SMS en rojo, y llamadas a funciones para obtener y mostrar publicidad (Adware) en naranja.

Como resultado, el grafo generado para la aplicaci´on Skype no muestra ninguna amenaza y sus nodos aparecen coloreados en verde, tal y como se muestra en la Fig.3(a).

Por otra parte, en la Fig. 3(b) existe una aplicaci´on con Adware, por lo que varios nodos de esta aplicaci´on est´an coloreados en naranja, mientras en contraste las funciones maliciosas que identifican un malware se colorean en rojo,

(5)

como se muestra en la Figura 3(c) para la aplicaci´on Fake Player.

V. CONCLUSIONES

En este trabajo se propone una arquitectura de supervisi´on con el objetivo de monitorizar aplicaciones Android a gran escala, sin modificar el firmware del mismo, sin la necesidad de obtener permisos de administrador del dispositivo, y que resulta en un grafo de visualizaci´on donde se destacan las llamadas a funci´on correspondientes a los comportamientos de malware predefinido. La plataforma est´a compuesta por cuatro componentes: el cliente embebido, el Sink, el servicio web y la visualizaci´on. Antes de que una aplicac´on sea supervisada, el Sink la transfiere al Servicio Web, que se encarga de la inserci´on de los hooks a˜nadiendo el cliente embebido en el interior la aplicaci´on. Finalmente el Sink descargar´a la apli-caci´on reci´en instrumentada. Cuando una funci´on modificada es llamada, se construye una traza parcial que ser´a pasada al cliente embebido que a su vez la enviar´a al Sink. Este recoge los trazas parciales de todas las aplicaciones supervisadas, las completa, y las sube mediante el servicio Web. El Servidor finalmente transforma las trazas y las almacena en una base de datos de grafos.

Por ´ultimo, se aplican un conjunto de reglas predefinidas con el fin de obtener una visualizaci´on donde se pone de relieve o resalta la conducta maliciosa de la aplicaci´on super-visada. La infraestructura desarrollada es capaz de monitorizar simult´aneamente varias aplicaciones en distintos dispositivos y la recopilaci´on de todos las trazas se da en un mismo lugar. Las pruebas realizadas en este trabajo muestran que las aplicaciones pueden ser preparadas para ser supervisadas en cuesti´on de minutos y las aplicaciones modificadas se comportan como estaban originalmente dise˜nadas. Adem´as, se ha mostrado que la infraestructura se puede utilizar para de-tectar comportamientos maliciosos en aplicaciones, tales como el monitorizado del malware Fake Player. Las evaluaciones del Sink han revelado que nuestro sistema de supervisi´on es reactivo, no pierde ninguna de las trazas parciales, y tiene un impacto muy peque˜no en el rendimiento de las aplicaciones supervisadas.

VI. TRABAJOS FUTUROS

Como trabajo futuro, la plataforma se puede ampliar para ser capaz de supervisar las funciones Android conocidas como Intents, enviadas por la aplicaci´on que permitir´ıan a una aplicaci´on llamar a funciones que no requieren ning´un tipo de permiso espec´ıfico (como por ejemplo que una funci´on llame a un navegador sin que la aplicaci´on tenga permisos de Internet). No ser capaz de monitorear Intents significa que la infraestructura no es capaz de realizar un seguimiento, de si la aplicaci´on supervisada inicia otra aplicaci´on durante un corto per´ıodo de tiempo para realizar una tarea determinada, e.g., para abrir un navegador web para mostrar la EULA (end-user license agreement). Adem´as, esto permitir´ıa saber c´omo la aplicaci´on bajo prueba se comunica con el resto de las

aplicaciones de terceras partes y las aplicaciones instaladas en el dispositivo.

Asimismo se puede ampliar el modelo anti-malware descrito en este trabajo, desarrollando una arquitectura que lo comple-mente mediante la detecci´on autom´atica de malware m´ovil como por ejemplo con el uso de VirusTotal, realizando as´ı un paso de filtrado previo. En definitiva, se podr´ıa obtener un sistema mas vers´atil disponiendo en el m´ovil de una aplicaci´on que reporte anomal´ıas (i.e., desviaci´on del patr´on de tr´afico de las aplicaciones de red) a un servidor anti-malware en su red.

REFERENCIAS

[1] Businessinsider, “businessinsider.” Available Online, 2014.

[2] Sophos, “Sophos mobilebile security threat report.” Available On-line, 2014. http://www.sophos.com/en-us/medialibrary/PDFs/other/

sophos-mobile-security-threat-report.ashx.

[3] M. Karami, M. Elsabagh, P. Najafiborazjani, and A. Stavrou, “Behavioral analysis of android applications using automated instrumentation,” in Software Security and Reliability-Companion (SERE-C), 2013 IEEE 7th International Conference on, pp. 182–187, June 2013.

[4] S. Bugiel, L. Davi, A. Dmitrienko, T. Fischer, and A.-R. Sadeghi, “Xmandroid: A new android evolution to mitigate privilege escalation attacks,” Technical Report TR-2011-04, Technische Universit¨at Darms-tadt, Apr. 2011.

[5] J. Jeon, K. K. Micinski, J. A. Vaughan, A. Fogel, N. Reddy, J. S. Foster, and T. Millstein, “Dr. android and mr. hide: Fine-grained permissions in android applications,” in Proceedings of the Second ACM Workshop on Security and Privacy in Smartphones and Mobile Devices, SPSM ’12, (New York, NY, USA), pp. 3–14, ACM, 2012.

[6] K. W. Y. Au, Y. F. Zhou, Z. Huang, and D. Lie, “Pscout: Analyzing the android permission specification,” in Proceedings of the 2012 ACM Conference on Computer and Communications Security, CCS ’12, (New York, NY, USA), pp. 217–228, ACM, 2012.

[7] G. Suarez-Tangil, J. E. Tapiador, P. Peris-Lopez, and J. Blasco, “Den-droid: A text mining approach to analyzing and classifying code structu-res in android malware families,” Expert Syst. Appl., vol. 41, pp. 1104– 1117, Mar. 2014.

[8] I. Burguera, U. Zurutuza, and S. Nadjm-Tehrani, “Crowdroid: Behavior-based malware detection system for android,” in Proceedings of the 1st ACM Workshop on Security and Privacy in Smartphones and Mobile Devices, SPSM ’11, (New York, NY, USA), pp. 15–26, ACM, 2011. [9] X. Jiang and Y. Zhou, Android Malware. Springer New York, 2013. [10] M. La Polla, F. Martinelli, and D. Sgandurra, “A survey on security

for mobile devices,” Communications Surveys Tutorials, IEEE, vol. 15, pp. 446–471, First 2013.

[11] G. Suarez-Tangil, J. Tapiador, P. Peris-Lopez, and A. Ribagorda, “Evo-lution, detection and analysis of malware for smart devices,” Communi-cations Surveys Tutorials, IEEE, vol. PP, no. 99, pp. 1–27, 2013. [12] H. Gascon, F. Yamaguchi, D. Arp, and K. Rieck, “Structural detection

of android malware using embedded call graphs,” in Proceedings of the 2013 ACM workshop on Artificial intelligence and security, pp. 45–54, ACM, 2013.

(6)

(a) Grafo de Skype.

(b) Grafo del juego Angry Birds.

(c) Grafo del malware Fake Player.

Figura 3: Grafos de las aplicaciones bajo prueba. (a) Diagrama Superior: Grafo de Skype, (b) Diagrama Intermedio: Grafo de la aplicaci´on Angry Birds, y (c) Diagrama Inferior: Grafo del malware Fake Player.

Referencias

Documento similar

que hasta que llegue el tiempo en que su regia planta ; | pise el hispano suelo... que hasta que el

Para ello, trabajaremos con una colección de cartas redactadas desde allí, impresa en Évora en 1598 y otros documentos jesuitas: el Sumario de las cosas de Japón (1583),

Las manifestaciones musicales y su organización institucional a lo largo de los siglos XVI al XVIII son aspectos poco conocidos de la cultura alicantina. Analizar el alcance y

En la parte central de la línea, entre los planes de gobierno o dirección política, en el extremo izquierdo, y los planes reguladores del uso del suelo (urbanísticos y

En este trabajo haremos una breve introducci´ on a la teor´ıa de la forma de Borsuk, que extiende en cierta medida a la teor´ıa de homotop´ıa cl´ asica y que, adem´ as, es

A teor´ıa das distribuci´ ons do matem´ atico franc´es Laurent Schwartz (Medalla Fields en 1950) foi unha das d´ uas grandes revoluci´ ons do s´eculo pasado no eido da an´

Analizando la competencia anterior, podemos observar que el tipo de producto que ofrecen al consumidor en este mercado, es muy homogéneo suelen vender los mismos

Para la creación de la app “Hoy como en casa” se han utilizado Eclipse y todos los complementos necesarios para el desarrollo de aplicaciones Android.. Android