內容簡介

本書由業界知名安全技術人員撰寫,系統介紹了逆向工程反病毒軟件。主要內容包括:反病毒軟件所采納的各種具體手段,攻擊和利用殺毒軟件的多種常見方法,殺毒軟件市場現狀以及未來市場預估。

本書是逆向工程師、滲透測試工程師、安全技術人員和軟件開發人員的必讀指南。

Joxean Koret
逆向工程、漏洞研究和惡意軟件分析領域知名專家,安全咨詢公司Coseinc安全研究員,經常受邀在國際性安全會議上做演講。

Elias Bachaalany
安全專家,微軟軟件安全工程師,曾做過程序員、逆向工程師、自由技術寫作者;另與人合着有《逆向工程實戰》。
 

目錄

第一部分 反病毒技術入門
第1章 反病毒軟件入門 2
1.1 何謂反病毒軟件 2
1.2 反病毒軟件的歷史與現狀 2
1.3 反病毒掃描器、內核和產品 3
1.4 反病毒軟件的典型誤區 4
1.5 反病毒軟件功能 5
1.5.1 基礎功能 5
1.5.2 高級功能 8
1.6 總結 10
第2章 逆向工程核心 11
2.1 逆向分析工具 11
2.1.1 命令行工具與GUI工具 11
2.1.2 調試符號 12
2.1.3 提取調試符號的技巧 13
2.2 調試技巧 16
2.3 移植內核 22
2.4 實戰案例:為Linux版Avast編寫Python binding 23
2.4.1 Linux版Avast簡介 23
2.4.2 為Linux版Avast編寫簡單的Python binding 25
2.4.3 Python binding的最終版本 30
2.5 實戰案例:為Linux版Comodo編寫本機C/C++工具 30
2.6 內核加載的其他部分 46
2.7 總結 47
第3章 插件系統 48
3.1 插件加載原理 48
3.1.1 反病毒軟件的全功能鏈接器 49
3.1.2 理解動態加載 49
3.1.3 插件打包方式的利弊 50
3.2 反病毒插件的種類 52
3.2.1 掃描器和通用偵測程序 52
3.2.2 支持文件格式和協議 53
3.2.3 啟發式檢測 54
3.3 高級插件 57
3.3.1 內存掃描器 57
3.3.2 非本機代碼 58
3.3.3 腳本語言 59
3.3.4 模擬器 60
3.4 總結 61
第4章 反病毒特征碼技術 62
4.1 典型特征碼 62
4.1.1 字節流 62
4.1.2 校驗和 63
4.1.3 定制的校驗和 63
4.1.4 加密散列算法 64
4.2 高級特征碼 64
4.2.1 模糊散列算法 65
4.2.2 基於程序圖的可執行文件散列算法 66
4.3 總結 68
第5章 反病毒軟件的更新系統 69
5.1 理解更新協議 69
5.1.1 支持SSL/TLS 70
5.1.2 驗證更新文件 71
5.2 剖析更新協議 72
5.3 錯誤的保護 79
5.4 總結 79
第二部分 繞過反病毒軟件
第6章 繞過反病毒軟件 82
6.1 誰會使用反病毒軟件的繞過技術 82
6.2 探究反病毒軟件偵測惡意軟件的方式 83
6.2.1 用於偵測惡意軟件的老把戲:分治算法 83
6.2.2 二進制指令和污點分析 88
6.3 總結 89
第7章 繞過特征碼識別 90
7.1 文件格式:偏門案例和無文檔說明案例 90
7.2 繞過現實中的特征碼 91
7.3 繞過特定文件格式的相關提示和技巧 96
7.3.1 PE文件 96
7.3.2 JavaScript 98
7.3.3 PDF 100
7.4 總結 102
第8章 繞過掃描器 104
8.1 繞過技術的通用提示和策略 104
8.1.1 識別分析模擬器 105
8.1.2 高級繞過技巧 106
8.2 自動化繞過掃描器 117
8.2.1 初始步驟 117
8.2.2 MultiAV配置 121
8.2.3 peCloak 125
8.2.4 編寫終極工具 126
8.3 總結 128
第9章 繞過啟發式引擎 130
9.1 啟發式引擎種類 130
9.1.1 靜態啟發式引擎 130
9.1.2 繞過簡單的靜態啟發式引擎 131
9.1.3 動態啟發式引擎 137
9.2 總結 142
第10章 確定攻擊面 144
10.1 理解本地攻擊面 145
10.1.1 查找文件和系統目錄權限的弱點 145
10.1.2 權限提升 146
10.2 錯誤的訪問控制列表 146
10.2.1 在Unix平台上利用SUID和SGID二進制文件漏洞 148
10.2.2 程序和二進制文件的ASLR和DEP保護 149
10.2.3 利用Windows對象的錯誤權限 151
10.2.4 利用邏輯缺陷 153
10.3 理解遠程攻擊面 155
10.3.1 文件解析器 155
10.3.2 通用偵測和感染文件修復代碼 156
10.3.3 網絡服務、管理面板和控制台 156
10.3.4 防火牆、入侵監測系統和解析器 157
10.3.5 更新服務 157
10.3.6 瀏覽器插件 157
10.3.7 安全增強軟件 158
10.4 總結 159
第11章 拒絕服務攻擊 161
11.1 本地拒絕服務攻擊 161
11.1.1 壓縮炸彈 162
11.1.2 文件格式解析器中的缺陷 165
11.1.3 攻擊內核驅動 165
11.2 遠程拒絕服務攻擊 166
11.2.1 壓縮炸彈 166
11.2.2 文件格式解析器中的缺陷 167
11.3 總結 167
第三部分 分析與攻擊
第12章 靜態分析 170
12.1 手動二進制審計 170
12.1.1 文件格式解析器 170
12.1.2 遠程服務 177
12.2 總結 181
第13章 動態分析 182
13.1 模糊測試 182
13.1.1 模糊測試工具是什麼 182
13.1.2 簡單的模糊測試 183
13.1.3 對反病毒產品的自動化模糊測試 185
13.1.4 找到好的模糊測試模版 192
13.1.5 查找模版文件 194
13.1.6 使代碼覆蓋率最大化 196
13.1.7 模糊測試套組Nightmare 201
13.2 總結 207
第14章 本地攻擊 209
14.1 利用后門和隱藏功能 209
14.2 挖掘非法特權、權限分配和訪問控制列表 213
14.3 在內核態查找隱蔽的功能特性 217
14.4 更多的內核邏輯漏洞 223
14.5 總結 231
第15章 遠程漏洞 233
15.1 實施客戶端漏洞利用攻擊 233
15.1.1 利用沙盒的缺陷 233
15.1.2 利用ASLR、DEP和位於固定地址的RWX頁面漏洞 234
15.1.3 編寫復雜的payload 235
15.1.4 利用更新服務中的漏洞 240
15.2 服務器端的漏洞利用 248
15.2.1 客戶端和服務器端漏洞利用的區別 248
15.2.2 利用ASLR、DEP和地址固定的RWX內存頁面相關漏洞 249
15.3 總結 249
第四部分 當前趨勢與建議
第16章 當前反病毒防護趨勢 252
16.1 匹配攻擊技術與目標 252
16.1.1 多種多樣的反病毒產品 252
16.1.2 針對家庭用戶 253
16.1.3 針對中小型公司 254
16.2 針對政府機構和大型公司 254
16.3 總結 255
第17章 一些建議和未來展望 256
17.1 給反病毒軟件用戶的建議 256
17.1.1 盲目信任是錯誤的 256
17.1.2 隔離機器來增強防護 260
17.1.3 審計反病毒產品 261
17.2 給反病毒廠商的建議 261
17.2.1 優秀的工程師並不代表安全 261
17.2.2 利用反病毒軟件的漏洞很簡單 262
17.2.3 進行審計 262
17.2.4 模糊測試 262
17.2.5 安全地使用權限 263
17.2.6 減少解析器中的危險代碼 263
17.2.7 改進升級服務和協議的安全性 264
17.2.8 刪除或禁用舊代碼 264
17.3 總結 265
網路書店 類別 折扣 價格
  1. 新書
    87
    $412