WebView Attack Lab



Download 18.29 Kb.
Date21.06.2017
Size18.29 Kb.
#21360
WebView Attack Lab
  1. Objectives


In mobile platforms, web browser as a reusable component can be embedded in mobile applications. WebView could help developers integrate browser’s function easily, such as web page navigation, and JavaScript execution. However, on the smartphone app market, apps are developed by developers with various level of security knowledge. Not only the applications which developed by careless developer have some potential risks, but also the attacker could use malicious application to wiretapping.

This lab designed for students who have the computer science background or is interesting in computer security problems. After the lab, students will have a deeper and more comprehensive understanding of WebView attack. The JavaScript Code Injection will be realized in this experiments. We provide a malicious app which called Capture.akp and the corresponding project package to students. It is should be point out that this project package is not completed version. Students should add the malicious code by them self then get the app could run the same function like the example Capture.apk. They could try and test how to execute the JavaScript Code injection attack and then add the malicious code to application.


  1. Pre-lab Reading


There are two excellent articles on WebView security problems in mobile operating system. “Touchjacking Attacks on Web in Android, iOS, and Windows Phone” by Luo et al. [1] demonstrated that even if the APIs which designed specifically for WebView are secured, WebView is still dangerous. The authors of this paper describe several attacks and show that attackers can compromise the integrity and confidentiality of the web contents inside WebView.

The other one is “Attacks on WebView in the Android System” by Luo et al. [2] discussed a number of attacks on WebView. Those attacks could be divided in two type. One is the attack from malicious apps, other one is the attack form web pages. This lab design based on the first one. The section 2 (Short Tutorial on WebView) indicate the basic knowledge which students need to learn to finish this lab. The examples in this lab are derived from this paper.


  1. Experiment


The basic experiment is designed to launch a malicious application which could stole the Facebook user’s name and password by WebView attack. In normal situation, the application could not get the user’s information which in WebView. However, in the case of malicious apps, it can get user’s information or ever change the user’s account information.

In the following, brief instructions are given on

1) how to execute the attack;

2) how to set up project into Eclipse;

3) add malicious code to the “uncompleted” project;

4) how to test an attack success or not.



3.1 Execute the attack

There are two choices in this part. One choice is use Android virtual machine which is provided by Eclipse. The other one is that implement the attack by a real mobile device. Both of them could get the same result. The students could choose either one by convenient.



  1. Android virtual machine

the Android emulator is Android Virtual Devices (AVDs) which based on Android Software Development Kit (Android SDK) and Eclipse IDE. The brief steps will be described in the following (For more detail, check the reference in the end of this instruction or google online). your computer is already installed eclipse, you could skip this part directly.

  1. Download the Android Software Development Kit (SDK)

The SDK starter package is not a completed development environment which just included the core SDK tools. http://developer.android.com/sdk/index.html, download the latest version of SDK starter.

  1. Download Eclipse IDE for Java Developers

This link is the Eclipse downloads. http://www.eclipse.org/downloads/, Fine the Eclipse IDE for Java Developers. Noted: the correct version for your operating system should be guaranteed. After your Eclipse IDE download is complete, unzip and move to a permanent folder

  1. Install the Android Development Tools (ADT) plugin

Open Eclipse to install the Android Development Tools (ADT) by using Eclipse’s built-in plug-in system. Here are the basic steps.

  1. Choose “Help” > “Install New Software….”

  2. Click the “Add…” button and create a new entry:

    • Name: “Android ADT” (this space is for your own personal use, so name it whatever you want)

    • Location: “https://dl-ssl.google.com/android/eclipse/” (try just http:// if the https:// does not work)

  3. Check all the boxes to install all the tools

  4. Just keep clicking “I agree”, “Next”, “Yes”, etc. until it asks you to restart

  5. Go ahead and restart Eclipse when prompted to



  1. Install Android SDK Components

Download the Software Development Kits(SDKs). This step could be done by Eclipse IDE and the Android ADT. Here are the basic steps.

  1. Open Eclipse, click “Window” > “Android SDK and AVD Manager”

  2. In “Available packages”, select the platforms you want to support. You can either choose all, or pick-and-choose what you want to develop for.

  3. In the “Third party Add-ons”, decide what you are interested in. The Google APIs must be installed.

  4. Choose “Install Selected”, then the “Accept All” radio button, then “Install”.

E) Setup proxy in the Mobile networks setting. (If the UMD-Wireless or UMD-Secure cannot work, please do this experiment in the other Wi-Fi environment.)

1) Create New AVD, select Window > AVD Manager > New. The new Android Virtual Device should set the Android Virtual Device (AVD) as showed below. (Noted: the AVD showed just for reference, you could create different as long as the experiment could be run.)

Figure 1. AVD setting details



  1. Use real mobile device

1)Find the file Capture.apk in bin folder

Figure 2. Capture.apk location

2) Copy this .apk file to the Android device, for example, pause in Downloads folder. Then open Downloads, tap on the APK file, and tap Yes when prompted. The app will begin installing on device.

3.2 Set up project into Eclipse


  1. Import the project package to Eclipse. (Shown as Figure 1)

Open Eclipse>Choose File>Imported

Figure 3.



  1. Set how to import the project package, choose Existing Android Code Into Workspace



Figure 4.

Choose Browse>Select the project package which provided>Finish


  1. Success import in the Android projects.

If the Android project has been imported successful, he Project should has those files.

Figure 5.



    1. Add malicious code

The following “uncompleted” code in MainActivity.java shows the malicious part. Students should add the rest malicious code in blank area. The sb.append() is the key part. Those three blue lines showed below are the hints for students to easy to find the direction of this part.









    1. Test an attack success or not

After the part 3.3, students should test whether their attack success or not. The following is one successful attack examples for reference.

  1. The Login page

Figure 6.




  1. User type in the personal information

Figure 7.




  1. Capture the information

Figure 8.

Noted: For education purpose, we did not let the malicious app send that information to anyone just show it. In real attack, it should be send to the attacker.

  1. Reference


[1] T. Luo, X. Jin, A. Ananthanarayanan, W. Du. “TouchJacking Attacks on Web in Android, iOS, and Windows Phone”

[2] T. Luo, H. Hao, W. Du, Y. Wang, H. Yin. “Why Eve and Mallory Love Android: An Analysis of Android SSL (in) Security”

[3] http://www.eclipse.org/, “Eclipse official website”

[4] http://theopentutorials.com/tutorials/android/how-to-create-android-avd-emulator-in-eclipse/, “How to create and launch emulator in Eclipse”



[5] http://android.konreu.com/developer-how-to/install-android-sdk-eclipse-and-emulator-avds/, “Install Android SDK, Eclipse, and Emulator(AVDS)”
Download 18.29 Kb.

Share with your friends:




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

    Main page