伴隨惡意代碼種類和數(shù)量的不斷增加,對惡意代碼分析方法提出更高要求,在傳統(tǒng)的特征碼檢測方法與啟發(fā)式檢測方法存在樣本分析成本過高、無法有效檢測未知惡意軟件等問題;新型基于機器學習的惡意軟件檢測方法能夠提高分析效率以及改善未知惡意軟件檢測性能,但存在軟件特征語義信息不明顯、特征數(shù)量龐大以及檢測模型過度依賴訓練樣本等缺點。另一方面,對于感染后宿主軟件中惡意注入代碼的局部識別方面,現(xiàn)有技術有較高的惡意代碼分析成本,且無法對未知感染的結果進行有效識別。本文重點以各類操作系統(tǒng)可執(zhí)行代碼為研究對象,提出的新方法能夠在一定程度上解決惡意代碼分析中所需要的通用化要求,為降低惡意代碼分析成本、提高分析效率以及應對未知惡意代碼提供新的解決方案。
更多科學出版社服務,請掃碼獲取。
目錄
《信息科學技術學術著作叢書》序
前言
第1章 二進制可執(zhí)行文件簡介 1
1.1 Windows PE文件 1
1.1.1 PE文件結構 1
1.1.2 PE文件頭結構 3
1.1.3 PE導入表 6
1.1.4 PE資源表 7
1.1.5 PE地址變換 10
1.1.6 PE重定位機制 10
1.1.7 PE文件變形機制 12
1.2 Linux ELF文件 14
1.2.1 ELF結構 14
1.2.2 ELF頭結構 15
1.2.3 ELF節(jié)區(qū) 16
1.2.4 ELF字符串表 17
1.2.5 ELF符號表 18
1.2.6 ELF重定位機制 19
1.2.7 ELF動態(tài)鏈接機制 20
1.3 Android DEX文件 21
1.3.1 Android系統(tǒng)結構 22
1.3.2 Android DEX結構 25
1.3.3 Android ODEX結構 27
1.3.4 Android權限機制 27
參考文獻 29
第2章 惡意軟件檢測基礎 30
2.1 惡意軟件抽象理論 30
2.2 機器學習基礎 34
2.2.1 機器學習簡介 34
2.2.2 分類算法 36
2.2.3 集成學習 38
2.2.4 特征選擇與特征提取 43
2.2.5 性能評價 44
2.2.6 WEKA簡介 46
2.3 本章小結 47
參考文獻 48
第3章 加殼技術研究 50
3.1 引言 50
3.2 加殼原理 51
3.2.1 ELF文件的加載過程 51
3.2.2 加殼的方式 53
3.2.3 用戶空間下加載器的設計 56
3.3 反跟蹤技術 58
3.3.1 反調(diào)試技術 58
3.3.2 代碼混淆技術 61
3.3.3 抗反匯編技術 63
3.4 本章小結 65
參考文獻 66
第4章 加殼檢測研究 67
4.1 引言 67
4.2 加殼檢測常用方法 68
4.2.1 研究現(xiàn)狀 68
4.2.2 常用方法歸納 69
4.3 基于機器學習的加殼檢測框架 78
4.4 PE文件加殼檢測 81
4.4.1 PE文件特征提取 81
4.4.2 PE加殼檢測實驗及分析 83
4.5 ELF文件加殼檢測 84
4.5.1 ELF文件特征提取 84
4.5.2 ELF加殼檢測實驗及分析 85
4.6 本章小結 85
參考文獻 86
第5章 基于函數(shù)調(diào)用圖簽名的惡意軟件檢測方法 87
5.1 引言 87
5.2 相關工作 88
5.3 定義 91
5.4 圖同構算法 93
5.4.1 基于矩陣變換的圖同構算法 93
5.4.2 Ullmann圖同構算法 94
5.4.3 VF2圖同構算法 95
5.4.4 FCGiso圖同構算法 96
5.5 檢測方法框架 97
5.5.1 檢測方法概覽 97
5.5.2 檢測方法詳細描述 98
5.6 實驗 100
5.6.1 已知惡意軟件檢測 101
5.6.2 加殼變種檢測 104
5.6.3 惡意軟件變種檢測 105
5.6.4 惡意軟件大樣本歸類 106
5.6.5 與圖編輯距離方法的對比 107
5.7 實驗結果與分析 109
5.8 本章小結 111
參考文獻 111
第6章 基于挖掘格式信息的惡意軟件檢測方法 114
6.1 引言 114
6.2 相關工作 116
6.3 檢測架構 118
6.4 實驗 119
6.4.1 實驗樣本 119
6.4.2 特征提取 119
6.4.3 特征選擇 120
6.4.4 分類學習 121
6.5 實驗結果與分析 121
6.5.1 實驗1結果 121
6.5.2 實驗2結果 121
6.5.3 結果分析 122
6.5.4 特征分析 123
6.6 基于ELF格式結構信息的惡意軟件檢測方法 126
6.6.1 實驗樣本 127
6.6.2 提取特征 127
6.6.3 特征選擇 128
6.6.4 實驗結果 129
6.7 與現(xiàn)有靜態(tài)方法對比 130
6.8 本章小結 131
參考文獻 132
第7章 基于控制流結構體的惡意軟件檢測方法 133
7.1 引言 133
7.2 相關工作 134
7.3 操作碼序列構造原理 135
7.3.1 操作碼信息描述 136
7.3.2 操作碼序列劃分 137
7.4 特征選 擇140
7.5 惡意軟件檢測模型 143
7.6 實驗結果與分析 145
7.6.1 實驗環(huán)境介紹 145
7.6.2 特征數(shù)量比較 146
7.6.3 惡意軟件檢測性能比較 147
7.7 本章小結 150
參考文獻 151
第8章 基于控制流圖特征的惡意軟件檢測方法 152
8.1 引言 152
8.2 相關工作 152
8.3 軟件控制流圖 153
8.3.1 基于單條指令的控制流圖 154
8.3.2 基于指令序列的控制流圖 155
8.3.3 基于函數(shù)的控制流圖 155
8.3.4 基于系統(tǒng)調(diào)用的控制流圖 156
8.4 基于函數(shù)調(diào)用圖的軟件特征 157
8.4.1 函數(shù)調(diào)用圖構造 157
8.4.2 特征選擇 158
8.4.3 特征分析 162
8.5 語義特征和語法特征的比較 163
8.6 實驗結果與分析 164
8.6.1 函數(shù)調(diào)用圖中軟件特征評價 165
8.6.2 分類器交叉驗證 166
8.6.3 獨立驗證 167
8.7 本章小結 169
參考文獻 170
第9章 軟件局部惡意代碼識別研究 172
9.1 引言 172
9.2 相關工作 173
9.3 惡意代碼感染技術 175
9.3.1 修改程序控制流 175
9.3.2 惡意注入代碼存儲位置 177
9.4 惡意代碼段識別 178
9.4.1 控制流結構異常表現(xiàn) 179
9.4.2 控制流基本結構BasicBlock識別 179
9.4.3 BasicBlock之間的聯(lián)系 182
9.4.4 控制流基本結構合并 184
9.4.5 惡意代碼邊界識別 185
9.5 實驗結果與分析 186
9.5.1 添加代碼型感染方式的檢測 187
9.5.2 覆蓋代碼型感染方式的檢測 187
9.6 本章小結 189
參考文獻 190
第10章 基于多視集成學習的惡意軟件檢測方法 191
10.1 引言 191
10.2 相關工作 192
10.3 實驗概覽 195
10.4 實驗與結果 195
10.4.1 實驗樣本 195
10.4.2 單視特征提取 196
10.4.3 集成方案一 203
10.4.4 集成方案二 205
10.4.5 泛化性能對比 207
10.5 實驗結果對比分析 209
10.6 本章小結 211
參考文獻 212
第11章 基于動態(tài)變長Native API序列的惡意軟件檢測方法 214
11.1 引言 214
11.2 相關工作 215
11.3 Win32 API調(diào)用機制 219
11.4 檢測方法架構 220
11.5 實驗 221
11.5.1 實驗樣本 221
11.5.2 分析平臺搭建 221
11.5.3 特征提取和選擇 225
11.5.4 分類 226
11.6 實驗結果與分析 226
11.6.1 實驗結果分析 226
11.6.2 特征分析 229
11.7 本章小結 232
參考文獻 233
第12章 基于多特征的移動設備惡意代碼檢測方法 235
12.1 引言 235
12.2 相關工作 236
12.3 檢測模型設計 237
12.3.1 檢測模型整體框架 237
12.3.2 惡意代碼特征提取 238
12.4 實驗與分析 240
12.4.1 實驗樣本準備 240
12.4.2 實驗主要算法 240
12.4.3 實驗結果分析 242
12.4.4 實驗結論 243
12.5 本章小結 244
參考文獻 244
第13章 基于實際使用的權限組合與系統(tǒng)API的惡意軟件檢測方法 246
13.1 引言 246
13.2 相關工作 247
13.3 檢測架構 248
13.3.1 權限組合特征提取 249
13.3.2 系統(tǒng)API特征提取 252
13.4 實驗與分析 253
13.4.1 實驗樣本 253
13.4.2 實驗環(huán)境 254
13.4.3 實驗結果與分析 254
13.4.4 檢測方法對比 257
13.5 本章小結 260
參考文獻 260
第14章 基于敏感權限及其函數(shù)調(diào)用圖的惡意軟件檢測方法 262
14.1 引言 262
14.2 相關工作 263
14.3 檢測架構 264
14.3.1 提取敏感權限 265
14.3.2 構建函數(shù)調(diào)用圖 266
14.3.3 圖編輯距離算法 269
14.4 實驗與分析 271
14.4.1 實驗樣本 271
14.4.2 實驗環(huán)境 271
14.4.3 實驗結果與分析 272
14.4.4 檢測方法對比 274
14.5 本章小結 275
參考文獻 276
第15章 基于頻繁子圖挖掘的異常入侵檢測新方法 277
15.1 引言 277
15.2 相關工作 279
15.3 基本思想及檢測模型 281
15.4 特征模式構造算法 282
15.4.1 相關概念與定義 282
15.4.2 數(shù)據(jù)預處理 283
15.4.3 子圖特征值設定 285
15.4.4 子圖擴展與剪枝 285
15.4.5 PatternsMining算法實現(xiàn) 286
15.5 實驗數(shù)據(jù)描述 290
15.6 實驗結果與分析 290
15.7 本章小結 293
參考文獻 294