具体描述
在现今的互联网公司中,产品线绵延复杂,安全防御体系无时无刻不在应对新的挑战。哪怕是拥有丰富工作经验的安全从业者,在面对层出不穷的攻击手段和海量日志数据时也会望洋兴叹。机器学习、深度学习是这些问题天然契合的解决方案,在数据量以指数级不断增长的未来,甚至有可能是唯一的出路。当AI遇到安全时,如何快速进化,本书给出了实战方案。 本书是《Web安全之机器学习入门》之后又一作品。本书首先介绍如何打造自己的深度学习工具箱,包括TensorFlow、TFLearn等深度学习库的安装以及使用方法。接着介绍卷积神经网络和循环神经网络这两大深度学习算法的基础知识。特别着重介绍在生产环境搭建深度学习平台需要使用的开源组件,包括Logstash、Kafka、Storm、Spark等。随后讲解了11个使用机器学习技术解决实际安全问题的案例,包括验证码识别、垃圾邮件识别、负面评论识别、骚扰短信识别、Linux后门检测、恶意操作行为检测、Webshell检测、智能扫描、DGA域名检测、恶意程序分类识别、反信用卡欺诈。本书针对每一个算法都给出了具体案例,理论结合实际,讲解清晰,文笔幽默,适合有信息安全基础知识的网络开发与运维技术人员参考,主要内容包括:
- 如何基于TensorFlow和TFLearn打造自己的深度学习工具箱。
- 如何基于Logstash、Kafka、Storm、Spark等打造深度学习的生产环境。
- 如何在MNIST数据集上实现验证码识别。
- 如何在安然数据集上实现垃圾邮件检测。
- 如何在IMDB数据集上实现负面评论识别。
- 如何在SMSSpamCollection数据集上实现骚扰短信识别。
- 如何在ADFA-LD数据集上实现Linux后门检测。
- 如何在SEA数据集上实现恶意操作行为检测。
- 如何在MIST数据集上实现恶意程序分类识别。
- 如何在Kaggle公开的数据集上实现信用卡欺诈检测。
- 如何在GitHub公开的数据集上实现Webshell检测,智能扫描和DGA域名检测。
作者简介
刘焱 百度安全Web防护产品线负责人,负责百度安全的Web安全产品,包括防DDoS、Web应用防火墙、Web威胁感知、服务器安全以及安全数据分析等,具有近十年云安全及企业安全从业经历,全程参与了百度企业安全建设。研究兴趣包括机器学习、Web安全、僵尸网络、威胁情报等。他是FreeBuf专栏作家、i春秋知名讲师,多次在OWASP 、电子学会年会等发表演讲,参与编写了《大数据安全标准白皮书》。他还建立了微信公众号“兜哥带你学安全”,分享了大量信息安全技术知识。AI+安全畅销书《Web安全之机器学习》的作者。
目录信息
序
前言
第1章 打造深度学习工具箱1
1.1 TensorFlow1
1.1.1 安装1
1.1.2 使用举例3
1.2 TFLearn3
1.3 PaddlePaddle4
1.3.1 安装5
1.3.2 使用举例6
1.4 Karas7
1.5 本章小结9
第2章 卷积神经网络10
2.1 传统的图像分类算法10
2.2 基于CNN的图像分类算法11
2.2.1 局部连接11
2.2.2 参数共享13
2.2.3 池化15
2.2.4 典型的CNN结构及实现16
2.2.5 AlexNet的结构及实现19
2.2.6 VGG的结构及实现24
2.3 基于CNN的文本处理29
2.3.1 典型的CNN结构30
2.3.2 典型的CNN代码实现30
2.4 本章小结32
第3章 循环神经网络33
3.1 循环神经算法概述34
3.2 单向循环神经网络结构与实现36
3.3 双向循环神经网络结构与实现38
3.4 循环神经网络在序列分类的应用41
3.5 循环神经网络在序列生成的应用42
3.6 循环神经网络在序列标记的应用43
3.7 循环神经网络在序列翻译的应用44
3.8 本章小结46
第4章 基于OpenSOC的机器学习框架47
4.1 OpenSOC框架47
4.2 数据源系统48
4.3 数据收集层53
4.4 消息系统层57
4.5 实时处理层60
4.6 存储层62
4.6.1 HDFS62
4.6.2 HBase64
4.6.3 Elasticsearch65
4.7 分析处理层66
4.8 计算系统67
4.9 实战演练72
4.10 本章小结77
第5章 验证码识别78
5.1 数据集79
5.2 特征提取80
5.3 模型训练与验证81
5.3.1 K近邻算法81
5.3.2 支持向量机算法81
5.3.3 深度学习算法之MLP82
5.3.4 深度学习算法之CNN83
5.4 本章小结87
第6章 垃圾邮件识别88
6.1 数据集89
6.2 特征提取90
6.2.1 词袋模型90
6.2.2 TF-IDF模型93
6.2.3 词汇表模型95
6.3 模型训练与验证97
6.3.1 朴素贝叶斯算法97
6.3.2 支持向量机算法100
6.3.3 深度学习算法之MLP101
6.3.4 深度学习算法之CNN102
6.3.5 深度学习算法之RNN106
6.4 本章小结108
第7章 负面评论识别109
7.1 数据集110
7.2 特征提取112
7.2.1 词袋和TF-IDF模型112
7.2.2 词汇表模型114
7.2.3 Word2Vec模型和Doc2Vec模型115
7.3 模型训练与验证119
7.3.1 朴素贝叶斯算法119
7.3.2 支持向量机算法122
7.3.3 深度学习算法之MLP123
7.3.4 深度学习算法之CNN124
7.4 本章小结127
第8章 骚扰短信识别128
8.1 数据集129
8.2 特征提取130
8.2.1 词袋和TF-IDF模型130
8.2.2 词汇表模型131
8.2.3 Word2Vec模型和Doc2Vec模型132
8.3 模型训练与验证134
8.3.1 朴素贝叶斯算法134
8.3.2 支持向量机算法136
8.3.3 XGBoost算法137
8.3.4 深度学习算法之MLP140
8.4 本章小结141
第9章 Linux后门检测142
9.1 数据集142
9.2 特征提取144
9.3 模型训练与验证145
9.3.1 朴素贝叶斯算法145
9.3.2 XGBoost算法146
9.3.3 深度学习算法之多层感知机148
9.4 本章小结149
第10章 用户行为分析与恶意行为检测150
10.1 数据集151
10.2 特征提取152
10.2.1 词袋和TF-IDF模型152
10.2.2 词袋和N-Gram模型154
10.2.3 词汇表模型155
10.3 模型训练与验证156
10.3.1 朴素贝叶斯算法156
10.3.2 XGBoost算法157
10.3.3 隐式马尔可夫算法159
10.3.4 深度学习算法之MLP164
10.4 本章小结166
第11章 WebShell检测167
11.1 数据集168
11.1.1 WordPress168
11.1.2 PHPCMS170
11.1.3 phpMyAdmin170
11.1.4 Smarty171
11.1.5 Yii171
11.2 特征提取172
11.2.1 词袋和TF-IDF模型172
11.2.2 opcode和N-Gram模型174
11.2.3 opcode调用序列模型180
11.3 模型训练与验证181
11.3.1 朴素贝叶斯算法181
11.3.2 深度学习算法之MLP182
11.3.3 深度学习算法之CNN184
11.4 本章小结188
第12章 智能扫描器189
12.1 自动生成XSS攻击载荷190
12.1.1 数据集190
12.1.2 特征提取194
12.1.3 模型训练与验证195
12.2 自动识别登录界面198
12.2.1 数据集198
12.2.2 特征提取199
12.2.3 模型训练与验证201
12.3 本章小结203
第13章 DGA域名识别204
13.1 数据集206
13.2 特征提取207
13.2.1 N-Gram模型207
13.2.2 统计特征模型208
13.2.3 字符序列模型210
13.3 模型训练与验证210
13.3.1 朴素贝叶斯算法210
13.3.2 XGBoost算法212
13.3.3 深度学习算法之多层感知机215
13.3.4 深度学习算法之RNN218
13.4 本章小结221
第14章 恶意程序分类识别222
14.1 数据集223
14.2 特征提取226
14.3 模型训练与验证228
14.3.1 支持向量机算法228
14.3.2 XGBoost算法229
14.3.3 深度学习算法之多层感知机230
14.4 本章小结231
第15章 反信用卡欺诈232
15.1 数据集232
15.2 特征提取234
15.2.1 标准化234
15.2.2 标准化和降采样234
15.2.3 标准化和过采样236
15.3 模型训练与验证239
15.3.1 朴素贝叶斯算法239
15.3.2 XGBoost算法243
15.3.3 深度学习算法之多层感知机247
15.4 本章小结251
· · · · · · (收起)
读后感
用户评价
这本书的装帧和定价都显得很有分量,这让我对内容的深度有了更高的期待。在Web安全领域,数据的质量往往是决定防御效果的关键因素。我非常好奇作者是如何处理和构建用于训练深度学习模型的“干净”且“多样化”的安全数据集的。构建高质量的攻击样本库是一项艰巨的任务,需要结合大量的历史攻击数据、公开威胁情报,甚至需要模拟新型攻击场景。我希望书中能详述一套有效的数据集构建流程,包括如何清洗噪音、如何处理数据不平衡问题(恶意样本远少于正常样本),以及如何通过数据增强技术来提升模型的泛化能力。如果作者能分享一些独家的、关于如何高效标注和特征工程的经验,那这本书的价值将无可估量。最终,一个强大的安全模型,其成功有一半归功于其训练数据的质量,我希望能从这本书中学到如何打造出“黄金数据集”。
这本书的封面设计确实很吸引人,那种深邃的蓝色调,配上简洁的字体排版,立刻给人一种专业、前沿的感觉。我之前也在尝试将一些比较新的技术应用到我的日常开发流程中,总感觉在安全领域,尤其是在Web安全这块,传统的防御手段越来越力不从心,迫切需要一些更智能化的解决方案。这本书的标题本身就点明了方向,结合了当前大热的深度学习技术与Web安全这个刚需领域,让人不禁好奇作者是如何巧妙地将两者结合起来,构建出切实有效的防御体系的。我期待看到书中能够深入探讨如何利用神经网络、卷积网络等模型来识别那些传统WAF(Web应用防火墙)难以捕捉的新型攻击,比如一些复杂的跨站脚本(XSS)变体或者更隐蔽的SQL注入。更重要的是,我希望它能提供足够详实的实战案例,不仅仅是理论推导,而是能够让我这种一线开发者直接上手,并在自己的项目中部署和测试的代码示例。如果内容能够覆盖从数据预处理到模型训练、再到最终部署的完整生命周期,那就太棒了。这本书的潜力巨大,如果内容扎实,绝对会成为我工具箱里的必备参考书之一。
最近我正在负责公司内部一个重要模块的安全加固工作,遇到的瓶颈在于如何应对那些经过多层混淆和编码的恶意输入。传统的正则表达式和简单的字符串匹配几乎形同虚设,人力审核又效率低下且成本高昂。因此,这本书的侧重点——深度学习在安全领域的应用——立刻抓住了我的眼球。我猜想,书中一定涉及到了自然语言处理(NLP)中的一些技术,比如词嵌入(Word Embeddings)或者序列模型(如LSTM/Transformer),来理解和解析那些看似无意义的攻击载荷背后的“意图”。如果作者能清晰地阐述如何将Web请求的各个部分(URL参数、Header、Body)转化为模型可以理解的特征向量,并有效地训练模型来区分良性请求和恶意注入,那这本书的实用价值就极高了。我特别期待看到关于对抗性样本(Adversarial Examples)的讨论,毕竟安全系统一旦投入使用,很快就会面临攻击者试图“欺骗”模型的尝试。如何构建一个鲁棒的、不易被绕过的深度学习安全模型,是这本书必须解答的核心问题。
我是在一个技术论坛上偶然看到有人推荐这本书的,当时大家讨论的焦点是现有安全工具的局限性,特别是面对零日漏洞和不断进化的攻击手法时,那种“疲于奔命”的防御状态。这本书的出现,似乎提供了一种从根本上解决问题的思路:与其被动地打补丁,不如主动地学习和适应。我更关心的是,它在实际应用层面上能走多远。比如,在处理海量日志数据进行异常检测时,传统基于规则的系统往往会产生大量的误报或漏报,这本书能否展示如何通过深度学习模型,更精准地描绘出“正常”的网络行为轮廓,从而更灵敏地捕捉到“异常”的恶意流量?我希望看到的是具体的算法选型和调优经验,而不是泛泛而谈的“深度学习很强大”。如果书中能有一章专门讲解如何构建一个轻量级但高效的攻击检测API,那就更符合我的期待了。毕竟,在现代DevOps流程中,安全检测必须是快速且无感的。这本书的价值,最终要体现在它能否帮助我们建立起一个更具前瞻性和自适应能力的Web安全防护体系。
说实话,我对深度学习的理解还停留在“知道它很厉害”的阶段,对于如何将其落地到具体的工程实践,尤其是像Web安全这样对实时性要求极高的领域,我一直感到有些力不从心。我更希望这本书能够扮演一个“桥梁”的角色,一方面降低深度学习的理论门槛,用清晰的图示和类比来解释复杂的网络结构和优化过程;另一方面,它必须提供可以直接运行的、并且性能经过验证的代码库。我阅读许多技术书籍时,最大的挫败感来源于理论和代码之间的鸿沟。如果这本书能提供一个完整的、端到端的项目案例,比如一个基于TensorFlow/PyTorch构建的实时SQL注入检测服务,从环境配置、数据集获取、模型训练、性能评估到最终的生产环境部署,每一步都有详尽的指导,那么它将远远超越一本普通的参考书,成为一本实用的“操作手册”。我期望它能解决的不仅是“做什么”,更是“怎么做”的细节问题。
对这个系列很失望,名字起的好。大部分内容都是标题党。
1. CNN那章认认真真看了13页,还是没看懂卷积层作用,看了5分钟吴恩达的视频,秒懂…… 2. 看到LSTM,这配图怎么和我网上看的简书博客一模一样,我第一次见书是摘抄博客的…… 不要期待这本书的深度,大概翻翻什么模型能用来解决什么问题就好
对这个系列很失望,名字起的好。大部分内容都是标题党。
从机器学习的角度来看,深度不够,给2🌟或者3🌟
从机器学习的角度来看,深度不够,给2🌟或者3🌟