[en] This Bachelor Thesis consists in the development of a backup system for Android mobile phones. It is intended to use within an organization, where the users can upload their phone's data. It is formed by a Server programmed in Python with the Flask framework, a web application and a client android application programmed in Java. The main motivation for developing this project comes from the boom of Android ransomware. Ransomware is a type of malicious software that blocks access to the victim's data or device until a ransom is paid. In particular, the Android ransomware blocks the access to the device by changing its pin number for unblocking the screen. This type is called lock-screen ransomware, and the ones that encrypt your personal files are called "crypto-ransomware". The perpetrators want to remain anonymous so they demand the payment of the ransom to be made through pseudo-anonymous cryptocurrency like Bitcoin. Although there have been reports of Android ransomware requesting the payment with prepaid cards. There are different systems and measures to avoid or reduce the ransomware attack damages. The first option would be not installing or accessing information sources which are not duly verified. Just like being able to detect the malware before it infects the phone; unfortunately this is not always feasible. Since we cannot rule out flaws in previous recommendations it is advisable to have a good backup system up to date which contains all the files previous to the attack. Having this backup would allow a complete restore on the system. That is why we will focus on that: facilitate the creation and upload off backups from the Android phones to our server. We will use our server to enable the subsequent analysis of the data and the performance of audits or forensic analysis of them in the event of any occurrence. This project has been developed with security in mind; security-by-design policy. From the early stages of development: analysis and design. That is why all the communications are encrypted using SSL. In addition, authentication and entry into applications is through two-step verification, as the user's password and a randomly generated code are required. The code is generated through a one-time passwords generation application. The solution proposed in this project provides a server, a web application and a mobile client for the creation of backup policies for Android devices. Users will be able to register and register their mobile devices, so that they will receive notifications every time it is necessary to back up each of these devices. This solution could therefore be encompassed in an MDM (Mobile Device Management) system for the control of mobile devices.

[es] Este Trabajo Fin de Grado consiste en el desarrollo de un sistema para gestionar y realizar copias de seguridad (backups) de dispositivos móviles Android en el seno de una organización. Está formado por un servidor programado en Python con Flask, una aplicación web y una aplicación cliente para Android desarrollada en Java. La motivación del proyecto viene dada por el auge del ransomware destinado a los dispositivos móviles Android. Ransomware es un término inglés que denota un tipo particular de virus informático. Se caracteriza por secuestrar un recurso y pedir un pago como rescate para liberarlo. Existen dos tipos principales, los primeros te encriptan los archivos personales con una clave aleatoria desconocida para el usuario. De esta manera los datos quedan inaccesibles hasta que se paga el rescate. La segunda vertiente bloquea el acceso al dispositivo. En el caso particular de los móviles, cambiando el patrón de desbloqueo y superponiendo una pantalla de bloqueo para que no se pueda realizar ninguna acción con el dispositivo. Para poder retomar el control del terminal se debe pagar el rescate que piden los cibercriminales. Para evitar ser descubiertos, los malhechores piden el pago a través de una criptodivisa pseudo-anónima como el Bitcoin o mediante tarjetas de prepago. Existen diversos mecanismos para evitar o mermar los daños ocasionados por el ransomware. La primera opción sería no instalar o acceder a fuentes de información no debidamente verificadas. Al igual que detectarlo antes de que penetre en el sistema, desgraciadamente esto no es siempre factible. Dado que no podemos excluir fallas en las recomendaciones anteriores, conviene contar con un buen sistema de copias de seguridad que contengan todos los archivos previos al ataque. Para de este modo, poder recuperar el estado del sistema. Es por ello que nosotros nos centraremos en ese aspecto, en facilitar la creación y subida de copias de seguridad de los móviles a nuestro servidor. Se hará uso de nuestro servidor para habilitar el análisis posterior de los datos y la realización de auditorías o análisis forenses de ellos en caso de que se produzca alguna incidencia. El proyecto ha sido realizado con la seguridad en mente desde el análisis y diseño, es por ello que todas las comunicaciones van cifradas gracias a SSL. Además, la autenticación e ingreso en las aplicaciones es a través de verificación en dos pasos, ya que se necesita la contraseña del usuario y un código generado aleatoriamente a través de una aplicación de generación de contraseñas de un solo uso. La solución propuesta en este proyecto proporciona un servidor, una aplicación web y un cliente móvil para la creación de políticas de backups de dispositivos Android. Los usuarios podrán registrarse y dar de alta sus dispositivos móviles, de forma que recibirán notificaciones cada vez que sea preciso realizar el backup de cada uno de dichos dispositivos. Esta solución por tanto se podría englobar en un sistema MDM (Mobile Device Management) para el control de dispositivos móviles.