本書首先介紹使用Python及其庫的網絡安全ML的基礎知識。 您將探索各種ML域(例如時間序列分析和集成建模)以使您的基礎正確。您將實施各種示例,例如構建系統以識別惡意URL,以及建立ptogram以檢測欺詐性電子郵件和垃圾郵件。 稍后,您將學習如何有效利用K-means算法開發解決方案,以檢測并提醒您網絡中的任何惡意活動,還要學習如何實施生物識別和指紋來驗證用戶是合法還是否。
*后,您將了解我們如何使用TensorFlow更改游戲,并了解深度學習如何有效地創建模型和培訓系統。
前言
作者簡介
審校者簡介
第1章 網絡安全中機器學習的基礎知識 1
1.1 什么是機器學習 1
1.1.1 機器學習要解決的問題 2
1.1.2 為什么在網絡安全中使用機器學習 3
1.1.3 目前的網絡安全解決方案 3
1.1.4 機器學習中的數據 4
1.1.5 不同類型的機器學習算法 7
1.1.6 機器學習中的算法 12
1.1.7 機器學習架構 13
1.1.8 機器學習實踐 18
1.2 總結 27
第2章 時間序列分析和集成建模 28
2.1 什么是時間序列 28
2.2 時間序列模型的類型 32
2.2.1 隨機時間序列模型 32
2.2.2 人工神經網絡時間序列模型 32
2.2.3 支持向量時間序列模型 33
2.2.4 時間序列組件 33
2.3 時間序列分解 33
2.3.1 級別 33
2.3.2 趨勢 34
2.3.3 季節性 34
2.3.4 噪聲 34
2.4 時間序列用例 36
2.4.1 信號處理 36
2.4.2 股市預測 37
2.4.3 天氣預報 38
2.4.4 偵察檢測 38
2.5 網絡安全中的時間序列分析 39
2.6 時間序列趨勢和季節性峰值 39
2.6.1 用時間序列檢測分布式拒絕服務 39
2.6.2 處理時間序列中的時間元素 40
2.6.3 解決用例問題 41
2.6.4 導入包 41
2.6.5 特征計算 43
2.7 預測DDoS攻擊 45
2.7.1 ARMA 45
2.7.2 ARIMA 46
2.7.3 ARFIMA 46
2.8 集成學習方法 47
2.8.1 集成學習的類型 47
2.8.2 集成算法的類型 49
2.8.3 集成技術在網絡安全中的應用 50
2.9 用投票集成方法檢測網絡攻擊 50
2.10 總結 51
第3章 鑒別合法和惡意的URL 52
3.1 URL中的異常類型介紹 53
3.2 使用啟發式方法檢測惡意網頁 56
3.2.1 分析數據 56
3.2.2 特征提取 57
3.3 使用機器學習方法檢測惡意URL 62
3.3.1 用于檢測惡意URL的邏輯回歸 62
3.3.2 用于檢測惡意URL的支持向量機 67
3.3.3 用于URL分類的多類別分類 68
3.4 總結 69
第4章 破解驗證碼 70
4.1 驗證碼的特點 70
4.2 使用人工智能破解驗證碼 71
4.2.1 驗證碼的類型 71
4.2.2 reCAPTCHA 73
4.2.3 破解驗證碼 73
4.2.4 用神經網絡破解驗證碼 74
4.2.5 代碼 76
4.3 總結 81
第5章 使用數據科學捕獲電子郵件詐騙和垃圾郵件 82
5.1 電子郵件詐騙 82
5.1.1 虛假售賣 83
5.1.2 請求幫助 83
5.1.3 垃圾郵件的類型 85
5.2 垃圾郵件檢測 88
5.2.1 郵件服務器類型 88
5.2.2 郵件服務器的數據采集 89
5.2.3 使用樸素貝葉斯定理檢測垃圾郵件 91
5.2.4 拉普拉斯平滑處理 93
5.2.5 將基于文本的郵件轉換為數值的特征化技術 93
5.2.6 邏輯回歸垃圾郵件過濾器 94
5.3 總結 96
第6章 使用k-means算法進行高效的網絡異常檢測 97
6.1 網絡攻擊的階段 98
6.1.1 第1階段:偵察 98
6.1.2 第2階段:初始攻擊 98
6.1.3 第3階段:命令和控制 98
6.1.4 第4階段:內網漫游 98
6.1.5 第5階段:目標獲得 98
6.1.6 第6階段:滲透、侵蝕和干擾 99
6.2 應對網絡中的內網漫游 99
6.3 使用Windows事件日志檢測網絡異常 100
6.3.1 登錄/注銷事件 100
6.3.2 賬戶登錄事件 100
6.3.3 對象訪問事件 102
6.3.4 賬戶管理事件 102
6.4 獲取活動目錄數據 104
6.5 數據解析 104
6.6 建模 105
6.7 用k-means算法檢測網絡中的異常 107
6.8 總結 122
第7章 決策樹和基于上下文的惡意事件檢測 123
7.1 惡意軟件 123
7.1.1 廣告軟件 123
7.1.2 機器人 124
7.1.3 軟件錯誤 124
7.1.4 勒索軟件 124
7.1.5 rootkit 124
7.1.6 間諜軟件 124
7.1.7 特洛伊木馬 125
7.1.8 病毒 125
7.1.9 蠕蟲 125
7.2 惡意注入 125
7.2.1 數據庫中的惡意數據注入 125
7.2.2 無線傳感器中的惡意注入 125
7.2.3 用例 126
7.3 使用決策樹檢測惡意URL 136
7.4 總結 141
第8章 抓住偽裝者和黑客 142
8.1 理解偽裝 142
8.2 偽裝欺詐的不同類型 143
8.2.1 偽裝者收集信息 144
8.2.2 構建偽裝攻擊 144
8.3 萊文斯坦距離 145
8.3.1 檢查惡意URL間的域名相似性 145
8.3.2 作者歸屬 146
8.3.3 測試數據集和驗證數據集之間的差異 148
8.3.4 用于多項式模型的樸素貝葉斯分類器 150
8.3.5 入侵檢測方法:偽裝識別 152
8.4 總結 161
第9章 用TensorFlow實現入侵檢測 162
9.1 TensorFlow簡介 162
9.2 TensorFlow安裝 164
9.3 適合Windows用戶的TensorFlow 165
9.4 用TensorFlow實現“Hello World” 165
9.5 導入MNIST數據集 165
9.6 計算圖 166
9.7 張量處理單元 166
9.8 使用TensorFlow進行入侵檢測 166
9.9 總結 185
第10章 深度學習如何減少金融詐騙 186
10.1 利用機器學習檢測金融詐騙 186
10.1.1 非均衡數據 187
10.1.2 處理非均衡數據集 188
10.1.3 檢測信用卡詐騙 188
10.2 邏輯回歸分類器:欠采樣數據 192
10.2.1 超參數調整 194
10.2.2 邏輯回歸分類器—偏斜數據 199
10.2.3 研究精確率-召回率曲線和曲線下面積 202
10.3 深度學習時間 204
10.4 總結 207
第11章 案例研究 208
11.1 我們的密碼數據集簡介 209
11.1.1 文本特征提取 210
11.1.2 使用scikit-learn進行特征提取 214
11.1.3 使用余弦相似度量化弱密碼 223
11.1.4 組合 226
11.2 總結 228