新書推薦:
《
人体结构绘画重点
》
售價:NT$
653.0
《
中国妖怪故事(全集·增订版)
》
售價:NT$
1010.0
《
于胥斯原 乡族、风水与地方记忆
》
售價:NT$
806.0
《
以经治国与汉代社会
》
售價:NT$
449.0
《
我真正想要什么?:智慧瑜伽答问/正念系列
》
售價:NT$
265.0
《
元朝理财记 从成吉思汗的崛起到元朝的衰亡
》
售價:NT$
449.0
《
欧洲史:一本书历览欧洲数千年兴衰起伏,理解欧洲文明何以铸就今日世界
》
售價:NT$
1520.0
《
趣学CCNA——路由与交换(第2版)
》
售價:NT$
458.0
|
內容簡介: |
本书首先介绍主流的机器学习工具,以及Python应用于机器学习的优势,并介绍Scikit-Learn环境搭建、TensorFlow环境搭建。接着介绍机器学习的基本概念和Web安全基础知识。然后深入讲解几个机器学习算法在Web安全领域的实际应用,如K近邻、决策树、朴素贝叶斯、逻辑回归、支持向量机、K-Means算法、FP-growth、隐式马尔可夫、有向图、神经网络等,还介绍了深度学习算法之CNN、RNN。本书针对每一个算法都给出了具体案例,如使用K近邻算法识别XSS攻击、使用决策树算法识别SQL注入攻击、使用逻辑回归算法识别恶意广告点击、使用K-Means算法检测DGA域名等。本书作者在安全领域有多年开发经验,全书理论结合实际,案例丰富,讲解清晰,适合于有信息安全基础知识的网络开发与运维技术人员参考。
|
關於作者: |
刘焱百度安全技术经理,Web防护产品线负责人。全程参与了百度企业安全建设,负责百度安全对外的Web安全产品,包括防DDoS、Web应用防火墙、Web威胁感知、服务器安全防护产品等。研究兴趣包括机器学习、Web安全、僵尸网络、威胁情报等。还建立了微信公众号:兜哥带你学安全,发布了大量信息安全技术知识。
|
目錄:
|
Contents?目录
对本书的赞誉
序一
序二
序三
前言
第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 NumPy11
2.1.2 SciPy15
2.1.3 NLTK16
2.1.4 Scikit-Learn17
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 201026
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 Data31
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 常见WebShell64
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近邻算法检测Rootkit81
5.6 示例:使用K近邻算法检测WebShell83
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 示例:使用支持向量机算法识别XSS120
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-Means132
10.3 示例:使用K-Means算法检测DGA域名133
10.4 DBSCAN算法概述135
10.5 示例:hello world!DBSCAN135
10.6 本章小结137
参考资源137
第11章 Apriori与FP-growth算法138
11.1 Apriori算法概述138
11.2 示例:hello world!Apriori140
11.3 示例:使用Apriori算法挖掘XSS相关参数141
11.4 FP-growth算法概述143
11.5 示例:hello world!FP-growth144
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 示例:使用有向图识别WebShell169
13.4 示例:使用有向图识别僵尸网络173
13.5 知识图谱概述176
13.6 示例:知识图谱在风控领域的应用177
13.6.1 检测疑似账号被盗178
13.6.2 检测疑似撞库攻击17
|
內容試閱:
|
前言?Preface近几年,人工智能无疑成为人们口中的热点话题,先是谷歌的AlphaGo,后有百度的度秘、无人车,微软必应搜索推出的小冰。这一系列人工智能产品的推陈出新,令人眼花缭乱,一时间给人的感觉是人工智能遍地开花。无论人们接受还是不接受,人工智能都在迅速渗透各行各业。网络安全相比之下是一个传统行业,基于规则以及黑白名单的检测技术已经发展到了一定的瓶颈,而利益驱动的黑产团伙,其技术的发展已经远远超乎我们的想象。如何借助人工智能的力量,提升安全行业的整体检测与防护能力,成为各大安全厂商研究的课题。在国内安全行业, BAT以及大量新兴的创业公司先后进入企业安全领域,他们凭借着自身数据搜集、处理、积累以及人工智能方面的优势,正在逐渐改变着整个安全行业。安全产品的形态也从硬件盒子逐步走向混合模式以及云端SaaS服务,安全技术从重防御逐步走向数据分析以及智能驱动。传统安全厂商也凭借其强大的安全人才储备,迅速推进人工智能在安全产品的落地。
我在网络安全这个行业搬了好几年砖,前五年做大型互联网公司的企业安全建设,从准入系统到WAF、SIEM、IPS等,基本都开发或者使用过,最近三年一直负责云安全产品,从抗D、WAF产品到、SIEM、入侵检测等,使用的技术从规则、黑白名单、模型、沙箱再到机器学习,从单机的OSSIM到Hadoop、Storm、Spark、ELK,也算目睹了安全技术或者更准确地说是数据分析处理技术的迅猛发展。我深深感到,使用人工智能技术改变这个行业不是我们的选择,而是必经之路。我在真正意义上接触机器学习是2014年年底,当时带领了一个很小的团队尝试使用机器学习算法解决安全问题,磕磕绊绊一直走到现在,变成几十人的一个产品团队。
本书是我机器学习三部曲的第一部,主要以机器学习常见算法为主线,以生活中的例子和具体安全场景介绍机器学习常见算法,定位为机器学习入门书籍,便于大家可以快速上手。全部代码都能在普通PC上运行。第二部将重点介绍深度学习,并以具体的十个案例介绍机器学习的应用,主要面向具有一定机器学习基础或致力于使用机器学习解决工作中问题的读者,全书的重点集中在问题的解决而不是算法的介绍。由于深度学习通常计算量已经超过了PC的能力,部分代码需要在服务器甚至GPU上运行,不过这不影响大家的阅读与学习。第三部将重点介绍强化学习和对抗网络,并以若干虚构安全产品或者项目介绍如何让机器真正具备AlphaGo级别的智能。
本书的第1章概括介绍了机器学习的发展以及互联网目前的安全形势。第2章介绍了如何打造自己的机器学习工具箱。第3章概括介绍机器学习的基本概念。第4章介绍Web安全的基础知识。第5章到第13章介绍浅层机器学习算法,包括常见的K近邻、决策树、朴素贝叶斯、逻辑回归、支持向量机、K-Means、FP-growth、Apriori、隐式马尔可夫、有向图。第14章到第17章介绍神经网络以及深度学习中常用的递归神经网络和卷积神经网络。每章都会以生活中的例子开头,让读者有一个感性的认识,然后简短介绍基础知识,最后以安全领域的2~3个例子讲解如何使用该算法解决问题。全书定位是能让更多的安全爱好者以及信息安全从业者了解机器学习,动手使用简单的机器学习算法解决实际问题。在写作中尽量避免生硬的说教,能用文字描述的尽量不用冷冰冰的公式,能用图和代码说明的尽量不用多余的文字。正如霍金所言多写1个公式,少一半读者,希望反之亦然。
机器学习应用于安全领域遇到的最大问题就是缺乏大量的黑样本,即所谓的攻击样本,尤其相对于大量的正常业务访问,攻击行为尤其是成功的攻击行为是非常少的,这就给机器学习带来了很大挑战。本书很少对不同算法进行横向比较,也是因为确实在不同场景下不同算法表现差别很大,很难说深度学习就一定比朴素贝叶斯好,也很难说支持向量机就比不过卷积神经网络,拿某个具体场景进行横向比较意义不大,毕竟选择算法不像购买SUV,可以拿几十个参数评头论足,最后还是需要大家结合实际问题去选择。
这里我要感谢我的家人对我的支持,本来工作就很忙,没有太多时间处理家务,写书以后更是花费了我大量的休息时间,我的妻子无条件承担起了全部家务,尤其是照料孩子等繁杂事务。我很感谢我的女儿,写书这段时间几乎没有时间陪她玩,她也很懂事地自己玩,我想用这本书作为她的生日礼物送给她。我还要感谢吴怡编辑对我的支持和鼓励,让我可以坚持把这本书写完。最后还要感谢各位业内好友尤其是我boss对我的支持,排名不分先后:马杰@百度安全、冯景辉@百度安全、林晓东@百度基础架构、黄颖@百度IT、李振宇@百度AI、Lenx@百度安全、黄正@百度安全、程岩@百度云、郝轶@百度云、云鹏@百度无人车、赵林林@微步在线、张宇平@数盟、谢忱@Freebuf、李新@Freebuf、李琦@清华、徐恪@清华、王宇@蚂蚁金服、王珉然@蚂蚁金服、王龙@蚂蚁金服、周涛@启明星辰、姚志武@借贷宝、刘静@安天、刘袁君@医渡云、廖威@易宝支付、尹毅@sobug、宋文宽@联想、团长@宜人贷、齐鲁@搜狐安全、吴圣@58安全、康宇@新浪安全、幻泉@i春秋、雅驰@i春秋、王庆双@i春秋、张亚同@i春秋、王禾@微软、李臻@paloalto、西瓜@四叶草、郑伟@四叶草、朱利军@四叶草、土夫子@XSRC、英雄马@乐视云、sbilly@360、侯曼@360、高磊@滴滴、高磊@爱加密、高渐离@华为、刘洪善@华为云、宋柏林@一亩田、张昊@一亩田、张开@安恒、李硕@智联、阿杜@优信拍、李斌@房多多、李程@搜狗、Tony@京东安全、简单@京东安全、姚聪@face 、李鸣雷@金山云,最后我还要感谢我的亲密战友陈燕、康亮亮、蔡奇、哲超、新宇、子奇、月升、王磊、碳基体、刘璇、钱华钩、刘超、王胄、吴梅、冯侦探、冯永校。
本书面向信息安全从业人员、高等院校计算机相关专业学生以及信息安全爱好者,机器学习爱好者,对于想了解人工智能的CTO、运维总监、架构师同样也是一本不错的科普书籍。当读者在工作学习中遇到问题时可以想起本书中提到的一两种算法,那么我觉得就达到效果了,如果可以让读者像使用printf一样使用SVM、朴素贝叶斯等算法,那么这本书就相当成功了。
我平时在FreeBuf专栏以及i春秋分享企业安全建设以及人工智能相关经验与最新话题,同时也运营我的微信公众号兜哥带你学安全,欢迎大家关注并在线交流。
本书使用的代码和数据均在GitHub上发布,地址为:https:github.comduoergun07291book,代码层面任何疑问可以在GitHub上直接反馈。
|
|