首页
社区
课程
招聘
[推荐]《Web安全之机器学习入门》简介以及目录
2017-10-14 08:06 46428

[推荐]《Web安全之机器学习入门》简介以及目录

2017-10-14 08:06
46428

简介

《Web安全之机器学习入门》是一本零基础学习智能化Web安全技术的指南。该书首先介绍主流的机器学习工具,以及Python应用于机器学习的优势,并介绍Scikit-Learn环境搭建、TensorFlow环境搭建。接着介绍机器学习的基本概念和Web安全基础知识。然后深入讲解几个机器学习算法在Web安全领域的实际应用,如K近邻、决策树、朴素贝叶斯、逻辑回归、支持向量机、K-Means算法、FP-growth、隐式马尔可夫、有向图、神经网络等,还介绍了深度学习算法CNN、RNN。该书针对每一个算法都给出了具体案例,理论结合实际,讲解清晰,文笔幽默,适合有信息安全基础知识的网络开发与运维技术人员参考。

目录

第1章 通向智能安全的旅程 1

1.1 人工智能、机器学习与深度学习 1

1.2 人工智能的发展 2

1.3 国内外网络安全形势 3

1.4 人工智能在安全领域的应用 5

1.5 算法和数据的辩证关系 9

1.6 本章小结 9

参考资源 10

第2章 打造机器学习工具箱 11

2.1 Python在机器学习领域的优势 11

2.1.1 NumPy 11

2.1.2 SciPy 15

2.1.3 NLTK 16

2.1.4 Scikit-Learn 17

2.2 TensorFlow简介与环境搭建 18

2.3 本章小结 19

参考资源 20

第3章 机器学习概述 21

3.1 机器学习基本概念 21

3.2 数据集 22

3.2.1 KDD 99数据 22

3.2.2 HTTP DATASET CSIC 2010 26

3.2.3 SEA数据集 26

3.2.4 ADFA-LD数据集 27

3.2.5 Alexa域名数据 29

3.2.6 Scikit-Learn数据集 29

3.2.7 MNIST数据集 30

3.2.8 Movie Review Data 31

3.2.9 SpamBase数据集 32

3.2.10 Enron数据集 33

3.3 特征提取 35

3.3.1 数字型特征提取 35

3.3.2 文本型特征提取 36

3.3.3 数据读取 37

3.4 效果验证 38

3.5 本章小结 40

参考资源 40

第4章 Web安全基础 41

4.1 XSS攻击概述 41

4.1.1 XSS的分类 43

4.1.2 XSS特殊攻击方式 48

4.1.3 XSS平台简介 50

4.1.4 近年典型XSS攻击事件分析 51

4.2 SQL注入概述 53

4.2.1 常见SQL注入攻击 54

4.2.2 常见SQL注入攻击载荷 55

4.2.3 SQL常见工具 56

4.2.4 近年典型SQL注入事件分析 60

4.3 WebShell概述 63

4.3.1 WebShell功能 64

4.3.2 常见WebShell 64

4.4 僵尸网络概述 67

4.4.1 僵尸网络的危害 68

4.4.2 近年典型僵尸网络攻击事件分析 69

4.5 本章小结 72

参考资源 72

第5章 K近邻算法 74

5.1 K近邻算法概述 74

5.2 示例:hello world!K近邻 75

5.3 示例:使用K近邻算法检测异常操作(一) 76

5.4 示例:使用K近邻算法检测异常操作(二) 80

5.5 示例:使用K近邻算法检测Rootkit 81

5.6 示例:使用K近邻算法检测WebShell 83

5.7 本章小结 85

参考资源 86

第6章 决策树与随机森林算法 87

6.1 决策树算法概述 87

6.2 示例:hello world!决策树 88

6.3 示例:使用决策树算法检测POP3暴力破解 89

6.4 示例:使用决策树算法检测FTP暴力破解 91

6.5 随机森林算法概述 93

6.6 示例:hello world!随机森林 93

6.7 示例:使用随机森林算法检测FTP暴力破解 95

6.8 本章小结 96

参考资源 96

第7章 朴素贝叶斯算法 97

7.1 朴素贝叶斯算法概述 97

7.2 示例:hello world!朴素贝叶斯 98

7.3 示例:检测异常操作 99

7.4 示例:检测WebShell(一) 100

7.5 示例:检测WebShell(二) 102

7.6 示例:检测DGA域名 103

7.7 示例:检测针对Apache的DDoS攻击 104

7.8 示例:识别验证码 107

7.9 本章小结 108

参考资源 108

第8章 逻辑回归算法 109

8.1 逻辑回归算法概述 109

8.2 示例:hello world!逻辑回归 110

8.3 示例:使用逻辑回归算法检测Java溢出攻击 111

8.4 示例:识别验证码 113

8.5 本章小结 114

参考资源 114

第9章 支持向量机算法 115

9.1 支持向量机算法概述 115

9.2 示例:hello world!支持向量机 118

9.3 示例:使用支持向量机算法识别XSS 120

9.4 示例:使用支持向量机算法区分僵尸网络DGA家族 124

9.4.1 数据搜集和数据清洗 124

9.4.2 特征化 125

9.4.3 模型验证 129

9.5 本章小结 130

参考资源 130

第10章 K-Means与DBSCAN算法 131

10.1 K-Means算法概述 131

10.2 示例:hello world!K-Means 132

10.3 示例:使用K-Means算法检测DGA域名 133

10.4 DBSCAN算法概述 135

10.5 示例:hello world!DBSCAN 135

10.6 本章小结 137

参考资源 137

第11章 Apriori与FP-growth算法 138

11.1 Apriori算法概述 138

11.2 示例:hello world!Apriori 140

11.3 示例:使用Apriori算法挖掘XSS相关参数 141

11.4 FP-growth算法概述 143

11.5 示例:hello world!FP-growth 144

11.6 示例:使用FP-growth算法挖掘疑似僵尸主机 145

11.7 本章小结 146

参考资源 146

第12章 隐式马尔可夫算法 147

12.1 隐式马尔可夫算法概述 147

12.2 hello world! 隐式马尔可夫 148

12.3 示例:使用隐式马尔可夫算法识别XSS攻击(一) 150

12.4 示例:使用隐式马尔可夫算法识别XSS攻击(二) 153

12.5 示例:使用隐式马尔可夫算法识别DGA域名 159

12.6 本章小结 162

参考资源 162

第13章 图算法与知识图谱 163

13.1 图算法概述 163

13.2 示例:hello world!有向图 164

13.3 示例:使用有向图识别WebShell 169

13.4 示例:使用有向图识别僵尸网络 173

13.5 知识图谱概述 176

13.6 示例:知识图谱在风控领域的应用 177

13.6.1 检测疑似账号被盗 178

13.6.2 检测疑似撞库攻击 179

13.6.3 检测疑似刷单 181

13.7 示例:知识图谱在威胁情报领域的应用 183

13.7.1 挖掘后门文件潜在联系 184

13.7.2 挖掘域名潜在联系 185

13.8 本章小结 187

参考资源 187

第14章 神经网络算法 188

14.1 神经网络算法概述 188

14.2 示例:hello world!神经网络 190

14.3 示例:使用神经网络算法识别验证码 190

14.4 示例:使用神经网络算法检测Java溢出攻击 191

14.5 本章小结 193

参考资源 194

第15章 多层感知机与DNN算法 195

15.1 神经网络与深度学习 195

15.2 TensorFlow编程模型 196

15.2.1 操作 197

15.2.2 张量 197

15.2.3 变量 198

15.2.4 会话 198

15.3 TensorFlow的运行模式 198

15.4 示例:在TensorFlow下识别验证码(一) 199

15.5 示例:在TensorFlow下识别验证码(二) 202

15.6 示例:在TensorFlow下识别验证码(三) 205

15.7 示例:在TensorFlow下识别垃圾邮件(一) 207

15.8 示例:在TensorFlow下识别垃圾邮件(二) 209

15.9 本章小结 210

参考资源 210

第16章 循环神经网络算法 212

16.1 循环神经网络算法概述 212

16.2 示例:识别验证码 213

16.3 示例:识别恶意评论 216

16.4 示例:生成城市名称 220

16.5 示例:识别WebShell 222

16.6 示例:生成常用密码 225

16.7 示例:识别异常操作 227

16.8 本章小结 230

参考资源 230

第17章 卷积神经网络算法 231

17.1 卷积神经网络算法概述 231

17.2 示例:hello world!卷积神经网络 234

17.3 示例:识别恶意评论 235

17.4 示例:识别垃圾邮件 237

17.5 本章小结 240

参考资源 242

京东链接


[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞0
打赏
分享
最新回复 (15)
雪    币: 32408
活跃值: (18760)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
kanxue 8 2017-10-14 10:30
2
0
好书,支持兜哥~
雪    币: 1412
活跃值: (4214)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
IamHuskar 4 2017-10-14 11:08
3
0
不在看雪踩楼送几本???
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wx_兜哥 2017-10-14 11:28
4
0
敬请期待  嘻嘻
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
桂林老农民 2017-10-15 00:20
5
0
好书!
雪    币: 73
活跃值: (27)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
woong 2017-10-16 17:41
6
0
有道理啊
雪    币: 1392
活跃值: (190)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
邪梦 2017-10-16 21:24
7
0
已收藏,谢谢分享,
雪    币: 29
活跃值: (131)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
gdut 2017-10-17 10:45
8
0
刚下单买了一本!
雪    币: 129
活跃值: (174)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Johnherh 2017-10-17 10:47
9
0
好书,期待
雪    币: 187
活跃值: (551)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
Loopher 2017-10-17 14:04
10
0
好像干货很多的样子
雪    币: 29
活跃值: (499)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
万抽抽 2 2017-10-17 15:06
11
0
书已到,书很薄,内容不多,很快过了一遍。简单反馈一下我的看法,仅供参考。
优点:  
        1. 提供了大量现实可用的训练集,免去了漫无头绪找数据的烦恼
        2. 目前绝大部分机器学习算法都有提及,且每个算法的实践示例都是基于安全领域的数据,对于想了解如何应用机器学习知识解决web安全领域问题的同学而言,有一定参考价值,但也仅仅是参考而已,具体原因见后文缺点。

缺点:
        1. 书很薄,有效内容也就200页左右,但却提及了绝大部分机器学习算法...可想而知里面知识有多浅尝辄止...通篇没有任何理论说明,我可以保证看完本书之后,对于不了解机器学习的人来说,你仍然不了解机器学习...虽然我也很反感一上来就一大波数学公式吓跑初学者,但一个讲解机器学习的书竟然不告诉你什么是cost function,什么是gradient descent...更不要说神经网络里面的经典算法back-propagation等等等等了。。。
       2. 所有算法通篇一个套路:大致告诉你这个算法怎么回事;开始讲解示例代码,所谓的代码讲解也是也简单到令人发指,说白了就是教你怎么调用sklearn之类机器学习的库函数...o(╯□╰)o
      3. 价格偏高。60多的书,感觉有50块在书名上...

总结: 小弟真的很失望啊...

建议:个人觉得机器学习是一门门槛较高的学科,特别是理论门槛非常高。而理论却是必不可缺的,我们不能舍本逐末,没学会走就去学跑。因此虽然理论知识很难啃,但这个硬骨头是必须要啃的。这里我以初学者的身份推荐几本我个人认为比较好的书吧:
中文:大名鼎鼎的“西瓜书”——周志华编写的机器学习;
英文:吴恩达的系列教程,以及一本神经网络及深度学习的入门神书:http://neuralnetworksanddeeplearning.com

雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wx_兜哥 2017-10-17 21:58
12
0
首先感谢你的反馈。我先说下我的一些经历吧,在大概14年的时候我尝试学习机器学习的基本原理用于安全领域,买的书不下十本,基本每本都是大量介绍公式然后再是若干领域的一些简单应用,当然唯独安全的应用特别少,经过项目的实践,我也算是入了门,其实回过头来看,其实算法本身不是最重要的,往往是结合业务场景的特征提取,以及迁移经验更加重要,坦白讲同时懂安全和机器学习的人很少,机器学习本身学习门槛也比较高  加上一些媒体的过度炒作,多数人把机器学习应用于安全这件事情上  把自己定位成了旁观者而不是参与者。我写这本书的目的,其实就是想让大家能够了解这门技术,所以重点不是介绍算法公式,而是通过大量的例子让大家在实践中理解算法的使用,(代码的理解,更适合我们这些码农以及懂python的人,切身体会)。所以写这本书的时候,我也是一次大胆的尝试,尝试通过大量的例子让大家去理解算法在安全上的使用,而不是长篇大论去介绍公事和算法调优,因为后者虽然有用,但是入门时确实很大的心里障碍。我这本书的重点是讲安全和算法如何结合,如何入门,而不是单纯介绍机器学习的入门,完全掌握机器学习入门恐怕也不是看一本书就能搞定的。
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wx_兜哥 2017-10-17 22:04
13
0
当时我写这本书的时候  就知道  作为可能国内第一本介绍机器学习和安全领域结合的书容易被骂    因为没参考  也不知道大家的口味  所以大家有不同意见很正常      我用我前言的两段话来总结吧  "每章都会以生活中的例子开头,让读者有一个感性的认识,然后简短介绍基础知识,最后以安全领域的2~3个例子讲解如何使用该算法解决问题。全书定位是能让更多的安全爱好者以及信息安全从业者了解机器学习,动手使用简单的机器学习算法解决实际问题。在写作中尽量避免生硬的说教,能用文字描述的尽量不用冷冰冰的公式,能用图和代码说明的尽量不用多余的文字。正如霍金所言“多写1个公式,少一半读者”,希望反之亦然。"  "当读者在工作学习中遇到问题时可以想起本书中提到的一两种算法,那么我觉得就达到效果了,如果可以让读者像使用printf一样使用SVM、朴素贝叶斯等算法,那么这本书就相当成功了。"
雪    币: 419
活跃值: (58)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
bywalks 2017-10-18 17:49
14
0
支持。。要买一本回来看看
雪    币: 29
活跃值: (499)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
万抽抽 2 2017-10-18 19:27
15
0
兜哥先不要激动,我绝对没有要喷您的意思。我也看过很多您写的文章,学到了很多,由衷敬佩您的实力,所以我才第一时间买了这本书。写书不易,任何劳动成果都应当被尊重。但是作为一名读者,我们也应当站在公正的角度就事论事。
首先,我还是坚持我的观点,就目前的内容来看,本书定位为技术书籍还是不太恰当的,个人认为作为科普书的话就非常nice。
其次,机器学习有其本身的特点,学习曲线非常陡峭,从本质上就不可能让人跨过理论知识直接步入实际应用阶段。举个简单的例子,同样的机器学习算法,同样的应用场景,因为超参数的设定不同,得到的结果却迥然不同,因此机器学习在实际应用领域很多时候除了特征提取之外考验的是工程师的调参能力,而调参能力的高低跟工程师对该算法核心理论的理解息息相关。因此不懂理论知识的人想去用某个算法解决实际问题,那么这个命题本质上就是个伪命题。如果非要这么定义的话,就可能沦为《30天学会c++》之类的笑柄了...
另外,就我个人而言的话,国外的一本同样讲解机器学习在web安全的应用的书(同样入门级,由于内容很少,甚至都算不上书)相对来说就说得透彻一些。同样是以介绍K-means和DBSCAN算法为例,它也没有任何深奥的理论知识,但显然那本书解释的更形象具体一些(个人观点,大家可自行对比)。
最后,看到前言所述,这本书只是兜哥AI三部曲的第一部,第二部重点介绍深度学习,很期待下一部书籍,我还是会第一时间购入O(∩_∩)O
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
不服来战 2018-7-9 14:18
16
0
手册上的东西搬运到书中,在其他领域早就被喷成翔了...拼凑大法绝逼给力。头一本还能容忍,后面兼职忍不了
游客
登录 | 注册 方可回帖
返回