Cse 5520/4520 Wireless Networks Fall’2012, Project 3



Download 15.25 Kb.
Date19.06.2017
Size15.25 Kb.
#21010

CSE 5520/4520 Wireless Networks

Fall’2012, Project 3


(Due 11/28/2012)

In project 3 we focus on analyzing the behavior of different Android applications on the mobile platform. Such a monitor can be useful in detecting malicious activities and malwares.

An android application requires a certain set of permissions to access some restricted resources in the smart phone. When a user about to install an application, the installation process will prompt the user about the type of the permissions required in running the application. If the user accepts, then the application will be installed. Once installed, it acquires the authority to use those resources. Sometimes, some of the privileges and resources are not even used by the application.

For project3, first, create an android application to monitor the usage of different resources and log them in a file (in the smart phone storage -sd card). Let’s call this app ResourceMonitor (you may give any creative name of your choice).

Next, you will be given a set of android applications (talk to TA to get this list) which can be downloaded from the Google Paly. This set of applications are related to each other based on functionality (For example Games, Business Applications etc.). The goal is to install applications in your device and monitor the resource usage using the Resource Monitor (written by you) and prepare a report about the system resource usage.

This project can be divided into four phases.



Step1: Build Android SDK and test on the hardware.

Step2. Download and build an Android application to monitor at least one system resource and log them in a file (use the monitor program supplied/pointed by the TA)

Step3: In this step, you are expected to develop a module for logging usage of different resources. Find/Decide a set of system resources (at least 5) that can be monitored. Then update your application to monitor these new set of resources and log them (e.g., network access, RAM usage, SD usage, CPU usage, location, SMS usage). It is also worth checking if the application is using the camera, microphone and other sensors.

Step4: Download a set of applications and monitor their behavior. For example, develop histograms for monitoring how long and how many times the resource has been accessed. The X-axis describes temporal aspects (time, in ms or seconds) of the application and the Y-axis histogram bins for “how long” or “how many time” the resource is accessed. Create the bar graph for each application and comment (4-5 lines for each plot) on the behavior of the application. The report should include problem definition, introduction, and methodology describing your monitor and how it monitors various resources, results, discussion, conclusion and references (5-10 pages including the graphs)

Tips for step 2:

Create an initial android resource monitoring app that monitors at least one resource (ex: network monitoring). You may use the same network monitoring app that TA gave you in the slides. But keep in mind this is a very basic app. It is not capable of logging data into a file nor it can run as a service in the background to monitor other apps. Next, you can start with this app (the one in the slides) and add the following functionality;

1. Capability in logging the data into a file with time stamps.

2. Also, the app should run as a service in the background

Finally, you may use this app to monitor other apps. Create your app so that it can start and stop the monitoring service.

Some useful links:

1. On Java file handling :

http://www.java2s.com/Tutorial/Java/0180__File/Catalog0180__File.htm

2. It is advised to use buffered reader / writer

http://www.java2s.com/Tutorial/Java/0180__File/0260__BufferedReader.htm

http://www.java2s.com/Tutorial/Java/0180__File/0340__BufferedWriter.htm

3. Don't forget to enable the WRITE_EXTERNAL_STORAGE permission.

4. Android services:

http://www.vogella.com/articles/AndroidServices/article.html

http://developer.android.com/guide/components/services.html

To Install and APK file in the Emulator:

There are many methods to do this.

This particular method uses a command line instruction in the PC to install the APK file in the emulator (or in the mobile phone).

Steps:


1. Start the emulator

2. Add the following directory to your path in your PC

"[Android SDK Home]\android-sdk\platform-tools\"

3. Using the command line, go to the directory where you have your APK files

4. Issue the following command in the command line to install the APK file in the emulator

adb -s emulator-5554 install "your apk file name.apk"

Then wait until it installs and gives you the confirmation.

Note: you may use the command: adb install "your apk file name.apk", but make sure only one emulator is running an no mobile phones are plugged in.

5. Then go to the menu in your emulator to check the installed application.

References:

[1] http://www.mobisoftinfotech.com/blog/android/installing-apk-files-on-android-device-emulator/

[2] A video (this does not show the same steps as above but it is a similar method): http://www.youtube.com/watch?v=7ALFFPPdvgs

I have attached a set of Android apps (5 apps) for you to test with your Android monitoring program. Please find the link in front of your name.

Amelia Chase http://nsl.cse.unt.edu/~fazeen/AndroidApps/Apps%20(1).zip

Amrutha Chalasani http://nsl.cse.unt.edu/~fazeen/AndroidApps/Apps%20(2).zip

Bhoomi Manharbhai Raval http://nsl.cse.unt.edu/~fazeen/AndroidApps/Apps%20(3).zip

Chao Wang http://nsl.cse.unt.edu/~fazeen/AndroidApps/Apps%20(4).zip

Chitra Yarlagadda http://nsl.cse.unt.edu/~fazeen/AndroidApps/Apps%20(5).zip

Gajendira R. Sivajothi http://nsl.cse.unt.edu/~fazeen/AndroidApps/Apps%20(6).zip

Jagannadh Vempati http://nsl.cse.unt.edu/~fazeen/AndroidApps/Apps%20(7).zip

Patrick Cryer http://nsl.cse.unt.edu/~fazeen/AndroidApps/Apps%20(8).zip

Ratna Eluri http://nsl.cse.unt.edu/~fazeen/AndroidApps/Apps%20(9).zip

Ravi Teja Gannavarapu http://nsl.cse.unt.edu/~fazeen/AndroidApps/Apps%20(10).zip

Savitha Chintakindi http://nsl.cse.unt.edu/~fazeen/AndroidApps/Apps%20(11).zip

Snigdhitha Kasarla http://nsl.cse.unt.edu/~fazeen/AndroidApps/Apps%20(12).zip

Sonal Tanpure http://nsl.cse.unt.edu/~fazeen/AndroidApps/Apps%20(13).zip

Srikanth Datti http://nsl.cse.unt.edu/~fazeen/AndroidApps/Apps%20(14).zip

Sultan Alotaibi http://nsl.cse.unt.edu/~fazeen/AndroidApps/Apps%20(15).zip

Vishwajyoth Palle http://nsl.cse.unt.edu/~fazeen/AndroidApps/Apps%20(16).zip

DEMO

Please demo the following (by displaying on the monitor, string



in files, plots, etc) for the five applications.

Make sure you practice your demo before coming to the lab.

1. What server (name or IP address) is being accessed during

network access while running the application ?

2. How often is access the internet ?

3. Based on the resource monitoring, are you be able to determine

what kind of advertisements are activated in the run-time?

4. If so, how long the app runs the add?

5. Does the app store/access the data/info in the SD card?

6. If so, what kind of files it stores/access in the SD card.

7. How frequently does it access the storage?

8. What is the battery consumption when the app is running?



9. What is the CPU sage, while the app is running and how, and when it varies?

10. What is the RAM usage while the app is running?

Download 15.25 Kb.

Share with your friends:




The database is protected by copyright ©ininet.org 2024
send message

    Main page