Preface |
|
ix | |
Acknowledgements |
|
xi | |
About the Authors |
|
xiii | |
Symbols |
|
xv | |
|
1 Internet and Android OS |
|
|
1 | (12) |
|
|
2 | (2) |
|
|
3 | (1) |
|
|
3 | (1) |
|
|
3 | (1) |
|
1.1.4 Application framework |
|
|
3 | (1) |
|
|
4 | (1) |
|
1.2 Android Application Development |
|
|
4 | (1) |
|
|
5 | (1) |
|
1.4 Intents and Intent Filters |
|
|
6 | (1) |
|
|
6 | (2) |
|
|
6 | (1) |
|
1.5.2 Application sandbox |
|
|
7 | (1) |
|
1.5.3 Application signature |
|
|
7 | (1) |
|
|
7 | (1) |
|
|
8 | (2) |
|
1.6.1 Architecture of IoT |
|
|
8 | (1) |
|
|
9 | (1) |
|
1.6.1.2 Gateways and networks |
|
|
9 | (1) |
|
1.6.1.3 Management service layer |
|
|
9 | (1) |
|
1.6.1.4 Application layer |
|
|
9 | (1) |
|
|
10 | (1) |
|
|
11 | (1) |
|
1.8.1 Malware Threats in IoT |
|
|
11 | (1) |
|
|
11 | (2) |
|
|
13 | (10) |
|
2.1 PC Malware vs. Android Malware |
|
|
13 | (1) |
|
|
14 | (2) |
|
2.2.1 Trends in Windows malware |
|
|
15 | (1) |
|
2.2.2 Trends in Android malware |
|
|
15 | (1) |
|
2.3 Types of Malware Detection Mechanisms |
|
|
16 | (1) |
|
|
17 | (2) |
|
2.5 Malware Attacks in Android |
|
|
19 | (1) |
|
2.5.1 Drive by download attack |
|
|
19 | (1) |
|
|
19 | (1) |
|
|
19 | (1) |
|
2.6 History of Malware Attacks in Android |
|
|
19 | (2) |
|
|
21 | (2) |
|
3 Static Malware Detection |
|
|
23 | (20) |
|
3.1 Reverse Engineering and Static Analysis |
|
|
23 | (2) |
|
3.1.1 Reverse engineering using Apktool and Dex2jar |
|
|
23 | (1) |
|
3.1.2 Static malware analysis tools |
|
|
24 | (1) |
|
3.2 Components of Android Application |
|
|
25 | (1) |
|
|
26 | (3) |
|
3.3.1 API's used by malware applications |
|
|
27 | (2) |
|
3.4 API Call-Based Static Detection |
|
|
29 | (2) |
|
3.4.1 Mechanisms using the independent occurrence of API |
|
|
29 | (1) |
|
3.4.2 Mechanisms Using API Call Graphs |
|
|
30 | (1) |
|
3.5 Permission and Intent-Based Static Detection |
|
|
31 | (9) |
|
3.5.1 Permission analysis |
|
|
31 | (1) |
|
3.5.1.1 Permissions used by the malware applications |
|
|
32 | (2) |
|
3.5.1.2 Component-based permission escalation attack |
|
|
34 | (2) |
|
3.5.2 Intent-based analysis |
|
|
36 | (1) |
|
3.5.2.1 Intents used for malware attacks |
|
|
36 | (2) |
|
3.5.2.2 Intent-based vulnerabilities |
|
|
38 | (1) |
|
3.5.3 Malware detection using permissions and intents |
|
|
39 | (1) |
|
3.6 Opcode-Based Static Detection |
|
|
40 | (1) |
|
3.6.1 Malware detection using opcodes |
|
|
40 | (1) |
|
|
41 | (2) |
|
4 Dynamic and Hybrid Malware Detection |
|
|
43 | (26) |
|
4.1 Emulator-Based Dynamic Analysis |
|
|
43 | (1) |
|
4.2 Dynamic Malware Detection Mechanisms |
|
|
44 | (6) |
|
4.2.1 System metric and traffic analysis (Category 1) |
|
|
44 | (2) |
|
4.2.2 Network packet analysis (Category 2) |
|
|
46 | (1) |
|
4.2.3 Sensitive API call analysis (Category 3) |
|
|
46 | (1) |
|
4.2.4 System call analysis (Category 4) |
|
|
47 | (1) |
|
4.2.4.1 System call frequency or TF-IDF-based methods |
|
|
47 | (1) |
|
4.2.4.2 System call dependency graph or markov chain-based methods |
|
|
48 | (1) |
|
4.2.4.3 System call phylogeny-based methods |
|
|
49 | (1) |
|
4.2.4.4 System call behavior or sequence analysis-based methods |
|
|
49 | (1) |
|
|
50 | (2) |
|
4.3.1 Hybrid detection based on a single classifier (Category 1) |
|
|
50 | (1) |
|
4.3.2 Hybrid detection based on ensemble classifiers (Category 2) |
|
|
51 | (1) |
|
4.4 Correlation Among Static and Dynamic Features |
|
|
52 | (1) |
|
4.4.1 Tree augmented Naive Bayes (TAN) model |
|
|
52 | (1) |
|
4.5 Hybrid Analysis with TAN Classifier |
|
|
53 | (6) |
|
4.5.1 Dependencies among API calls, permission and system calls |
|
|
54 | (1) |
|
4.5.2 Ridge regularized logistic regression (RRLR) |
|
|
54 | (2) |
|
4.5.3 Probability estimation |
|
|
56 | (1) |
|
|
56 | (1) |
|
4.5.4.1 App permission analysis |
|
|
57 | (1) |
|
4.5.4.2 Static API function call analysis |
|
|
57 | (1) |
|
4.5.4.3 System call analysis |
|
|
58 | (1) |
|
4.5.5 Malware detection using TAN-based model |
|
|
58 | (1) |
|
4.6 Experiments and Analysis |
|
|
59 | (6) |
|
|
60 | (2) |
|
4.6.1.1 Estimation of threshold for Xi, E2.-43 |
|
|
62 | (1) |
|
4.6.1.2 Conditional probability estimation |
|
|
62 | (2) |
|
|
64 | (1) |
|
|
65 | (4) |
|
5 Detection Using Graph Centrality Measures |
|
|
69 | (10) |
|
5.1 Digraph from System Call Sequence |
|
|
70 | (1) |
|
5.2 Centrality Measures from System Call Digraph |
|
|
71 | (3) |
|
5.3 Malware Detection Phase |
|
|
74 | (1) |
|
5.4 Experiments and Analysis |
|
|
75 | (3) |
|
|
75 | (1) |
|
5.4.2 Performance results |
|
|
76 | (2) |
|
|
78 | (1) |
|
6 Graph Convolutional Network for Detection |
|
|
79 | (12) |
|
|
79 | (1) |
|
6.2 GCN-Based Malware Detection |
|
|
80 | (5) |
|
6.2.1 System call graph construction |
|
|
80 | (3) |
|
6.2.2 GCN for low dimensional feature representation |
|
|
83 | (1) |
|
|
84 | (1) |
|
6.2.4 System call graph classification using GCN |
|
|
85 | (1) |
|
6.3 Experiments and Analysis |
|
|
85 | (3) |
|
6.3.1 Implementation details |
|
|
86 | (2) |
|
6.4 Detection of Emerging Malware |
|
|
88 | (1) |
|
|
89 | (2) |
|
7 Graph Signal Processing-Based Detection |
|
|
91 | (12) |
|
7.1 Graph Signal Processing and Its Applications |
|
|
91 | (1) |
|
7.2 Graph Signals from System Call Sequence |
|
|
92 | (3) |
|
7.3 Machine Learning Classification for Malware Detection |
|
|
95 | (2) |
|
7.3.1 Construction of low-dimensional feature vectors |
|
|
96 | (1) |
|
7.4 Experiments and Analysis |
|
|
97 | (3) |
|
|
97 | (2) |
|
7.4.2 Performance analysis with various ML classifiers |
|
|
99 | (1) |
|
7.5 Miscellaneous Operations on Graph Signals |
|
|
100 | (1) |
|
|
100 | (3) |
|
8 System Call Pattern-Based Detection |
|
|
103 | (12) |
|
8.1 Extraction of Patterns From System Call Sequences |
|
|
103 | (3) |
|
8.1.1 Representing system call sequence as ergodic Markov chain |
|
|
104 | (1) |
|
8.1.2 Computation of information in system call sequence |
|
|
104 | (1) |
|
8.1.3 Identification of system call patterns |
|
|
105 | (1) |
|
8.2 System call patterns in Walkinwat trojan |
|
|
106 | (2) |
|
8.3 Malware Detection and Classification Based on System Call Patterns |
|
|
108 | (2) |
|
8.4 Experiments and Analysis |
|
|
110 | (3) |
|
|
113 | (2) |
|
9 Conclusions and Future Directions |
|
|
115 | (4) |
|
9.1 Recent Malware Attacks |
|
|
115 | (1) |
|
9.2 Identifying Exploitation Attacks |
|
|
116 | (1) |
|
9.3 Mitigating Emulator Evasion and Code Coverage Problem |
|
|
117 | (1) |
|
9.4 Resilience to the Change in System Call Sequence |
|
|
118 | (1) |
|
|
118 | (1) |
Appendix |
|
119 | (34) |
Bibliography |
|
153 | (20) |
Index |
|
173 | |