50
Mobile Malware John Mitchell CS 155 Spring 2016 Acknowledgments: Lecture slides are from the Computer Security course taught by Dan Boneh and John Mitchell at Stanford University. When slides are obtained from other sources, a a reference will be noted on the bottom of that slide. A full list of references is provided on the last slide.

Mobile Malware - Sharif

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Mobile Malware - Sharif

Mobile Malware

John Mitchell

CS 155 Spring 2016

Acknowledgments: Lecture slides are from the Computer Security course taught by Dan Boneh and John Mitchell at Stanford University. When slides are obtained from other sources, a a reference will be noted on the bottom of that slide. A full list of references is provided on the last slide.

Page 2: Mobile Malware - Sharif

Outline

• Mobile malware • Identifying malware

– Detect at app store rather than on platform

• Target fragmentation in Android – Out-of-date Apps may disable more recent

security platform patches

Page 3: Mobile Malware - Sharif

Malware Trends

Page 4: Mobile Malware - Sharif

W

Page 5: Mobile Malware - Sharif
Page 6: Mobile Malware - Sharif

Based on FairPlay vulnerability

• Requires malware on user PC, installation of malicious app in App Store • Continues to work after app removed from store • Silently installs app on phone

Page 7: Mobile Malware - Sharif

Android malware 2015

Page 8: Mobile Malware - Sharif

Current Android MalwareDescription

AccuTrack This application turns an Android smartphone into a GPS tracker.Ackposts This Trojan steals contact information from the compromised device and uploads them to a remote server.Acnetdoor This Trojan opens a backdoor on the infected device and sends the IP address to a remote server.Adsms This is a Trojan which is allowed to send SMS messages. The distribution channel ... is through a SMS message containing the download link.Airpush/StopSMSAirpush is a very aggresive Ad-Network.…

BankBotThis malware tries to steal users’ confidential information and money from bank and mobile accounts associated with infected devices.

http://forensics.spreitzenbarth.de/android-malware/

Page 9: Mobile Malware - Sharif

Trends 2014-15

Page 11: Mobile Malware - Sharif

Android malware example

Page 12: Mobile Malware - Sharif

Install malicious “conference app”

Page 13: Mobile Malware - Sharif

Malware behavior triggered by C&C server (Chuli)

Page 14: Mobile Malware - Sharif

Outline

• Mobile malware • Identifying malware

– Detect at app store rather than on platform

• Target fragmentation in Android – Out-of-date Apps may disable more recent

security platform patches

Page 15: Mobile Malware - Sharif

STAMP Admission System

Static

Dynamic

STAMP

Static AnalysisMore behaviors,

fewer details

Dynamic AnalysisFewer behaviors,

more details

Alex Aiken,John Mitchell,Saswat Anand,Jason FranklinOsbert Bastani,Lazaro Clapp,Patrick Mutchler,Manolis Papadakis

Page 16: Mobile Malware - Sharif

Data Flow Analysis

getLoc() sendSMS()

sendInet()

Source: Location Sink: SMS

Sink: Internet

Location SMS Location Internet

• Source-to-sink flows o Sources: Location, Calendar, Contacts, Device ID etc.o Sinks: Internet, SMS, Disk, etc.

Page 17: Mobile Malware - Sharif

Data Flow Analysis in Action

• Vulnerability Discovery

Privacy PolicyThis app collects your:ContactsPhone NumberAddress

FB API

Send Internet

Source: FB_Data Sink: Internet

Web Source: Untrusted_Data

SQL Stmt Sink: SQL

• Malware/Greyware Analysiso Data flow summaries enable enterprise-specific policies

• API Misuse and Data Theft Detection

• Automatic Generation of App Privacy Policieso Avoid liability, protect consumer privacy

Page 18: Mobile Malware - Sharif

Challenges

• Android is 3.4M+ lines of complex code o Uses reflection, callbacks, native code

• Scalability: Whole system analysis impractical

• Soundness: Avoid missing flows

• Precision: Minimize false positives

Page 19: Mobile Malware - Sharif

STAMP Approach

• Model Android/Java o Sources and sinks o Data structures o Callbacks o 500+ models

• Whole-program analysis o Context sensitiveSTAM

P

Android

Models

App App

Too expensive!

OS

HW

Page 20: Mobile Malware - Sharif

Data We Track (Sources)

• Account data

• Audio

• Calendar

• Call log

• Camera

• Contacts

• Device Id

• Location

• Photos (Geotags)

• SD card data

• SMS

30+ types of sensitive data

Page 21: Mobile Malware - Sharif

Data Destinations (Sinks)

• Internet (socket)

• SMS

• Email

• System Logs

• Webview/Browser

• File System

• Broadcast Message

10+ types of exit points

Page 22: Mobile Malware - Sharif

Currently Detectable Flow Types

Unique Flow Types = Sources x Sink

396 Flow Types

Page 23: Mobile Malware - Sharif

Example Analysis

Contact Sync for Facebook (unofficial)

Description: This application allows you to synchronize

your Facebook contacts on Android.

IMPORTANT: * "Facebook does not allow [sic] to export phone

numbers or emails. Only names, pictures and statuses are synced."

* "Facebook users have the option to block one or all apps. If they opt for that, they will be EXCLUDED from your friends list."

Privacy Policy: (page not found)

Page 24: Mobile Malware - Sharif

Possible Flows from Permissions

Sources Sinks

INTERNETREAD_CONTACTS

WRITE_SETTINGSREAD_SYNC_SETTINGS

WRITE_CONTACTSREAD_SYNC_STATS

GET_ACCOUNTS WRITE_SECURE_SETTINGS

WRITE_SETTINGSINTERNET

Page 25: Mobile Malware - Sharif

Expected Flows

Sources Sinks

INTERNETREAD_CONTACTS

WRITE_SETTINGSREAD_SYNC_SETTINGS

WRITE_CONTACTSREAD_SYNC_STATS

GET_ACCOUNTS WRITE_SECURE_SETTINGS

WRITE_SETTINGSINTERNET

Page 26: Mobile Malware - Sharif

Observed Flows

FB API

Write Contacts

Send Internet

Source: FB_Data

Sink: Contact_Book

Sink: InternetRead Contacts

Source: Contacts

Page 27: Mobile Malware - Sharif

Chuli source-to-sink flows

Page 28: Mobile Malware - Sharif

Outline

• Mobile malware • Identifying malware

– Detect at app store rather than on platform

• Target fragmentation in Android – Out-of-date Apps may disable more recent

security platform patches

Page 29: Mobile Malware - Sharif

Target Fragmentation in Android Apps

Patrick Mutchler John Mitchell

Yeganeh Safaei Adam Doupe

Page 30: Mobile Malware - Sharif

Android apps can run using outdated OS behavior - The large majority of Android apps do this - Including popular and well maintained apps

Takeaways

Outdated security code invisibly permeates the app ecosystem - “Patched” security vulnerabilities still exist in the wild - “Risky by default” behavior is widespread

Page 31: Mobile Malware - Sharif

What is target fragmentation?

Target fragmentation statistics

Security consequences

Roadmap

Page 32: Mobile Malware - Sharif

“If the [operating system version of the device] is higher than the version declared by your app’s targetSdkVersion, the system may enable compatibility behaviors to ensure that your app continues to work the way you expect.”

- Android Developer Reference

Page 33: Mobile Malware - Sharif

What is target fragmentation?

Target fragmentation statistics

Security consequences

Roadmap

Page 34: Mobile Malware - Sharif

1,232,696 Android Apps

Popularity, Category, Update, and Developer metadata

Collected between May 2012 and Dec 2015

Broken into five datasets by collection date

Dataset

Page 35: Mobile Malware - Sharif

Android 5.0

Released

Android 5.1

Released

Android 6.0

Released

App Collected

Outdatedness

Page 36: Mobile Malware - Sharif
Page 37: Mobile Malware - Sharif
Page 38: Mobile Malware - Sharif

App Collecte

d

Outdatedness

App Updated

Negligent Outdatedness

Android 5.0

Released

Android 5.1

Released

Android 6.0

Released

Page 39: Mobile Malware - Sharif
Page 40: Mobile Malware - Sharif

What is target fragmentation?

Target fragmentation statistics

Security consequences

Roadmap

Page 41: Mobile Malware - Sharif

Mixed Content in WebView

Page 42: Mobile Malware - Sharif

Mixed Content in WebView

Major web browsers block Mixed Content

In Android 5.0, WebViews block Mixed Content by default

Can override default with setMixedContentMode()

Page 43: Mobile Malware - Sharif
Page 44: Mobile Malware - Sharif
Page 45: Mobile Malware - Sharif

SOP for file:// URLs in WebView

Android 4.1 separate file:// URLs are treated as unique origins

Can override with setAllowFileAccessFromFileURLs()

Page 46: Mobile Malware - Sharif
Page 47: Mobile Malware - Sharif
Page 48: Mobile Malware - Sharif

Android apps can run using outdated OS behavior - The large majority of Android apps do this - Including popular and well maintained appsOutdated security code invisibly permeates the app ecosystem - “Patched” security vulnerabilities still exist in the wild - “Risky by default” behavior is widespread

Recap

Page 49: Mobile Malware - Sharif

Summary

• Mobile malware • Identifying malware

– Detect at app store rather than on platform

• Target fragmentation in Android – Out-of-date Apps may disable more recent

security platform patches

Page 50: Mobile Malware - Sharif

The END