发表于2024-11-23
本书是作者AI安全领域三部曲的第三部,重点介绍强化学习和生成对抗网络的基础知识和实际应用,特别是在安全领域中攻防建设的实际应用。
主要内容包括:
AI安全的攻防知识
基于机器学习的恶意程序识别技术
常见的恶意程序免杀方法
如何使用强化学习生成免杀程序
如何使用强化学习提升WAF的防护能力
如何使用强化学习提升反垃圾邮件的检测能力
针对图像分类模型的攻击方法
针对强化学习的攻击方法
刘焱 百度安全实验室资深研究员,AI安全产品架构师,研究领域主要包括AI安全、IOT安全、Web安全。原百度安全Web安全产品线负责人、基础架构安全负责人;FreeBuf、雷锋网专栏作家、i春秋知名讲师,多次在OWASP 、电子学会年会发表演讲,参与编写全国信息安全标准化技术委员会发布的《大数据安全标准白皮书》;“兜哥带你学安全”创始人;著有AI安全领域三部曲:《Web安全之机器学习入门》《Web安全之深度学习实战》《Web安全之强化学习与GAN》。
此亦笃信之年,此亦大惑之年。此亦多丽之阳春,此亦绝念之穷冬。人或万事俱备,人或一事无成。我辈其青云直上,我辈其黄泉永坠。—《双城记》狄更斯 著,魏易 译
如今是一个人工智能兴起的年代,也是一个黑产猖獗的年代;是一个机器学习算法百花齐放的年代,也是一个隐私泄露、恶意代码传播、网络攻击肆虐的年代。AlphaGo碾压柯洁之后,不少人担心AI会抢了人类的工作,然而信息安全领域专业人才严重匮乏,极其需要AI来补充专业缺口。
兜哥的这本书展示了丰富多彩的机器学习算法在错综复杂的Web安全中的应用,是一本非常及时的人工智能在信息安全领域的入门读物。正如书中所述,没有好的算法,只有合适的算法。虽然这几年深度学习呼声很高,但各种机器学习算法依然在形形色色的应用场景中有着各自独特的价值,熟悉并用好这些算法在安全领域的实战中会起到重要的作用。
——Lenx,百度首席安全科学家,安全实验室负责人
存储和计算能力的爆发式增长,让我们获得了比以往更全面、更实时获取以及分析数据的潜在能力,但面对产生的海量信息,如何快速准确地将其转化为业务需求,则需要依赖一些非传统的手段。就安全领域来说,原先依赖于规则的问题解法过于受限于编写规则的安全专家自身知识领域的广度和深度,以及对于问题本质的理解能力。但我们都知道,安全漏洞层出不穷,攻击利用的方式多种多样,仅仅依赖于规则来发现问题在现阶段的威胁形势下慢慢变得捉襟见肘。面对威胁,企业安全人员需要打造这样一种能力,它能够让我们脱离单纯的点对点的竞争,case by case的对抗,转而从更高的维度上来审视业务,发现潜在的异常事件,而这些异常事件可能会作为安全人员深入调查的起点。这种能力能让我们找到原有安全能力盲区以及发现新威胁,促使我们的技能水平以及对威胁的响应速度持续提升。同时这种能力和防御体系结合,也有可能让我们在面对某些未知威胁时,达到以不变应万变、获得天然免疫的理想状态。兜哥的这本书或许是开启我们这种能力的一把钥匙。本书用通俗易懂的语言介绍了机器学习原理,结合实际企业中的安全业务需求场景,让广大安全人员能够感受到这种“如日中天”的技术在传统安全领域内如何大放异彩。May the force be with you。
——王宇,蚂蚁金服安全总监
百度是拥有海量互联网数据的几家公司之一,兜哥是百度前IT安全负责人,现Web安全产品负责人,研发的产品不仅应用于百度公司内部检测网络攻击,也应用在多个百度的商业安全产品中,服务于数万站长。兜哥的团队是国内早一批将机器学习算法应用于网络安全场景的团队之一,本书聚集了兜哥及其团队多年的安全实践经验,覆盖了互联网公司可能会遇到的多个安全场景, 比如用图算法检测WebShell等,非常好地解决了百度商业安全客户被入侵留后门的问题。兜哥将自己的技术选型、算法、代码倾囊相授,我相信本书的出版将会大大降低安全研发工程师转型安全数据分析专家的难度,值得推荐。
——黄正,百度安全实验室X-Team负责人,MSRC 2016中国区
伴随着互联网的爆炸式发展,网络安全已上升到国家战略层面,能直接看到效果的安全能力建设得到高度重视。与此同时,安全团队却又不得不面对百花齐放的业务场景、大规模的数据中心,以及愈加剧烈、复杂和不确定性的网络攻击。如何在传统攻防对抗之外寻找更有效、可落地的对抗方式,已成为各大企业安全团队思考的重点。所幸,近些年来,计算和存储资源已不再是安全团队的瓶颈,安全团队自身在工程能力上也已非昔日吴下阿蒙。机器学习成为近些年来安全领域里一批从学术走向工业的应用方向,并已有很多阶段性的实践成果。很欣喜地看到兜哥一直在推进机器学习系列的文章并编写了此书。此书重点讲解了常见机器学习算法在不同场景下的潜在应用和实践,非常适合初学者入门。希望此书能够启发更多的同行继续实践和深耕机器学习应用这个方向,并给安全行业带来更多的反馈和讨论。
——程岩,京东安全首席架构师
网络安全是信息时代的重大挑战和核心课题之一,而机器学习是迄今为止人工智能大厦坚实稳固的基石。本书从基本原理出发,通过实际案例深入介绍和分析机器学习技术和算法在网络安全领域的应用与实践,是一本不可多得的入门指南和参考手册。
——姚聪博士,北京旷视科技(Face++)有限公司高级研究员
对本书的赞誉
前言
第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
网络安全一直和AI相伴相生,从网络安全诞生的那一天起,人们就一直试图使用自动化的方式去解决安全问题。网络安全专家一直试图把自己对网络威胁的理解转换成机器可以理解的方式,比如黑白名单、正则表达式,然后利用机器强大的计算能力,夜以继日地从流量、日志、文件中寻找似曾相识的各类威胁。似乎这一切就是那么天经地义并无懈可击。事情似乎又没有那么简单,机器其实并没有完全学到人的经验,网络安全专家一眼就可以识破的变形,对于机器却难以理解;更可怕的是,恶意程序数量呈指数增长,各类新型攻击方式层出不穷,0day(零日攻击)的出现早已超过一线明星出现在新闻头条的频率,依靠极其有限的网络专家总结的经验和几个安全厂商所谓的样本交换,已经难以应付现在的网络安全威胁。如果安全专家一眼就可以识破的威胁,机器也能够自动化发现甚至做出相应的响应,这已经是很大的进步;如果让机器可以像AlphaGo理解围棋一样,能够理解网络威胁,那将是巨大进步。事情又回到最初的那个问题,如何能让机器真正学会识别安全威胁?机器学习可能是一个不错的答案。
目标读者
本书面向信息安全从业人员、大专院校计算机相关专业学生以及信息安全爱好者、机器学习爱好者,对于想了解人工智能的CTO、运维总监、架构师,本书同样也是一本不错的科普书籍。如果看完本书,可以让读者在工作学习中遇到问题时想起一到两种算法,那么我觉得就达到效果了;如果可以让读者像使用printf一样使用SVM、朴素贝叶斯等算法,那么这本书就相当成功了。
我写本书的初衷是帮助安全爱好者以及信息安全从业者了解机器学习,可以动手使用简单的机器学习算法解决实际问题。在写作中尽量避免生硬的说教,能用文字描述的尽量不用冷冰冰的公式,能用图和代码说明的尽量不用多余的文字,正如霍金说言,“多写一个公式,少一半读者”,希望反之亦然。
机器学习应用于安全领域遇到的最大问题就是缺乏大量的黑样本,即所谓的攻击样本,尤其相对于大量的正常业务访问,攻击行为尤其是成功的攻击行为是非常少的,这就给机器学习带来了很大挑战。本书很少对不同算法进行横向比较,也是因为在不同场景下不同算法的表现差别的确很大,很难说深度学习就一定比朴素贝叶斯好,也很难说支持向量机就不如卷积神经网络,拿某个具体场景进行横评意义不大,毕竟选择算法不像购买SUV,可以拿几十个参数评头论足,最后还是需要大家结合实际问题去选择。
如何使用本书
本书的第1章主要介绍了如何打造自己的深度学习工具箱,介绍了AI安全的攻与防,介绍了针对AI设备和AI模型的攻击,以及使用AI进行安全建设和攻击。第2章介绍了如何打造深度学习的工具箱。第3章介绍了如何衡量机器学习算法的性能以及集成学习的基本知识。第4章介绍了Keras的基本知识以及使用方法,这章是后面章节学习开发的基础。第5章介绍了强化学习,重点介绍了单智力体的强化学习。第6章介绍了Keras下强化学习算法的一种实现Keras-rl。第7章介绍了强化学习领域经常使用的OpenAI Gym环境。第8章~第10章,介绍了基于机器学习的恶意程序识别技术以及常见的恶意程序免杀方法,最后介绍了如何使用强化学习生成免杀程序,并进一步提升杀毒软件的检测能力。第11章介绍如何使用强化学习提升WAF的防护能力,第12章介绍如何使用强化学习提升反垃圾邮件的检测能力。第13章介绍了对抗生成网络的基础知识,第14章介绍了针对机器学习模型的几种攻击方式,包括如何欺骗图像识别模型让其指鹿为马。每个案例都使用互联网公开的数据集并配有基于Python的代码,代码和数据集可以在本书配套的GitHub下载。
本书是我机器学习三部曲的第三部,在第一部中,主要以机器学习常见算法为主线,以生活中的例子和具体安全场景介绍机器学习常见算法,定位为机器学习入门书籍,便于大家快速上手。全部代码都可以在普通PC电脑上运行。在第二部中,重点介绍深度学习,并以具体的11个案例介绍机器学习的应用,面向的是具有一定机器学习基础或者致力于使用机器学习解决工作中问题的读者。本书重点介绍强化学习和对抗网络,并介绍了AI安全的攻与防。一直有个遗憾的地方:深度学习的优势发挥需要大量精准标注的训练样本,但是由于各种各样的原因,我只能在书中使用互联网上已经公开的数据集,数据量级往往很难发挥深度学习的优势,对于真正想在生产环境中验证想法的读者需要搜集更多样本。
致谢
这里我要感谢我的家人对我的支持,本来工作就很忙,没有太多时间处理家务,写书以后更是花费了我大量的休息时间,我的妻子无条件承担起了全部家务,尤其是照料孩子方面的繁杂事务。我很感谢我的女儿,写书这段时间几乎没有时间陪她玩,她也很懂事地自己玩,我也想用这本书作为生日礼物送给她。我还要感谢编辑吴怡对我的支持和鼓励,让我可以坚持把这本书写完。最后还要感谢各位业内好友尤其是我boss对我的支持,排名不分先后:马杰@百度安全、冯景辉@百度安全、Tony@京东安全、程岩@京东安全、简单@京东安全、林晓东@百度基础架构、黄颖@百度IT、李振宇@百度AI、Lenx@百度安全、黄正@百度安全、郝轶@百度云、云鹏@百度无人车、赵林林@微步在线、张宇平@数盟、谢忱@Freebuf、李新@Freebuf、李琦@清华、徐恪@清华、王宇@蚂蚁金服、王泯然@蚂蚁金服、王龙@蚂蚁金服、周涛@启明星辰、姚志武@借贷宝、刘静@安天、刘元军@医渡云、廖威@易宝支付、尹毅@sobug、宋文宽@联想、团长@宜人贷、齐鲁@搜狐安全、吴圣@58安全、康宇@新浪安全、幻泉@i春秋、雅驰@i春秋、王庆双@i春秋、张亚同@i春秋、王禾@微软、李臻@paloalto、西瓜@四叶草、郑伟@四叶草、朱利军@四叶草、土夫子@XSRC、英雄马@乐视云、sbilly@360、侯曼@360、高磊@滴滴、高磊@爱加密、高渐离@华为、刘洪善@华为云、宋柏林@一亩田、张昊@一亩田、张开@安恒、李硕@智联、阿杜@优信拍、李斌@房多多、李程@搜狗、姚聪@face+、李鸣雷@金山云、吴鲁加@小密圈,最后我还要感谢我的亲密战友陈燕、康亮亮、蔡奇、哲超、新宇、子奇、月升、王磊、碳基体、刘璇、钱华沟、刘超、王胄、吴梅、冯侦探、冯永校。
我平时在Freebuf专栏以及“i春秋”分享企业安全建设以及人工智能相关经验与最新话题,同时也运营我的微信公众号“兜哥带你学安全”,欢 Web安全之强化学习与GAN 下载 mobi epub pdf txt 电子书 格式
Web安全之强化学习与GAN 下载 mobi pdf epub txt 电子书 格式 2024
Web安全之强化学习与GAN 下载 mobi epub pdf 电子书看目录就觉得很不错。将机器学习和web安全结合起来对我来说是一个比较新的话题,用python语言也比较容易操作
评分就这本书来讲,确实是入门级别的,就是把零散的知识点整合在一块,方便查看。花点钱,减少一点乱查资料的时间。
评分确实是目前第一个直接讲机器学习web安全的书,内容比较简单暴力,需要有一定的基础。
评分买来学习的,朋友介绍说这本书很实用
评分物流快,商品好。喜欢在这里买东西,虽然不必超市便宜,但是可约时间送上门,爽啊,一直都在京东买东西了
评分不错,速度很快,快递小哥辛苦了
评分Web安全之机器学习三部曲 兜哥的书还是要好好读的
评分兜哥出品,必属精品!在机器学习方面,是一本很好的参考书!
评分实战学习效果好,案头必备资料。
Web安全之强化学习与GAN mobi epub pdf txt 电子书 格式下载 2024