Top Banner
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
27

Detecting and Categorizing Android Malware with Graph ...

Oct 16, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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