Application Design Document Remote backup and recovery service for Android device owners Application Design Document
Roles & Responsibilities Company: Deutsche Telekom Academic advisor: Yuval Elovici Technical advisor : Assaf Shabtai Project Team: Limor Segev Eran Frieman Carmel Karni
Introduction An Android OS could be attacked by hackers: Open platform Users will access the Internet intensively Everyone can develop applications for Android Successful attack on Androids may: Expose private information Prevent T-Mobile customers from using T-Mobile services Flood T-Mobile’s customer service infrastructure and personnel. No easy way exists to “fix” mobile devices.
Introduction The Current situation is that backup is possible for: Documents Media files Not for Application files Deutsche Telekom is interested in developing a platform that will enable: Backup and Restore users’ Android terminals Remote monitoring and offline analysis of Android application
System Requirements The System has three major Components: Device Service, Server, MySql Database, Desktop application. The System has two groups of users: Device holders, Managers. Managers actions: Produce reports / statistics Add managers Device holders actions: Backup installed applications Restore the device / specific application(s)
System Requirements The Device Service is configurable: Enables auto or manual backup (on apk installation) Enable / Disable the service Restore applications on demand The service keeps the login data (no need to re-insert when sending/receiving data from the server). The service-agent will contact the server and get updates (for example about malwares detection) The Server will be available for requests from both users types at all times. Communication with the server will be done using HTTP.
Customer’s Android device System Architecture 1. Downloading and installing a new application 2. System’s agent send the new application files (apk) to the external server 3. Sending the new application files (apk) to the storage server with additional information to enable restoring users’ systems 4. Backed-up application apk apk apk apk apk apk apk Internet Customer’s Android device Server Storage 5. Threat detection system checks files and alerts the server about threats
Customer’s Android device System Architecture 13.08.2007 Autor / Thema der Präsentation 7 3. Sending an alert to the user apk apk apk apk Internet Customer’s Android device Server Storage apk 2. Sending analysis result: “malicious application” Threat detection system checks apks with status “UNCHECKED”
Autor / Thema der Präsentation System Architecture 13.08.2007 apk apk Internet Storage Server NetShield Analysis Server apk
Classes and Relationships ServerCommunication client ConnectionHandler ConnectionAcceptor Reactor ReactorData Protocol ServerProtocol MessageProcessor Task SQLInteface ClientAgent Listener Restorer ClientGuiFacade ManagerGuiFacade ManagerLogic AgentComManager MngComManager gui ClientGUI ManagerGUI Gui
Server Class Diagram
Service (Agent) Class Diagram
Manager Class Diagram
User Interface – Service Main Screen
User Interface – Service Configuration Screen
User Interface – Service Registration Screen
User Interface – Service Login Screen
User picks the applications to recover User Interface – Service Recovery List Screen User picks the applications to recover Recover
Application List Screen User Interface – Service Application List Screen
User Interface – Manger Login Screen
User Interface – Manger Main Screen
User Interface – Manger Add Manager Screen
User Interface – Manger Reports Menu Screen
User Interface – Manger Users Report
User Interface – Manger Applications Report
Users-Applications Report User Interface – Manger Users-Applications Report
User Interface – Manger Rollbacks Report
User Interface – Manger Malwares Report
Task List Overview Server 01/04/09 – 15/04/09 DB construction 16/05/09 – 20/05/09 Manager – Desktop application 21/04/09 – 05/05/09 Device Service (Agent) 06/05/09 – 20/05/09 Service and Sever communication 21/05/09 – 31/05/09 Testing 01/06/09 – 20/06/09
Questions?