criminal profiling: android malware · sms: a strong indicator! i 56% of malware implement a sms...

54
Criminal Profiling: Android Malware Axelle Apvrille - FortiGuard Labs, Fortinet Nuit du Hack, June 2015

Upload: others

Post on 08-Jul-2020

1 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Criminal Profiling: Android Malware

Axelle Apvrille - FortiGuard Labs, Fortinet

Nuit du Hack, June 2015

Page 2: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Criminal Profiling

Nuit du Hack 2015 - A. Apvrille 2/44

Page 3: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Kind warning

Plenty of stats

Feel free to (or else)

Please tweet stats correctly though :)Whenever possible, include how stats were

computed: it matters (very much)Want to re-use? Sure - please credit (fair, isn’t it?)

Nuit du Hack 2015 - A. Apvrille 3/44

Page 4: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

How are stats computed?

Android Package File properties

Uncompress

Manifest properties

Certificate properties

Resources, Assets...

ARM exec properties

Dalvik executable

Disassemble

API, action properties

DEX properties

289 static properties

See SherlockDroid in

Hack.Lu 2014 or

IEEE TrustCom-15

(upcoming)

Nuit du Hack 2015 - A. Apvrille 4/44

Page 5: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

How are stats computed?

Android Package File properties

Uncompress

Manifest properties

Certificate properties

Resources, Assets...

ARM exec properties

Dalvik executable

Disassemble

API, action properties

DEX properties

289 static properties

See SherlockDroid in

Hack.Lu 2014 or

IEEE TrustCom-15

(upcoming)

Nuit du Hack 2015 - A. Apvrille 4/44

Page 6: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Datasets

I Malware: takenfrom Fortinet’s DB- unique & nondamaged samplesonly

I Clean: apps weanalyzed manually,open source apps,top apps withknown developer inPlay Store

Why so few clean?

Hey, it’s very difficult(and long) to be sureit’s clean!

Nuit du Hack 2015 - A. Apvrille 5/44

Page 7: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Number of samples

Unless specified otherwise, we considered:Property type Nb of samplesPackage properties 945,785DEX format properties 945,785API call properties etc 945,092Manifest properties 617,942

Properties in 3rd party kits (AdMob, JUnit...) are ruled out

Why not all?

I Some samples are incomplete (e.g. just classes.dex)

I Some samples are damaged

I Some properties are ’optional’ (e.g targetSDK)

Nuit du Hack 2015 - A. Apvrille 6/44

Page 8: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Comparisons

Many research papers use datasets of 100-1000 samples

We use close to 1 million

Android Malware Genome dates back to 2011Our study is on samples collected before March 2015

Extensive work: Andrubis (BADGERS’14), PlayDrone(SIGMETRICS’14)

Our study focuses on malware with stats on code-levelproperties

Nuit du Hack 2015 - A. Apvrille 7/44

Page 9: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Comparisons

Many research papers use datasets of 100-1000 samples

We use close to 1 million

Android Malware Genome dates back to 2011Our study is on samples collected before March 2015

Extensive work: Andrubis (BADGERS’14), PlayDrone(SIGMETRICS’14)

Our study focuses on malware with stats on code-levelproperties

Nuit du Hack 2015 - A. Apvrille 7/44

Page 10: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Comparisons

Many research papers use datasets of 100-1000 samples

We use close to 1 million

Android Malware Genome dates back to 2011Our study is on samples collected before March 2015

Extensive work: Andrubis (BADGERS’14), PlayDrone(SIGMETRICS’14)

Our study focuses on malware with stats on code-levelproperties

Nuit du Hack 2015 - A. Apvrille 7/44

Page 11: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Criminal Profiling: What Do Malware Look Like?

I'm smaller and simplerI'm smaller and simpler

Nuit du Hack 2015 - A. Apvrille 8/44

Page 12: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Sample file size

End of 2014

Clean: 9.2M average 4x bigger than Malware: 2.4M averageMalware don’t need to implement all features

Nuit du Hack 2015 - A. Apvrille 9/44

Page 13: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Activities, services, receivers

Nuit du Hack 2015 - A. Apvrille 10/44

Page 14: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Criminal Profiling: What Do Malware Like?

I'm smaller and simplerI'm smaller and simpler

I just love to read / send SMS, Install apps, create shortcuts

I just love to read / send SMS, Install apps, create shortcuts

Nuit du Hack 2015 - A. Apvrille 11/44

Page 15: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

SMS: a strong indicator!

I 56% of malwareimplement a SMSreceiver! (only 3%of clean)

I 43% of malwaresend SMS!

I 32% of malware useabortBroadcast()

to conceal incomingSMS!

Nuit du Hack 2015 - A. Apvrille 12/44

Page 16: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Criminal Profiling: Other Interests

I'm smaller and simplerI'm smaller and simpler

I just love to read / send SMS, Install apps, create shortcuts

I just love to read / send SMS, Install apps, create shortcuts

Camera? Vibrating? Send e-mails. Pff! Not interesting.

Camera? Vibrating? Send e-mails. Pff! Not interesting.

Nuit du Hack 2015 - A. Apvrille 13/44

Page 17: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

What Malware Like / Don’t Like

Like

I INSTALL PACKAGES: 24%malware ask for it. Only 0.4%clean apps do. NB. Works forsystem applications only.

I Install shortcuts: 21% malware,6% clean apps.

Don’t Like

I Emails. 14% malware < 29%clean (support/contact)

I Vibrate. 20% malware(ransomware?), 27% clean

I Is the era of premium phonenumber dialers over? 1%

I Camera. 3.7% malware, 7.1%clean. Only if you’re a VIP ? ;)

I Disable the keyguard.Malware can run backgroundtasks as services...

Nuit du Hack 2015 - A. Apvrille 14/44

Page 18: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Criminal Profiling: Your Permissions, or Your Life!

I'm smaller and simplerI'm smaller and simpler

I just love to read / send SMS, Install apps, create shortcuts

I just love to read / send SMS, Install apps, create shortcuts

Camera? Vibrating? Send e-mails. Pff! Not interesting.

Camera? Vibrating? Send e-mails. Pff! Not interesting.

Gimme all ur permissions!Gimme all ur permissions!

Web search for AngecryptionNuit du Hack 2015 - A. Apvrille 15/44

Page 19: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Permissions indicate evil will...

Clear over-use of permissions!!!

Nuit du Hack 2015 - A. Apvrille 16/44

Page 20: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Top 5 permissions

Nuit du Hack 2015 - A. Apvrille 17/44

Page 21: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Permissions are not so reliable

Nuit du Hack 2015 - A. Apvrille 18/44

Page 22: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Why can’t we rely on permission stats?

A permission may be requested but never used

Or the permission can be used within (legitimate?) third partycodeExample: call permission vs ACTION CALL/ DIAL

We don’t have the manifest for all malware

Explains rare cases where use > requestExample: BIND DEVICE ADMIN permission vsDeviceAdminReceiver

Bypassing permissions

I Call another app that has the permission

I Escalate privileges via updating

I Hijacking the Android installer

I Use an exploit...

Nuit du Hack 2015 - A. Apvrille 19/44

Page 23: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Wide Target

I target even “old” Android systemDon't want to lose an opportunity, do I?

Nuit du Hack 2015 - A. Apvrille 20/44

Page 24: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Declared Target SDK

On average

I Malware target Gingerbread

I Clean apps target Jelly Bean

Stats

Considered ’only’ 6,976 malware and 707 cleanWhy not 900K?

I All samples don’t come with a manifest

I All manifests don’t come with target SDK

Nuit du Hack 2015 - A. Apvrille 21/44

Page 25: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Malware profiling: targets

I target even “old” Android systemDon't want to lose an opportunity, do I?

I target China, USA, Russia...I target China, USA, Russia...

Nuit du Hack 2015 - A. Apvrille 22/44

Page 26: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Geographic attribution statistics

Amount of dataI Country of application’s certificate (575,396)I Rule out unknown countries, buggy and fake entries

I e.g. GF is not a correct country codeI e.g. VU is Vanuatu but this entry is probably fake: CN=VU

OU=VU O=VU L=VU ST=VU C=VUI 63% ruled out!

I Rule out dev / debug certificates (12%)

I Remaining: 146,764 certificates. 14,919 in 2014, and only6,308 in 2015 (incomplete).

Nuit du Hack 2015 - A. Apvrille 23/44

Page 27: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Geographic attribution is complicated

Attribution script turned out to be tricky

Plenty of cases!

I Certificates using call codes (e.g. +86 for China) or zipcodes

I Match towns or ’states’ to countries (e.g Gweru is inZimbabwe)

I Deal with errors e.g C=CH for China, C=CA for California...I Fixed several bugs, but probably others :((

I C=gg-2 (fake country) was counting for ... GuernsayI C=asd3f21asdf was counting for American Samoa

Nuit du Hack 2015 - A. Apvrille 24/44

Page 28: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Malware certificates: target or origin?

Examples

CN=Praveen Kumar Pendyala OU=Student O=IIT BombayL=Mumbai ST=Maharastra C=400076CN=Dau Dinh Manh O=Song Vang L=Ha noi ST=Ha Noi C=84CN=Zhong Zhang OU=Zhainanzhi Inc O=Zhainanzhi IncL=FuZhou ST=FuJian C=CN

I Many certificates with a seemingly valid identityI Why mention a particular name?

I For fame?I Because they don’t believe their app is malicious?I Because they think we won’t notice?I To complexify attribution?I Trojanized app where original certificate name was retained?

Nuit du Hack 2015 - A. Apvrille 25/44

Page 29: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Presumed Targets of 146,764 malware

Nuit du Hack 2015 - A. Apvrille 26/44

Page 30: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Top target countries in 2014

Nuit du Hack 2015 - A. Apvrille 27/44

Page 31: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Top target countries in 2015

Nuit du Hack 2015 - A. Apvrille 28/44

Page 32: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Information, I want information!

I target even “old” Android systemDon't want to lose an opportunity, do I?

I target China, USA, Russia...I target China, USA, Russia...

Trust me! Gimme all ur secrets!Trust me! Gimme all ur secrets!Trust me! Gimme all ur secrets!Trust me! Gimme all ur secrets!

Nuit du Hack 2015 - A. Apvrille 29/44

Page 33: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Most representative collected data

Nuit du Hack 2015 - A. Apvrille 30/44

Page 34: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Collected Data

CaptainObvious:

I IMEI, IMSI,Phonenumber...

Not so obviousWe hadn’t expected the diff with clean apps would beso strong:

I IMEI collected ≈ 3 times more for malware

I Phone number, IMSI, S/N: 6 times more

I List apps, SIM operator: 4 times more

I Android ID, MAC address: twice

What reason for those???

I GPS (≈ 22% for both)

I Get accounts (9% malware, 13% clean)

Nuit du Hack 2015 - A. Apvrille 31/44

Page 35: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Sidenote: comparing with F-Droid apps

F-Droid (Free and Open Source Software Android apps) far cleanerthan the average

Nuit du Hack 2015 - A. Apvrille 32/44

Page 36: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Malware authors: how much skills?

I target even “old” Android systemDon't want to lose an opportunity, do I?

I target China, USA, Russia...I target China, USA, Russia...

Trust me! Gimme all ur secrets!Trust me! Gimme all ur secrets!Trust me! Gimme all ur secrets!Trust me! Gimme all ur secrets!

I like high level dev but not low levelI like high level dev but not low level

Nuit du Hack 2015 - A. Apvrille 33/44

Page 37: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Most frequent techniques

Reminder: code from third party kits are ruled out

Nuit du Hack 2015 - A. Apvrille 34/44

Page 38: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Techniques: What Do We Make Out of It?

Malware authors are not Unix geeks:

I su (8-10%), chmod (< 2%), mount (< 1%), busybox (≈1.5%)

I Command line installation pm install: only 2.2%

I Android emulator detection: only 1.4%

Malware authors are not (particularly) keen on native dev:No significant difference in using JNI (23-26%), executing nativeprocess (21-24%)Malware authors have development skills:

I Android SDK: abortBroadcast(), DexClassLoader,setComponentEnabledSetting()

I JavaScript (22.8% malware - only 0.6% clean)

Nuit du Hack 2015 - A. Apvrille 35/44

Page 39: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Techniques: What Do We Make Out of It?

Malware authors are not Unix geeks:

I su (8-10%), chmod (< 2%), mount (< 1%), busybox (≈1.5%)

I Command line installation pm install: only 2.2%

I Android emulator detection: only 1.4%

Malware authors are not (particularly) keen on native dev:No significant difference in using JNI (23-26%), executing nativeprocess (21-24%)

Malware authors have development skills:

I Android SDK: abortBroadcast(), DexClassLoader,setComponentEnabledSetting()

I JavaScript (22.8% malware - only 0.6% clean)

Nuit du Hack 2015 - A. Apvrille 35/44

Page 40: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Techniques: What Do We Make Out of It?

Malware authors are not Unix geeks:

I su (8-10%), chmod (< 2%), mount (< 1%), busybox (≈1.5%)

I Command line installation pm install: only 2.2%

I Android emulator detection: only 1.4%

Malware authors are not (particularly) keen on native dev:No significant difference in using JNI (23-26%), executing nativeprocess (21-24%)Malware authors have development skills:

I Android SDK: abortBroadcast(), DexClassLoader,setComponentEnabledSetting()

I JavaScript (22.8% malware - only 0.6% clean)

Nuit du Hack 2015 - A. Apvrille 35/44

Page 41: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Techniques: surprises

Why is everybody fond of reflection and encryption?Reflection: 68.9% malware, 50.3% cleanEncryption: 39.7% - 27.9%Because they’re old/well-known techniques?

What are clean apps doing with openDexFile and loadDex?!0.3% malware - 0.4% clean

Dalvik.system.DexFile - openDexFile() is private

Nuit du Hack 2015 - A. Apvrille 36/44

Page 42: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Techniques: surprises

Why is everybody fond of reflection and encryption?Reflection: 68.9% malware, 50.3% cleanEncryption: 39.7% - 27.9%Because they’re old/well-known techniques?

What are clean apps doing with openDexFile and loadDex?!0.3% malware - 0.4% clean

Dalvik.system.DexFile - openDexFile() is private

Nuit du Hack 2015 - A. Apvrille 36/44

Page 43: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Obfuscation: smaller than expected?

I NOPs aremeaningless

I Basic obfuscation =ProGuard a, b, crenaming

I @thuxnderobfuscation (2012)= abusing linearsweep withfill-array-data

= 0.5%. All 4,800samples in 2013.

I APKProtect: since2014

Nuit du Hack 2015 - A. Apvrille 37/44

Page 44: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Obfuscation (continued)

Reliable properties

nop opcode, APKProtect string,@thuxnder

if-eq v0, v0, +9

fill-array-data v0, +3

fill-array-data-payload

Unreliable property: basicobfuscation

I AESObfuscator-1: used byAndroid LVL

I /a/a;->a: simplistic!!!

IssuesI NOPs mentioned by Mody (VB 2013)I Lipovsky (CARO 2014) estimates all abusing linear sweep up

to 30%I Seems too highI Unless I miss samples or case detections?

Nuit du Hack 2015 - A. Apvrille 38/44

Page 45: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Hash algorithms of app certificates

I malware: 617,942

I clean: 13,110

I Are malware authors more tech-savvy than regular developers?

Nuit du Hack 2015 - A. Apvrille 39/44

Page 46: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Sidenote: F-Droid developers even more tech-savvy?

Nuit du Hack 2015 - A. Apvrille 40/44

Page 47: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Use of exploits is not widespread

Detectors

Specific root exploits (Rage in the Cage, Levitator, Zerg Rush...)Generic (and very imperfect) exploit detector

Result 1: my specific root exploit detectors don’t work

Rage in the Cage 3

Exploid 4

Levitator 0

Mempodroid 0

Towel Root 0

Zerg Rush 0

Result 2: generic exploit detector works

Detected in 1.6% malware - I certainly miss cases thoughYet, exploits are not widespread

Nuit du Hack 2015 - A. Apvrille 41/44

Page 48: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Rooting is not specific to malware

Property looks for evidence of tools used on rooted devices:

I com.cyanogenmod

I com.noshufou.android.su

I Superuser.apk

I eu.chainfire.supersu

Both clean and malicious apps look for those≈ 2%

Nuit du Hack 2015 - A. Apvrille 42/44

Page 49: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

RecapI Stats computed on ≈ 1 million malware. However, some

properties (obfuscation, country...) are difficult to spot accurately.

I There’s a general belief that malware are complicated(assembly, emulator detection, exploits etc). Statistically,this is wrong.

I Rooting is not specific to malwareI Unix commands, exploits, emulator detection < 2%I Malware authors are skilled Android developersI They don’t like low level dev + Unix

I Why implement complex schemes when simple code achievesthe goal?

I Malware focus on their goals: money!I They are smaller (why code useless stuff?)

I ≈ half malware read or send SMS, grab IMEI. Theyretrieve twice+ more sensitive data than clean apps

I Geographic attribution is difficult. Countries like China,Russia, USA, UK, Vietnam, Ukraine are top targets.

Nuit du Hack 2015 - A. Apvrille 43/44

Page 50: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

RecapI Stats computed on ≈ 1 million malware. However, some

properties (obfuscation, country...) are difficult to spot accurately.

I There’s a general belief that malware are complicated(assembly, emulator detection, exploits etc). Statistically,this is wrong.

I Rooting is not specific to malwareI Unix commands, exploits, emulator detection < 2%I Malware authors are skilled Android developersI They don’t like low level dev + Unix

I Why implement complex schemes when simple code achievesthe goal?

I Malware focus on their goals: money!I They are smaller (why code useless stuff?)

I ≈ half malware read or send SMS, grab IMEI. Theyretrieve twice+ more sensitive data than clean apps

I Geographic attribution is difficult. Countries like China,Russia, USA, UK, Vietnam, Ukraine are top targets.

Nuit du Hack 2015 - A. Apvrille 43/44

Page 51: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

RecapI Stats computed on ≈ 1 million malware. However, some

properties (obfuscation, country...) are difficult to spot accurately.

I There’s a general belief that malware are complicated(assembly, emulator detection, exploits etc). Statistically,this is wrong.

I Rooting is not specific to malwareI Unix commands, exploits, emulator detection < 2%I Malware authors are skilled Android developersI They don’t like low level dev + Unix

I Why implement complex schemes when simple code achievesthe goal?

I Malware focus on their goals: money!I They are smaller (why code useless stuff?)

I ≈ half malware read or send SMS, grab IMEI. Theyretrieve twice+ more sensitive data than clean apps

I Geographic attribution is difficult. Countries like China,Russia, USA, UK, Vietnam, Ukraine are top targets.

Nuit du Hack 2015 - A. Apvrille 43/44

Page 52: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

RecapI Stats computed on ≈ 1 million malware. However, some

properties (obfuscation, country...) are difficult to spot accurately.

I There’s a general belief that malware are complicated(assembly, emulator detection, exploits etc). Statistically,this is wrong.

I Rooting is not specific to malwareI Unix commands, exploits, emulator detection < 2%I Malware authors are skilled Android developersI They don’t like low level dev + Unix

I Why implement complex schemes when simple code achievesthe goal?

I Malware focus on their goals: money!I They are smaller (why code useless stuff?)

I ≈ half malware read or send SMS, grab IMEI. Theyretrieve twice+ more sensitive data than clean apps

I Geographic attribution is difficult. Countries like China,Russia, USA, UK, Vietnam, Ukraine are top targets.

Nuit du Hack 2015 - A. Apvrille 43/44

Page 53: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

RecapI Stats computed on ≈ 1 million malware. However, some

properties (obfuscation, country...) are difficult to spot accurately.

I There’s a general belief that malware are complicated(assembly, emulator detection, exploits etc). Statistically,this is wrong.

I Rooting is not specific to malwareI Unix commands, exploits, emulator detection < 2%I Malware authors are skilled Android developersI They don’t like low level dev + Unix

I Why implement complex schemes when simple code achievesthe goal?

I Malware focus on their goals: money!I They are smaller (why code useless stuff?)

I ≈ half malware read or send SMS, grab IMEI. Theyretrieve twice+ more sensitive data than clean apps

I Geographic attribution is difficult. Countries like China,Russia, USA, UK, Vietnam, Ukraine are top targets.

Nuit du Hack 2015 - A. Apvrille 43/44

Page 54: Criminal Profiling: Android Malware · SMS: a strong indicator! I 56% of malware implement a SMS receiver! (only 3% of clean) I 43% of malware send SMS! I 32% of malware use abortBroadcast()

Thanks for your attention!

Contact info

@cryptax or aapvrille (at) fortinet (dot) com

Thanks to

.. my husband Alligator, Lobster...

MoreA. Apvrille, L. Apvrille, SherlockDroid: an Inspector for AndroidMarketplaces, Hack.Lu 2014M. Lindorfer, M. Neugschwandtner et al ANDRUBIS - 1,000,000Apps Later: A View on Current Android Malware Behaviors,BADGERS 2014N. Viennot, E. Garcia, J. Nieh, A Measurement Study of GooglePlay, SIGMETRICS 2014

Nuit du Hack 2015 - A. Apvrille 44/44