本书首先介绍使用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