Skip to content

Source code for our "What the App is That? Deception and Countermeasures in the Android User Interface" paper

Notifications You must be signed in to change notification settings

ucsb-seclab/android_ui_deception

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

REPOSITORY CONTENT

This repository contains data and source code about the paper:

"What the App is That? Deception and Countermeasures in the Android User Interface", presented at 2015 IEEE Symposium on Security and Privacy (SP)

This repository contains three main folders:

###paper The pdf file of the paper.

###presentation The slides and the videos presented at IEEE SP 2015.

###attacks Source code and videos showing some of the attacks described in the paper.

###android_modifications The source code of the Android modifications, enabling the proposed on-device, defense.

HOW TO COMPILE AND USE THE MODIFIED ANDROID

Download the Android official source code

Download the Android source code (tag: android-4.4_r1.2) as explained here.

Use:

repo  init -u https://android.googlesource.com/platform/manifest -b android-4.4_r1.2

instead of:

repo init -u https://android.googlesource.com/platform/manifest

to download the correct tag

Apply the patches

Assume that <git> is the folder where this file (README.md) is and <source> is the folder where Android has been downloaded.

Run:

cd <git>/android_modifications
./apply_patches.sh <source>

Compile the code

cd <source>
source build/envsetup.sh
lunch 2
make

Refer to the official documentation for more information.

Run the emulator with the correct configuration

The patches have been tested on a device mimicking the appearance of a Nexus 4.

Use the following instructions to run the emulator in the correct configuration.

###Create a correct avd Open Android AVD Manager

cd <source>/sdk
android avd

and use it to create a new Nexus 4 avd (named <avd_name>).

###Link the avd to the built image Assuming that <avd_name> has been created in <avd_folder>, run the following commands:

AVD=<avd_folder>
cd <source>
CWD=$(pwd)
ln -s "$CWD"/out/target/product/generic_x86/cache.img "$AVD"/cache.img
ln -s "$CWD"/out/target/product/generic_x86/userdata.img "$AVD"/userdata.img
ln -s "$CWD"/out/target/product/generic_x86/userdata-qemu.img "$AVD"/userdata-qemu.img
ln -s "$CWD"/prebuilts/qemu-kernel/x86/kernel-qemu "$AVD"/kernel-qemu
ln -s "$CWD"/out/target/product/generic_x86/ramdisk.img "$AVD"/ramdisk.img
ln -s "$CWD"/out/target/product/generic_x86/system.img "$AVD"/system.img

###Run the emulator

cd <source>
source build/envsetup.sh
emulator -avd <avd_name>

About

Source code for our "What the App is That? Deception and Countermeasures in the Android User Interface" paper

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published