GroddDroid A Gorilla for Triggering Malicious Behavior 10th Int. Conference on Malicious and Unwanted Software October 20-23rd 2015  Abraham, R. Andriatsimandefitra,

Slides:



Advertisements
Similar presentations
Cross-Site Scripting Issues and Defenses Ed Skoudis Predictive Systems © 2002, Predictive Systems.
Advertisements

Understanding an Apps Architecture ASFA Computer Science: Principles Fall 2013.
Social Engineering Training. Training Goals Increase Laboratory Awareness. Provide the tools required to identify, avoid and report advanced Social Engineering.
Leveraging User Interactions for In-Depth Testing of Web Applications Sean McAllister, Engin Kirda, and Christopher Kruegel RAID ’08 1 Seoyeon Kang November.
IBM Security Network Protection (XGS)
INTRUSION DETECTION SYSTEMS Tristan Walters Rayce West.
1 Chap 10 Malicious Software. 2 Viruses and ”Malicious Programs ” Computer “Viruses” and related programs have the ability to replicate themselves on.
Presented by: Kushal Mehta University of Central Florida Michael Spreitzenbarth, Felix Freiling Friedrich-Alexander- University Erlangen, Germany michael.spreitzenbart,
Tutorial 10 Adding Spry Elements and Database Functionality Dreamweaver CS3 Tutorial 101.
XP New Perspectives on Browser and Basics Tutorial 1 1 Browser and Basics Tutorial 1.
Presented by: Tom Staley. Introduction Rising security concerns in the smartphone app community Use of private data: Passwords Financial records GPS locations.
Test-Driven Development of Graphical User Interfaces: A Pilot Evaluation Thedore D. Hellmann, Ali Hosseini-Khayat, Frank Maurer XP 2011.
Android Boot Camp for Developers Using Java, 3E
1 Computer Science of Graphics and Games MONT 105S, Spring 2009 Session 20 Graphical User Interface (GUI)
Dynamic Program Analysis with Partial Execution and Summary Thomas Huining Feng CHESS, UC Berkeley May 8, 2007 CS.
By Gianluca Stringhini, Christopher Kruegel and Giovanni Vigna Presented By Awrad Mohammed Ali 1.
1 Chapter Overview Defining Operators Creating Jobs Configuring Alerts Creating a Database Maintenance Plan Creating Multiserver Jobs.
Nexthink V5 Demo Security – Malicious Anomaly. Situation › Avoid damage resulting from the incident itself and the cost of the unplanned response › Protection.
Malicious Software.
Title of Presentation DD/MM/YYYY © 2015 Skycure Why Are Hackers Winning the Mobile Malware Battle.
Group 9. Exploiting Software The exploitation of software is one of the main ways that a users computer can be broken into. It involves exploiting the.
VMM Based Rootkit Detection on Android
CODING VOCABULARY.  Binary  A number system based on 2  Hexadecimal  A number system based on 16  Domain  An internet location registered with the.
©2015 Check Point Software Technologies Ltd. 1 [Restricted] ONLY for designated groups and individuals CHECK POINT MOBILE THREAT PREVENTION.
START Application Spencer Johnson Jonathan Barella Cohner Marker.
Sockets A popular API for client-server interaction.
By: Chuqing He. Android Overview - Purchased by Google in First Android Phone was sold in Oct Linux-based - Holds 75% of the worldwide.
Chapter 2 Build Your First Project A Step-by-Step Approach 2 Exploring Microsoft Visual Basic 6.0 Copyright © 1999 Prentice-Hall, Inc. By Carlotta Eaton.
“What the is That? Deception and Countermeasures in the Android User Interface” Presented by Luke Moors.
111 State Management Beginning ASP.NET in C# and VB Chapter 4 Pages
Cyber security. Malicious Code Social Engineering Detect and prevent.
Android’s Malware Attack, Stealthiness and Defense: An Improvement Mohammad Ali, Humayun Ali and Zahid Anwar 2011 Frontiers of Information Technology.
Virtualization.
3 Do you monitor for unauthorized intrusion activity?
TriggerScope: Towards Detecting Logic Bombs in Android Applications
Computer Software Digital Literacy.
Event-driven programming
Harvesting Runtime Values in Android Applications That Feature Anti-Analysis Techniques Presented by Vikraman Mohan.
Presented by Xiaohui (Amy) Lin
Written by : Thomas Ristenpart, Eran Tromer, Hovav Shacham,
Computer Software Digital Literacy.
Event Driven Programming Dick Steflik
Automated Pattern Based Mobile Testing
Understanding an App’s Architecture
Directions: GO THROUGH THE FOLLWING SLIDES. Make sure you have quizlet cards for all the vocabulary. Study the terms.
TriggerScope Towards Detecting Logic Bombs in Android Applications
ADVANCED PERSISTENT THREATS (APTs) - Simulation
Are these Ads Safe: Detecting Hidden A4acks through Mobile App-Web Interfaces Vaibhav Rastogi, Rui Shao, Yan Chen, Xiang Pan, Shihong Zou, and Ryan Riley.
Deception and Countermeasures in the Android User Interface
TriggerScope Towards detecting logic bombs in android applications
Cybersecurity Awareness
Event Driven Programming
Intercept X for Server Early Access Program Sophos Tester
Computer Simulation of Networks
Directions: GO THROUGH THE FOLLWING SLIDES. Make sure you have quizlet cards for all the vocabulary. Study the terms GCFLearnFree website “Computer Basics”:
Chap 10 Malicious Software.
Topics Introduction to File Input and Output
Home Internet Vulnerabilities
Chap 10 Malicious Software.
BACHELOR’S THESIS DEFENSE
BACHELOR’S THESIS DEFENSE
BACHELOR’S THESIS DEFENSE
Motivation and Problem Statement
Scriptless Test Automation through Graphical User Interface
CSC-682 Advanced Computer Security
Digital Literacy 1.00 Computer Basics
Computer Security By: Muhammed Anwar.
Cross-Site Scripting Issues and Defenses Ed Skoudis Predictive Systems
Topics Introduction to File Input and Output
Overview of the IDE Visual Studio .NET is Microsoft’s Integrated Development Environment (IDE) for creating, running and debugging programs (also.
Presentation transcript:

GroddDroid A Gorilla for Triggering Malicious Behavior 10th Int. Conference on Malicious and Unwanted Software October 20-23rd 2015  Abraham, R. Andriatsimandefitra, A. Brunelat Jean-François Lalande, Valérie Viet Triem Tong

Executing Android Malware is necessary To observe their behavior To understand them To test the robustness of a protection 2  But malware do not run on demand starts when the phone is unlocked starts after a reboot sleeps a week long detects emulators waits for a message of their master starts immediately …

Existing approaches: Monkey, PuppetDroid and A 3 E The Monkey hits randomly the graphical interface and can be combined with a random sequence of events (SMS, phone call, reboot…) PuppetDroid Re-execute recorded interactions and reproduces the typical UI-interaction of a potential victim of the malware. A 3 E extracts GUI elements and generates related events handlers to mimicking a real user. BUT Remain inefficient to trigger delayed attack or commanded by a remote server Is not able to recreate the same scenario twice (Monkey) 3

Our proposition: identification and forcing of malicious behaviors 4 GroddDroid: 1.Identifies suspicious part of the bytecode 2.Plays with the app as Grodd 3.Forces the malicious code if needed 4.Is freely available on

1 st Step: Suspicious code targeting For each method in the bytecode computes a risk score. The more the method uses sensitive APIs, the higher is the score. Example of scoring : Android.telephony.SmsManager +50 Android.telephony.TelephonyManager +20 Java.lang.Process +10 Java.net.UrlConnection +3 5

Is our scoring function well-adapted to malware ? 6 We verify that the pointed out APIs are really used by malware (on a dataset of 100 malware)

Did we succeed to target malicious bytecode ? We have test the scoring function on a dataset of well studied malware : Kharon15 MalwareHigh score Malicious or not ? Most scored method BadNews 80 ✓ gathers user’s information Cajino 200 ✓ Sends SMS DroidKungFu 50 ✓ Run a binary exploit MobiDash 147 WRONGgathers user’s information for legitimate use SaveME 100 ✓ Sends SMS SimpleLocker - CRASH WipeLocker 150 ✓ Sends SMS

2 nd Step: Running the app as a Gorilla ① Collects graphical elements ② Explores the app by clicking on the buttons ③ Can go back ④ Can launch the app again ⑤ Detects loops ⑥ Until he has explored all the different activities 8

Is our Gorilla better than Monkey and A 3 E ? We compare the code coverage on 100 tested malware Always better than A 3 E (cannot handle properly recent Android apps) Slightly better than Monkey 23 crashs Serves a reference execution path 9 GroddDroid forces the execution path direct to the most ranked method.

3 step : Running the app as GroddDroid GroddDroid ① modifies the bytecode and cancels the conditional jumps that could drive away from the malicious code ② Recomputes an execution path reachable by a gorilla to execute the most scored unit of code 10 Let us have an example

3 step : Running the app as GroddDroid ① modifies the bytecode and cancels the conditional jumps that could drive away from the malicious code 11 The source code of a simple protection if (isOnEmulator()) return; // Branch 1 else manager = SmsManager.getDefault(); // Branch 2

3 step : Running the app as GroddDroid ① modifies the bytecode and cancels the conditional jumps that could drive away from the malicious code 12 Same code in Jimple (intermediate representation of bytecode) $z0 = staticinvoke (); if $z0 != 0 goto label3; return; // Branch 1 label3: // Branch 2 $r6 = staticinvoke ();

3 step : Running the app as GroddDroid ① modifies the bytecode and cancels the conditional jumps that could drive away from the malicious code 13 Forced code: the conditional jump is modified $z0 = staticinvoke (); goto label3 ; // Forced branch 2 return; // Branch 1 is now unreachable label3: // Branch 2 is always executed $r6 = staticinvoke ();

3 step : Running the app as GroddDroid ② The process is repeated to exhibit an execution path 14

3 step : Running the app as GroddDroid ② The process is repeated to exhibit an execution path 15

Is GroddDroid able to force malware to execute ? We recompile the modified bytecode and run it. We test this procedure on a dataset of 100 malware. 16

Overview of the GroddDroid framework 17

Summary and Conclusion GroddDroid provides a solution to defeat protections of Android malware using: Automatic identification of malicious code Intelligent exploration of activities A forcing of the most scored unit of code 18 Can certainly be improved in taking into account other GUI elements in forcing more than one execution path

Visit our web site and use GroddDroid Feel free to contact us 19