Web 安全之強化學習與 GAN
內容描述
本書是作者AI安全領域三部曲的第三部,重點介紹強化學習和生成對抗網絡的基礎知識和實際應用,特別是在安全領域中攻防建設的實際應用。全書共14章,從AI安全攻防的基礎知識,到智能工具的打造,全面介紹如何使用AI做安全建設的方法。內容包括如何衡量機器學習算法的性能以及集成學習的基本知識,強化學習中單智能體的強化學習,Keras下強化學習算法的一種實現:Keras-rl,強化學習領域經常使用的OpenAIGym環境;基於機器學習的惡意程序識別技術以及常見的惡意程序免殺方法,如何使用強化學習生成免殺程序,並進一步提升殺毒軟件的檢測能力,提升WAF的防護能力,提升反垃圾郵件的檢測能力;生成對抗網絡的基礎知識,以及針對機器學習、強化學習的幾種攻擊方式。
目錄大綱
前言
第1章AI安全之攻與防1
1.1 AI設備的安全2
1.2 AI模型的安全3
1.3使用AI進行安全建設4
1.4使用AI進行攻擊9
1.5本章小結9
第2章打造機器學習工具箱11
2.1 TensorFlow11
2.2 Keras13
2.3 Anaconda14
2.4 OpenAI Gym19
2.5 Keras—rl19
2.6 XGBoost19
2.7 GPU服務器20
2.8本章小結23
第3章性能衡量與集成學習24
3.1常見性能衡量指標24
3.1.1測試數據24
3.1. 2混淆矩陣25
3.1.3準確率與召回率25
3.1.4準確度與F1—Score26
3.1.5 ROC與AUC27
3.2集成學習28
3.2.1 Boosting算法29
3.2.2 Bagging算法31
3.3本章小結32
第4章Keras基礎知識34
4.1 Keras簡介34
4.2 Keras常用模型35
4.2.1序列模型35
4.2.2函數式模型35
4.3 Keras的網絡層36
4.3.1模型可視化36
4.3.2常用層38
4.3.3損失函數44
4.3.4優化器44
4.3.5模型的保存與加載45
4.3.6基於全連接識別MNIST45
4.3.7卷積層和池化層47
4.3.8基於卷積識別MNIST49
4.3.9循環層49
4.3.10基於LSTM進行IMDB情感分類52
4.4本章小結54
第5章單智力體強化學習55
5.1馬爾可夫決策過程55
5.2 Q函數56
5.3貪婪算法與—貪婪算法57
5.4 Sarsa算法59
案例5—1:使用Sarsa算法處理金幣問題60
5.5 Q Learning算法62
案例5 —2:使用Q Learning算法處理金幣問題63
5.6 Deep Q Network算法64
案例5—3:使用DQN算法處理CartPole問題65
5.7本章小結71
第6章Keras—rl簡介72
6.1 Keras—rl智能體介紹73
6.2 Keras—rl智能體通用API73
6.3 Keras—rl常用對象75
案例6—1:在Keras—rl下使用SARSA算法處理CartPole問題75
案例6—2:在Keras—rl下使用DQN算法處理CartPole問題77
案例6—3:在Keras—rl下使用DQN算法玩Atari遊戲78
6.4本章小結86
第7章OpenAI Gym簡介87
7.1 OpenAI87
7.2 OpenAI Gym88
7.3 Hello World!OpenAI Gym89
7.4編寫OpenAI Gym環境92
7.5本章小結98
第8章惡意程序檢測99
8.1 PE文件格式概述100
8.2 PE文件的節104
8.3 PE文件特徵提取107
8.4 PE文件節的特徵提取119
8.5檢測模型121
8.6本章小結129
第9章惡意程序免殺技術130
9.1 LIEF庫簡介130
9.2文件末尾追加隨機內容132
9.3追加導入表132
9.4改變節名稱133
9.5增加節134
9.6節內追加內容135
9.7 UPX加殼135
9.8刪除簽名137
9.9刪除debug信息138
9.10置空可選頭的交驗和138
9.11本章小結138
第10章智能提升惡意程序檢測能力139
10.1 Gym—Malware簡介139
10.2 Gym—Malware架構141
10.2.1 PEFeatureExtractor141
10.2.2 Interface143
10.2.3 MalwareManipulator143
10.2.4 DQNAgent144
10.2.5 MalwareEnv145
10.3惡意程序樣本148
10.4本章小結149
第11章智能提升WAF的防護能力150
11.1常見XSS攻擊方式151
11.2常見XSS防禦方式152
11.3常見XSS繞過方式153
11.4 Gym—WAF架構155
11.4.1 Features類156
11.4.2 Xss_Manipulator類156
11.4. 3 DQNAgent類160
11.4.4 WafEnv_v0類161
11.4.5 Waf_Check類162
11.5效果驗證163
11.6本章小結164
第12章智能提升垃圾郵件檢測能力165
12.1垃圾郵件檢測技術166
12.1.1數據集166
12.1.2特徵提取168
12.1.3模型訓練與效果驗證171
12.1.4模型的使用172
12.2垃圾郵件檢測繞過技術173
12.2.1隨機增加TAB174
12.2.2隨機增加回車174
12.2.3大小寫混淆175
12.2.4隨機增加換行符175
12.2.5隨機增加連字符176
12.2.6使用錯別字176
12.3 Gym—Spam架構177
12.3.1 Features類178
12.3.2 Spam_Manipulator類178
12.3.3 DQNAgent類179
12.3.4 SpamEnv_v0類181
12.4效果驗證182
12.5本章小結183
第13章生成對抗網絡184
13.1 GAN基本原理184
13.2 GAN系統架構185
13.2.1噪音源185
13.2.2 Generator186
13.2.3 Discriminator187
13.2.4對抗模型188
13.3 GAN188
13.4 DCGAN194
13.5 ACGAN202
13.6 WGAN210
13.7本章小結217
第14章攻擊機器學習模型218
14.1攻擊圖像分類模型218
14.1.1常見圖像分類模型219
14.1.2梯度算法和損失函數222
14.1.3基於梯度上升的攻擊原理224
14.1.4基於梯度上升的算法實現226
14.1.5基於FGSM的攻擊原理228
14.1.6基於FGSM攻擊的算法實現229
14.2攻擊其他模型231
案例14—1:攻擊手寫數字識別模型233
案例14—2:攻擊自編碼器240
案例14—3:攻擊差分自編碼器249
14.3本章小結262
作者介紹
劉焱百度安全Web防護產品線負責人,負責百度安全Web安全產品,包括防DDoS、Web應用防火牆、Web威脅感知、服務器安全以及安全數據分析等,具有近十年雲安全及企業安全從業經歷,全程參與了百度企業安全建設。研究興趣包括機器學習、Web安全、殭屍網絡、威脅情報等。他是FreeBuf專欄作家、i春秋知名講師,多次在OWASP 、電子學會年會等發表演講,參與編寫了《大數據安全標準白皮書》。他還建立了微信公眾號:“兜哥帶你學安全”,發布了大量信息安全技術知識。