《Web安全之机器学习入门》一 导读

简介: 机器学习应用于安全领域遇到的最大问题就是缺乏大量的黑样本,即所谓的攻击样本,尤其相对于大量的正常业务访问,攻击行为尤其是成功的攻击行为是非常少的,这就给机器学习带来了很大挑战。本书很少对不同算法进行横向比较,也是因为确实在不同场景下不同算法表现差别很大,很难说深度学习就一定比朴素贝叶斯好,也很难说支持向量机就比不过卷积神经网络,拿某个具体场景进行横向比较意义不大,毕竟选择算法不像购买SUV,可以拿几十个参数评头论足,最后还是需要大家结合实际问题去选择。

ea33f9cb82fdb6f9f7573ca3f0186c3138bd183f

前  言

近几年,人工智能无疑成为人们口中的热点话题,先是谷歌的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,可以拿几十个参数评头论足,最后还是需要大家结合实际问题去选择。

目  录

[第1章 通向智能安全的旅程 ]()
[1.1 人工智能、机器学习与深度学习 ]()
[1.2 人工智能的发展 ]()
[1.3 国内外网络安全形势 ]()
[1.4 人工智能在安全领域的应用 ]()
[1.5 算法和数据的辩证关系 ]()
[1.6 本章小结 ]()
参考资源

[第2章 打造机器学习工具箱 ]()
[2.1 Python在机器学习领域的优势 ]()
2.1.1 NumPy
2.1.2 SciPy
2.1.3 NLTK
2.1.4 Scikit-Learn
[2.2 TensorFlow简介与环境搭建 ]()
[2.3 本章小结 ]()
参考资源

[第3章 机器学习概述 ]()
[3.1 机器学习基本概念]()
[3.2 数据集 ]()
3.2.1 KDD 99数据
3.2.2 HTTP DATASET CSIC 2010
3.2.3 SEA数据集
3.2.4 ADFA-LD数据集
3.2.5 Alexa域名数据
3.2.6 Scikit-Learn数据集
3.2.7 MNIST数据集
3.2.8 Movie Review Data
3.2.9 SpamBase数据集
3.2.10 Enron数据集
[3.3 特征提取 ]()
3.3.1 数字型特征提取
3.3.2 文本型特征提取
3.3.3 数据读取
[3.4 效果验证 ]()
[3.5 本章小结 ]()
参考资源

相关文章
|
1月前
|
机器学习/深度学习 传感器 运维
使用机器学习技术进行时间序列缺失数据填充:基础方法与入门案例
本文探讨了时间序列分析中数据缺失的问题,并通过实际案例展示了如何利用机器学习技术进行缺失值补充。文章构建了一个模拟的能源生产数据集,采用线性回归和决策树回归两种方法进行缺失值补充,并从统计特征、自相关性、趋势和季节性等多个维度进行了详细评估。结果显示,决策树方法在处理复杂非线性模式和保持数据局部特征方面表现更佳,而线性回归方法则适用于简单的线性趋势数据。文章最后总结了两种方法的优劣,并给出了实际应用建议。
84 7
使用机器学习技术进行时间序列缺失数据填充:基础方法与入门案例
|
27天前
|
缓存 安全 搜索推荐
阿里云先知安全沙龙(北京站) ——浅谈Web快速打点
信息收集是网络安全中的重要环节,常用工具如Hunter、Fofa和扫描工具可帮助全面了解目标系统的网络结构与潜在漏洞。遇到默认Nginx或Tomcat 404页面时,可通过扫路径、域名模糊测试、搜索引擎缓存等手段获取更多信息。AllIN工具(GitHub: P1-Team/AllIN)能高效扫描网站路径,发现敏感信息。漏洞利用则需充分准备,以应对突发情况,确保快速拿下目标站点。 简介:信息收集与漏洞利用是网络安全的两大关键步骤。通过多种工具和技术手段,安全人员可以全面了解目标系统,发现潜在漏洞,并制定有效的防御和攻击策略。
|
1月前
|
Java 开发者 微服务
Spring Boot 入门:简化 Java Web 开发的强大工具
Spring Boot 是一个开源的 Java 基础框架,用于创建独立、生产级别的基于Spring框架的应用程序。它旨在简化Spring应用的初始搭建以及开发过程。
83 6
Spring Boot 入门:简化 Java Web 开发的强大工具
|
1月前
|
安全 应用服务中间件 网络安全
实战经验分享:利用免费SSL证书构建安全可靠的Web应用
本文分享了利用免费SSL证书构建安全Web应用的实战经验,涵盖选择合适的证书颁发机构、申请与获取证书、配置Web服务器、优化安全性及实际案例。帮助开发者提升应用安全性,增强用户信任。
|
2月前
|
机器学习/深度学习 数据采集
机器学习入门——使用Scikit-Learn构建分类器
机器学习入门——使用Scikit-Learn构建分类器
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
探索AI的奥秘:机器学习入门指南
【10月更文挑战第30天】本篇文章是一份初学者友好的机器学习入门指南,旨在帮助读者理解并开始实践机器学习。我们将介绍机器学习的基本概念,包括监督学习、无监督学习和强化学习等。我们还将提供一些实用的代码示例,以帮助读者更好地理解和应用这些概念。无论你是编程新手,还是有一定经验的开发者,这篇文章都将为你提供一个清晰的机器学习入门路径。
55 2
|
2月前
|
SQL 负载均衡 安全
安全至上:Web应用防火墙技术深度剖析与实战
【10月更文挑战第29天】在数字化时代,Web应用防火墙(WAF)成为保护Web应用免受攻击的关键技术。本文深入解析WAF的工作原理和核心组件,如Envoy和Coraza,并提供实战指南,涵盖动态加载规则、集成威胁情报、高可用性配置等内容,帮助开发者和安全专家构建更安全的Web环境。
94 1
|
2月前
|
安全 前端开发 Java
Web安全进阶:XSS与CSRF攻击防御策略深度解析
【10月更文挑战第26天】Web安全是现代软件开发的重要领域,本文深入探讨了XSS和CSRF两种常见攻击的原理及防御策略。针对XSS,介绍了输入验证与转义、使用CSP、WAF、HTTP-only Cookie和代码审查等方法。对于CSRF,提出了启用CSRF保护、设置CSRF Token、使用HTTPS、二次验证和用户教育等措施。通过这些策略,开发者可以构建更安全的Web应用。
120 4
|
2月前
|
安全 Go PHP
Web安全进阶:XSS与CSRF攻击防御策略深度解析
【10月更文挑战第27天】本文深入解析了Web安全中的XSS和CSRF攻击防御策略。针对XSS,介绍了输入验证与净化、内容安全策略(CSP)和HTTP头部安全配置;针对CSRF,提出了使用CSRF令牌、验证HTTP请求头、限制同源策略和双重提交Cookie等方法,帮助开发者有效保护网站和用户数据安全。
102 2
|
2月前
|
存储 安全 Go
Web安全基础:防范XSS与CSRF攻击的方法
【10月更文挑战第25天】Web安全是互联网应用开发中的重要环节。本文通过具体案例分析了跨站脚本攻击(XSS)和跨站请求伪造(CSRF)的原理及防范方法,包括服务器端数据过滤、使用Content Security Policy (CSP)、添加CSRF令牌等措施,帮助开发者构建更安全的Web应用。
136 3