27
Peng Xu 1 , Claudia Eckert 1 , Apostolis Zarras 2 {Peng,eckert}sec.in.tum.de [email protected] 1 Technical University of Munich 2 Delft University of Technology Detecting and Categorizing Android Malware with Graph Neural Networks

Detecting and Categorizing Android Malware with Graph

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Detecting and Categorizing Android Malware with Graph

Peng Xu1, Claudia Eckert1, Apostolis Zarras2

{Peng,eckert}sec.in.tum.de

[email protected] Technical University of Munich2 Delft University of Technology

Detecting and Categorizing Android Malware with Graph Neural Networks

Page 2: Detecting and Categorizing Android Malware with Graph

2Peng Xu, Claudia Eckert, Apsotlis Zarras | IT Security, Technical University of Munich

Motivation

https://securelist.com/mobile-malware-evolution-2020/101029/

Page 3: Detecting and Categorizing Android Malware with Graph

3Peng Xu, Claudia Eckert, Apsotlis Zarras | IT Security, Technical University of Munich

Motivation

G DATA Mobile Malware Report 2019: New high for malicious Android apps

Page 4: Detecting and Categorizing Android Malware with Graph

4Peng Xu, Claudia Eckert, Apsotlis Zarras | IT Security, Technical University of Munich

Motivation

1. permission-based Android Malware Detection systems (DREBIN, FM)2. API-call-based Android Malware Detection systems (DroidNative)

https://developer.android.com/reference/android/Manifest.permissionOpCode-Level Function Call Graph Based Android Malware Classification Using Deep Learning

String, Opcode(word)

Page 5: Detecting and Categorizing Android Malware with Graph

5Peng Xu, Claudia Eckert, Apsotlis Zarras | IT Security, Technical University of Munich

Motivation

String ObfuscationString(permission), API Call(word)

• Class Encryption

• String Encryption

• Reflection• replace each invoke instruction with specific

bytecode

• Trivial Obfuscation• Only affects string, not bytecode

• Trivial + String Encryption

• Trivial + StringEnc + Reflection

Obfuscation

• Trivial + StringEnc + Reflection + ClassEnc

Page 6: Detecting and Categorizing Android Malware with Graph

6Peng Xu, Claudia Eckert, Apsotlis Zarras | IT Security, Technical University of Munich

Motivation

https://www.microsoft.com/security/

Page 7: Detecting and Categorizing Android Malware with Graph

7Peng Xu, Claudia Eckert, Apsotlis Zarras | IT Security, Technical University of Munich

Motivation

DroidOL: Android malware detection based on online machine learning

Page 8: Detecting and Categorizing Android Malware with Graph

8Peng Xu, Claudia Eckert, Apsotlis Zarras | IT Security, Technical University of Munich

Motivation

Adagio: Structural Detection of Android Malware using Embedded Call-GraphMANIS: evading malware detection system on graph structure

Page 9: Detecting and Categorizing Android Malware with Graph

9Peng Xu, Claudia Eckert, Apsotlis Zarras | IT Security, Technical University of Munich

Motivation

Neural Network-based Graph Embedding for Cross-Platform Binary Code Similarity Detection

Page 10: Detecting and Categorizing Android Malware with Graph

10Peng Xu, Claudia Eckert, Apsotlis Zarras | IT Security, Technical University of Munich

Motivation

Page 11: Detecting and Categorizing Android Malware with Graph

11Peng Xu, Claudia Eckert, Apsotlis Zarras | IT Security, Technical University of Munich

Overview

APK fileFunction call graph

with opcodeembedding

Function call graphwith functionembedding

GraphEmbedding

Function callgraph

2-layer MLPMalware detection

2-layer MLPMalware classification

Benign

Malware

Plankton

FakeInstaller

DroidKungFu

...

MLP

Page 12: Detecting and Categorizing Android Malware with Graph

12Peng Xu, Claudia Eckert, Apsotlis Zarras | IT Security, Technical University of Munich

Function Call Graph

Androguard to get Function call graph(e.g, Adagio, MANIS)

Page 13: Detecting and Categorizing Android Malware with Graph

• Instruction: Opcode + Operands• Why only consider Opcode?

• Other works: Address, Register are replaced by specificsymbols

• Move Instruction: move-wide vA, vB[04 12x], move-wide/from16 vAA, vBBBB[05 22x]

• Invoke Instruction: invoke-super, invoke-direct, invoke-static, and invoke-interface

• Word Embedding

13Peng Xu, Claudia Eckert, Apsotlis Zarras | IT Security, Technical University of Munich

Opcode Embedding

Page 14: Detecting and Categorizing Android Malware with Graph

• Weighted Mean Function Embedding

• SIF-Invoked Function Embedding • SIF: A simple but tough-to-beat baseline for sentence embeddings.

14Peng Xu, Claudia Eckert, Apsotlis Zarras | IT Security, Technical University of Munich

Function Embedding

Page 15: Detecting and Categorizing Android Malware with Graph

15Peng Xu, Claudia Eckert, Apsotlis Zarras | IT Security | Technical University of Munich

Graph Embedding

Page 16: Detecting and Categorizing Android Malware with Graph

16Peng Xu, Claudia Eckert, Apsotlis Zarras | IT Security, Technical University of Munich

MLP Classifier

• Malware Classification:

• Malware Categorization:

Page 17: Detecting and Categorizing Android Malware with Graph

17Peng Xu, Claudia Eckert, Apsotlis Zarras | IT Security | Technical University of Munich

Evaluation

Page 18: Detecting and Categorizing Android Malware with Graph

18Peng Xu, Claudia Eckert, Apsotlis Zarras | IT Security | Technical University of Munich

Evaluation – Various learning rate

Page 19: Detecting and Categorizing Android Malware with Graph

19Peng Xu, Claudia Eckert, Apsotlis Zarras | IT Security | Technical University of Munich

Evaluation – Various training Epoch

Page 20: Detecting and Categorizing Android Malware with Graph

20Peng Xu, Claudia Eckert, Apsotlis Zarras | IT Security | Technical University of Munich

Evaluation – Various training Epoch

Page 21: Detecting and Categorizing Android Malware with Graph

21Peng Xu, Claudia Eckert, Apsotlis Zarras | IT Security | Technical University of Munich

Evaluation – Various n-hop neighbors

Page 22: Detecting and Categorizing Android Malware with Graph

22Peng Xu, Claudia Eckert, Apsotlis Zarras | IT Security | Technical University of Munich

Evaluation – Obfuscated Application

Page 23: Detecting and Categorizing Android Malware with Graph

23Peng Xu, Claudia Eckert, Apsotlis Zarras | IT Security | Technical University of Munich

Evaluation – Obfuscated Application

Page 24: Detecting and Categorizing Android Malware with Graph

24Peng Xu, Claudia Eckert, Apsotlis Zarras | IT Security | Technical University of Munich

Evaluation – Categorization/Family Classification

Page 25: Detecting and Categorizing Android Malware with Graph

25Peng Xu, Claudia Eckert, Apsotlis Zarras | IT Security | Technical University of Munich

Question?Thanks!

Page 26: Detecting and Categorizing Android Malware with Graph

26Peng Xu, Claudia Eckert, Apsotlis Zarras | IT Security | Technical University of Munich

Backup

Page 27: Detecting and Categorizing Android Malware with Graph

27Peng Xu, Claudia Eckert, Apsotlis Zarras | IT Security | Technical University of Munich

Backup – Structure2vec