黑客攻防技術寶典:反病毒篇( The Antivirus Hacker's Handbook)
內容描述
本書由業界知名安全技術人員撰寫,系統介紹了逆向工程反病毒軟件。主要內容包括:反病毒軟件所採納的各種具體手段,攻擊和利用殺毒軟件的多種常見方法,殺毒軟件市場現狀以及未來市場預估。
本書是逆向工程師、滲透測試工程師、安全技術人員和軟件開發人員的必讀指南。
目錄大綱
第一部分反病毒技術入門
第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繞過現實中的特徵碼9 1
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盲目信任是錯誤的2 56
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
作者介紹
作者:[西]霍克西恩·科雷特(Joxean Koret),[美]埃利亞斯·巴沙拉尼(Elias Bachaalany)譯者:周雨陽
【作者簡介】
Joxean Koret
逆向工程、漏洞研究和惡意軟件分析領域知名專家,安全諮詢公司Coseinc安全研究員,經常受邀在國際性安全會議上做演講。
Elias Bachaalany
安全專家,微軟軟件安全工程師,曾做過程序員、逆向工程師、自由技術寫作者;另與人合著有《逆向工程實戰》。
【譯者簡介】
周雨陽
安全研究員,喜愛英語翻譯。研究方向主要為反病毒技術、瀏覽器安全、Web安全,曾挖掘出谷歌、蘋果、雅虎等多個廠商的漏洞並獲得致謝。目前就職於騰訊安全平台部。