Application Design Document

darkfryingpanMobile - Wireless

Dec 10, 2013 (3 years and 7 months ago)

66 views

Remote backup and recovery service

for Android device owners

Application Design Document

Company
:



Deutsche Telekom

Academic advisor
:

Yuval Elovici

Technical advisor

:

Assaf Shabtai


Project Team
:





Limor Segev





Eran Frieman





Carmel Karni


Roles & Responsibilities

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

Introduction

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



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:

o

Produce reports / statistics

o

Add managers



Device holders actions:

o

Backup installed applications

o

Restore the device / specific application(s)






System Requirements



The Device Service is configurable:

o

Enables auto or manual backup (on
apk

installation)

o

Enable / Disable the service

o

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.





System Requirements

System Architecture

Server

Storage

apk

apk

apk

apk

4
. Backed
-
up
application

apk

1
. Downloading
and installing a
new application

Internet

apk

2
. System’s agent send the
new application files (apk)
to the external server

apk

3
. Sending the new application
files (apk) to the storage server
with additional information to
enable restoring users’ systems

Customer’s
Android device

5
. Threat detection system
checks files and alerts the
server about threats

System Architecture

Server

Storage

apk

apk

apk

apk

Internet

Customer’s
Android device

apk

1.
Threat detection system
checks apks with status
“UNCHECKED”

2
. Sending analysis
result:
“malicious
application”

3
. Sending an alert
to the user

apk

8

System Architecture

Storage Server

Internet

NetShield Analysis
Server

apk

apk

apk

apk

apk

Classes and Relationships

ClientAgent

Listener

ClientGUI

ServerCommunication

ManagerGUI

Gui

client

gui

Restorer

ClientGuiFacade

ManagerGuiFacade

ManagerLogic

ManagerLogic

ConnectionHandler

ConnectionAcceptor

Reactor

ReactorData

Protocol

ServerProtocol

MessageProcessor

Task

SQLInteface

AgentComManager

MngComManager

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 Interface


Service

Recovery List Screen

User picks the
applications to
recover

Recover

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

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?