• Aucun résultat trouvé

Towards Automatic Triggering of Android Malware

N/A
N/A
Protected

Academic year: 2021

Partager "Towards Automatic Triggering of Android Malware"

Copied!
2
0
0

Texte intégral

(1)

HAL Id: hal-01168354

https://hal.inria.fr/hal-01168354

Submitted on 29 Jun 2015

HAL is a multi-disciplinary open access

archive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Towards Automatic Triggering of Android Malware

Adrien Abraham, Radoniaina Andriatsimandefitra Ratsisahanana, Nicolas Kiss, Jean-François Lalande, Valérie Viet Triem Tong

To cite this version:

Adrien Abraham, Radoniaina Andriatsimandefitra Ratsisahanana, Nicolas Kiss, Jean-François La-lande, Valérie Viet Triem Tong. Towards Automatic Triggering of Android Malware. 12th Inter-national Conference on Detection of Intrusions and Malware & Vulnerability Assessment, Jul 2015, Milano, Italy. �hal-01168354�

(2)

Towards Automatic Triggering of Android Malware

A. Abraham

R. Andriatsimandefitra

N. Kiss

J.-F. Lalande

V. Viet Triem Tong

INRIA/CENTRALESUPELEC research project Cidre – INSA CVL

France

The problem: malware hiding techniques

Malware wait before running to evade dynamic analysis

I a fixed or dynamic period of time I a user input

I a system event

I an order from a remote server

I a particular state of their hosted application I something else ?

Existing solutions

Some frameworks proposed to test the infected application

1.

using random inputs

2.

running a maximal branches of code

BUT

1.

it is uncertain

2.

it is unnecessarily expensive

First step: static identification of malicious code

A scoring function computes an indicator of risk for each instruction in the bytecode.

The score increases with calls to specific Java methods such as:

I android.telephony.SmsManager for sending SMS

I android.telephony.TelephonyManager for getting device infos

I android.context.pm.PackageManager for installing/removing apps I java.util.Timer,TimerTask for the implementation of timebombs I java.lang.Runtime,Process for executing native binaries

I dalvik.system.DexClassLoader for loading code dynamically

label3: $r6 = android.telephony.SmsManager.getDefault()

$r4 = com.savemebeta.GTSTSR.EXT SMS

$r3 = com.savemebeta.GTSTSR.SMS

$r6.sendTextMessage($r4, null, $r3, null, null)

return if $z0 == 0 goto label3 ... $z0 = $r4.isOnEmulator() ... Emulator is detected: does not send an SMS

Risk: +10

Risk: +10 Function risk: 20

Second step: recomputing an execution path to the identified malicious code

To compute an execution path to the most scored unit of code:

I ∀ f, functions of the malware, compute:

Gf = (Vf , Af ). Let G = ∪f Gf = (V, A)

I ∀ intents, events from vi ∈ Vi to vj ∈ Vj:

Add (vi, vj) to A

I Let vk the scored unit of code

Let v0 the entry point (onCreate())

Compute path = shortest path(G, v0, vk)

$r2 = new android.content.Intent specialinvoke $r2.¡init¿ ($r1, class ”miniapp/MyService”) $r1.startService($r2) return void miniapp.MyService.onCreate () v0 ... $r0 := @this specialinvoke $r0.onCreate() return int miniapp.MyService.onStartCommand (android.content.Intent, int, int)

$r0 := @this ...

$r2.sendTextMessage(”+3336303630”, null, ”PREMIUM”, null, null) vk $r2 = android.telephony.SmsManager.getDefault()

Third step: forcing the execution path

To force the execution of the most scored unit of code path:

I Make a standard execution

I Let path = (v1, ..., ve, ..., vk):

ve is the last unit of code executed.

I ∀i > e > k, if vi is a condition, F orce(vi) I Execute the malware again.

Benefits:

I a malware that is executed shows its effects I detection tools can be trained or evaluated

label3: $r6 = android.telephony.SmsManager.getDefault()

$r4 = com.savemebeta.GTSTSR.EXT SMS

$r3 = com.savemebeta.GTSTSR.SMS

$r6.sendTextMessage($r4, null, $r3, null, null)

return goto label3 ... $z0 = $r4.isOnEmulator() ... v k-2 v k-1 : forced jump! vk

Forcing the malware to change of branch: Malware has been executed!

Risk: +10 Risk: +10

Références

Documents relatifs

Enfin, l’imaginaire gothique dans lequel s’inscrit l’œuvre et cette « dame blanche » archétypique de la vision romantique des femmes ont tellement imprégné les

Dans les zones plus favorables en contexte océanique tempéré, le domaine vital est nettement plus petit (< 100 ha) avec des densités d’animaux souvent supérieurs à 2 ou 3

16 La trajectoire de la taxe générale sur les activités polluantes sera-t-elle revue ? La gazette des communes, mars 2021.. mais comment gérer de la manière la plus

Le spectromètre à haute énergie est doté d’un aimant d’analyse à 90°, auquel est appliqué un champ magnétique dont l’intensité optimise pour la masse du

L’analyse du réseau global des relations entre tous les stagiaires PE2 de l’IUFM montre que les groupes de référence sont des lieux d’échange et de relations parfois

L’objectif principal de notre étude était d’étudier la CRP à l’admission comme facteur pronostique chez les patients admis dans les services de médecine interne via les

La planification en vigueur prévoit, pour les années à venir, 189 000 hectares supplémentaires à régé- nérer, 60 000 hectares de peuplements jeunes à éclaircir et 171 000

Nous n’aborderons pas la gestion des délais sous le seul angle du temps d’attente du client (waiting time), où il peut être considéré comme une dimension de la qualité