Malware para moviles

From FdIwiki ELP
Jump to: navigation, search

Hoy en día existen muchísimos tipos del malware para los móviles- y eso pasa debido a que estos dispositivos casi siempre están conectados al Internet, tienen una potencia computacional bastante grande (y eso permite usarlos como los nodos en botnets) y contienen muchos datos sensibles: e-mails, datos de redes sociales y de ubicación actual, datos del "banco online", etc.

Presentación

Modelos de seguridad actuales

Actualmente, los mercados oficiales de distribución de aplicaciones cuentan con distintos mecanismos para intentar garantizar la seguridad de las mismas. Principalmente, utilizan test para comprobar la legitimidad del código de la aplicación. Sin embargo, detectar el malware es demasiado complejo, no se conoce en detalle el funcionamiento interno de estas pruebas y la presencia de un considerable número de aplicaciones maliciosas evidencia que es un método insuficiente. Además se deben tener en cuenta las descargas desde mercados no oficiales que no poseen ningún tipo de filtro de seguridad.

Desde el punto de vista de la plataforma, una manera de tratar de garantizar la seguridad es la de restringir la comunicación entre aplicaciones, y las acciones que estas pueden realizar, incluyendo el acceso a datos y servicios. También se propone la técnica de aislar la ejecución de la aplicación en entornos controlados, llamada sandboxing.

Tipos de Malware para móviles

Malware es cualquier tipo de software o código de programa hostil, intrusivo o diseñado para usar un dispositivo sin el conocimiento del propietario. La evolución y proliferación del malware en dispositivos móviles está íntimamente ligada al aumento de sus capacidades de red y recursos informáticos.

Estudiaremos el malware desde tres perspectivas:

  • Comportamiento y objetivos del ataque: en la mayoría de los casos el malware persigue varios objetivos y además su propósito puede variar por medio de una orden remota. El objetivo más común es el de buscar el beneficio económico como en el caso del fraude u overbilling, que consiste en cargar gastos a la cuenta del atacado, que son transferidos a la del atacante. Habitualmente este tipo de ataques, el usuario los relaciona con un conflicto con la compañía proveedora del servicio, y no comprende que pueda ser un malware. La denegación de servicio o sabotaje, en cambio trata de consumir la batería, apagarla o limitar el tiempo de operación del dispositivo. Por último se puede tratar de comprometer la privacidad, por ejemplo, por medio del sniffing, aprovechando los datos que recogen los sensores.
  • Método de distribución: es importante conocer los medios por los que se distribuyen los programas maliciosos, para así atajar el contagio. Existen dos grandes aproximaciones, la auto propagación y la ingeniería social. En el primer tipo encontramos por ejemplo los métodos de Application to Device (A2D, Aplicación a dispositivo), SMS to Device (S2D, SMS a dispositivo), USB to Device (U2D, USB a dispositivo), Network to Device (N2D, Red a dispositivo), Device to Device (D2D, Dispositivo a dispositivo), Cloud to Device (C2D, Nube a dispositivo). El segundo tipo agrupa métodos como el de Market to Device (M2D, Mercado a dispositivo) o el de Web-drowser to Device (W2D, Navegador Web a dispositivo). Los estudios demuestran que la ingeniería social es el principal método de distribución de malware.
  • Adquisición de privilegios: para el malware, no es suficiente con entrar al dispositivo, también tiene que conseguir una serie de privilegios para poder acceder a las partes críticas del sistema. Habitualmente, estos privilegios son directamente concedidos por los usuarios, al instalar aplicaciones en apariencia legítimas pero que esconden algún comportamiento malicioso. Los usuarios, desconocen la repercusión de transferir determinados permisos a programas desconocidos, y en ocasiones, ni tan siquiera prestan atención a las peticiones para su autorización. Por lo tanto, este método es altamente eficaz. Otro procedimiento más técnico es el de la explotación de las vulnerabilidades o errores en la configuración de la plataforma, la cual se realiza por medio de rootkits.

Aislamiento de procesos

En iOS el nucleo utiliza el identificador MAC para decidir, si cada aplicación tiene acceso a los determinados ficheros y/o espacios en memoria del dispositivo. En los dispositivos que funcionan con Android se crea un distinto para cada aplicación y el sistema se preocupa automáticamente de la separación de privilegios. Pero cualquier antivirus también es un programa- así que no tiene acceso a los espacios de memoria reservados para otros programas. En esta situación, si el virus llega como una actualización del programa ya instalado, el antivirus no podrá verlo!

Скриншот 2015-02-02 19.43.39.png

En ambos casos, las aplicaciones instaladas no pueden comunicarse entre sí

Sistemas de detección

La estrategia para la detección de malware consiste en recopilar información desde el hardware y las comunicaciones y ver si existen variaciones con respecto a los valores que se deberían obtener de un uso normal del dispositivo. De esta forma los dispositivos móviles poseen varios elementos que podemos monitorizar.

  • Sensores: permiten recopilar información acerca de información como la geolocalizacion, la temperatura o uso de la batería.
  • Sistema: nos permite vigilar la cantidad de recursos que el sistema dedica a cada tarea. Esto afecta a la compartición de memoria entre las aplicaciones, el uso de permisos, el aislamiento de proceso, la ram dedicada o incluso las llamadas al sistema que realiza cada aplicación.
  • Usuario: monitorizar la interacción del usuario con el dispositivo dado que es característica de cada uno permite identificar patrones y reconocer cual es la persona que esta usando el móvil en cada momento o si la actividad realizada es anormal.

Con toda esta información debemos poder detectar un uso anormal por ejemplo en el uso de librerías habituales en malware o un gasto de batería excesivo. Esto mediante la prevención con el uso de algoritmos puede identificar la presencia de malware y tomar reacciones en base realentizándolo o aislándolo.

Autorización

iOS utiliza "perfiles de privacidad"- conjuntos de reglas, que determinan el control de acceso de una aplicación a otra. Por ejemplo, si quieres introducir el teléfono de una persona, cuyos datos ya están guardados en la aplicación "Contactos", Safari te va a pedir acceso a los datos de Contactos- por definición, cualquier acceso de una aplicación a otra está prohibido.

En Android, a la hora de instalarse cada aplicación muestra una lista de permisos que quiere obtener. No se puede elegir o permitir solo algunos de los permisos pedidos: o los permites todos, o no se instala la aplicación.

Para romper dichas reglas en iOS, hay que escribir un exploit, modificar el SO para permitir "otras" aplicaciones, instalar "Cydia" para descargar aplicaciones extra... Todo esto suele ser bastante difícil para la mayoría de usuarios. Sin embargo, el Android solo te pide marcar la casilla "permitir la instalación desde fuentes desconocidas"- y tu dispositivo ya está "abierto" totalmente

Distribución y caracteristicas de seguridad de los sistemas operativos

  • Android 84,62%

Android maximiza la seguridad a nivel de dispositivo. Dado que posee una política de open-market y se pueden descargar aplicaciones desde tiendas no oficiales el sistema debe estar preparado para protegerse del malware que se pueda descargar. Esto lo consigue mediante la funcionalidad de su kernel linux que asigna a cada aplicación un identificador de usuario aislando sus procesos e impidiendo que pueda afectar de forma negativa al resto del sistema. Las aplicaciones deben estar firmadas aunque pueden ser autofirmados y las que comparten firma pueden compartir con facilidad también recursos. Los permisos de las aplicaciones los acepta el usuario mediante un manifiesto inicial. Una ventaja de android sobre otros sistemas operativos es que debido a que es el mas extendido ya hay una gran cantidad de malware identificado.

  • iOS 11,69%

Por contra, iOS en vez de android enfoca su seguridad a nivel de mercado en vez de dispositivo. Debido a que iOS solo permite descargar aplicaciones de su tienda oficial hace énfasis en este punto estudiando las aplicaciones antes de publicarlas. El certificado debe ser de Apple. En vez de existir un sandbox para cada aplicación existe un sandbox común para todas donde se comparten recursos.

  • Windows Phone 2,5%

Cada aplicación esta en su propio entorno y sandbox y ademas se puntúan las librerías utilizadas en base a la probabilidad de que sean malware lo que es un gran beneficio en contra del malware ofuscado.

  • BlackBerry 0,5%

El acceso a los recursos es muy limitado, con una protección básica heredada y es necesario un certificado de la empresa.

  • Otros 0,7%

Symbian posee dos espacios controlados por el sistema operativo, el espacio de kernel y el espacio de usuario. Posee bibliotecas reservadas con certificado symbian. No hay seguridad a nivel de mercado.

Temas de investigación abiertos

El malware sigue presentando retos que deben ser abordados con soluciones novedosas. Algunos temas que necesitan ser estudiados son los siguientes:

  • Análisis automático.
  • Software confiable: mejorar el sistema de reputación.
  • Malware en otros dispositivos: relojes, TV…
  • Grayware: acceso a datos personales sin conocer su intención.
  • Seguridad cooperativa: la red formada por los dispositivos se puede usar para aumentar la seguridad.
  • Análisis forense: analizar las huellas del malware para seguir su rastro e identificar al culpable.


Enlaces externos

El mapa de caber-amenazas online [1]

Las estadísticas del malware en el año 2014 (los datos del Laboratorio Kaspersky) [2]