购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.1 大数据分析理论基础

2.1.1 基本概念

大数据分析技术就是大数据的收集、存储、分析和可视化技术,是一套能够解决大数据的4V(海量、高速、多变、低密度)问题,分析出高价值(Value)信息的工具集合。

参考目前通用的大数据分析流程,大数据安全分析主要包括六个相互独立又相互联系的步骤,分别是明确目标、数据采集、预处理、模型分析、可视化以及分析报告,如图2-1所示。

·图2-1 大数据安全分析流程

1.明确目标

明确目标是分析的出发点,是正确选用分析框架体系和数据采集逻辑的前提。首先定义业务问题,从业务问题出发定义大数据分析业务场景;其次明确分析目标,针对问题拟定关键性分析指标,作为根本目标;最后拟定分析框架,把分析目标分解成若干个分析要点,从多个角度开展数据分析。

2.数据采集

基于业务目标理解数据,收集不同来源的有用数据。大数据安全分析按照数据来源可以分为日志类、流量类、弱点类、性能类和情报类。

· 日志类:主机、安全设备、网络设备、应用及数据库日志。

· 流量类:NetFlow、NetStream、全流量DPI。

· 弱点类:各种扫描器扫描的脆弱性数据。

· 性能类:主机、安全设备、网络设备、应用及数据库负载数据。

· 情报类:与各种威胁情报类的数据进行接口对接。

在日志采集的过程中,应尽量收集较全的数据,并考虑采集部署、数据存储性能以及扩展性问题。

3.预处理

预处理的目的是对数据进行加工处理,提升数据的质量,保障分析结果的准确性。其中,对数据质量的要求主要包括如下几点。

· 准确性:数据记录的信息是否存在异常或错误。

· 完整性:数据是否存在缺失,可能是整个数据记录缺失,也可能是某个字段信息缺失;数据保存是否满足取证需求,以及6个月的法规保存要求。

· 一致性:数据是否遵循了统一的规范,数据集合是否保持了统一的格式。

· 有效性:数据是否在企业定义的可接受范围内。

· 时效性:数据在需要的时间内是否有效。

· 可获取性:数据是否易于获取、理解和使用。

预处理的主要任务主要有如下几点。

· 数据清洗:缺失值处理、噪声数据清理。

· 数据集成:实体识别、冗余和相关性、元组重复、数据值冲突。

· 数据归约:维度归约、数量归约、数据压缩。

· 数据变换:光滑、属性构造、聚集、规范化、离散化、概念分层。

4.模型分析

表2-1所示为大数据安全分析算法,主要包括经典统计、预测、相似分析、关联分析、分类及聚类,通过探索数据的特征得到业务有用的辅助或决策信息。

表2-1 大数据安全分析算法

5.可视化

可视化的目的主要是基于模型分析结果多样化地呈现更直观的分析结论,常见的可视化方法有折线(面积)图、柱状(条形)图、散点(气泡)图、K线图、饼(圆环)图、雷达(面积)图、和弦图、力导向布局图、地图、仪表盘、漏斗图、热力图、事件河流图、韦恩图、矩形树图、树图、字符云和混搭等。第3章会对数据可视化和几种重要工具做更详细的介绍。

6.分析报告

如图2-2所示,分析报告的目的主要是图文并茂地总结问题和分析结论,提供建议和解决方案。撰写一份好的分析报告需要有清晰的分析框架、主次分明的报告内容,以及直观形象的数据可视化。

大数据安全分析的过程中,需要大数据平台做一些支撑。图2-3所示为国内某信息安全厂商所设计的大数据安全分析平台,平台中的各部分和图2-1所示大数据安全分析流程中的Step 1~Step 4可以很好地对应起来。在看完本书第1~3章后,可以试着把图2-3中的模块和大数据安全分析过程做一个对比,找到它们的对应关系。

·图2-2 大数据安全分析报告

·图2-3 大数据安全分析平台

2.1.2 分析思路

大数据安全分析的思路分为事件驱动和数据驱动两种。事件驱动(基于线索)的分析方法主要关注事件的因果关系,即对事中和事后进行关联分析。

对于大数据安全分析来说,主要是结合一些设备告警以及出错信息,如图2-4所示。

·图2-4 事件驱动

结合设备告警和出错信息可以进行不同维度的分析,如流量分析、对端分析、行为分析。表2-2列举了事件驱动下的几种大数据安全分析思路。

表2-2 安全事件驱动分析的分析思路

例如,某安全设备触发了VPN暴力破解事件,即一分钟之内主机产生很多登录失败日志,那么可能是用户忘记密码了。事件驱动分析方法以此为线索,对VPN登录之后的行为进行关联分析,若发现该VPN用户有内网横向扫描行为,则有理由认为这确实是一起安全事件。

数据驱动(基于算法)的分析方法基于统计学方法以及异常检测算法,从数据里面发现行为模型,即异常人群、异常个体等。

网络安全是一个比较特殊的领域,事件并非非黑即白,流量里面发现异常行为也有可能是一个业务上的正常行为,所以数据驱动的分析方法可以给予一定的异常概率,如图2-5所示,后续还是需要人工的参与,不过模型结果可以大大提高人工分析的效率。

·图2-5 大数据安全分析数据驱动分析方法

2.1.3 分析算法

2.1.2节提到了数据驱动(基于算法)的分析方法,后面的章节会详细讲解各个机器学习算法的内容及相关实操场景。本节主要列举几个常见的大数据分析算法在安全中的应用。

相似性分析即判断两个变量是否具有相似取值或相近的变化趋势。

例如,用户与行为分析(UEBA)通过聚类算法,根据用户行为数据的特征矩阵对用户划分对等组,行为模式类似的人群会划分到一个动态群组,如图2-6所示。

基于组别分析(Peer Group Analysis)实时个群对比分析进行异常行为识别,异常用户一般占少数,可以通过对大部分用户行为进行建模来找出少数的高危用户,再匹配威胁或攻击模型来确认。

关联分析主要用于在数据中发现项与项之间的依赖关系,也就是一个事件发生之后发生另一个事件的概率,即因果关系。关联分析的经典案例是购物篮分析,这是发生在美国沃尔玛连锁超市的真实案例。在美国,一些年轻的父亲下班后经常要到超市去买婴儿尿布,而他们中有30%~40%的人在买尿布后又随手带回了他们喜欢的啤酒。沃尔玛超市通过这一发现把尿布和啤酒摆在一起来出售,而这个举措使尿布和啤酒的销量都得到了大幅度的提高。

·图2-6 相似性分析

关联分析同样适用于安全分析场景,通过对不同漏洞数据的关联分析可以发现漏洞机理与利用方法之间的相互依赖关系,如图2-7所示。

·图2-7 关联分析-漏洞机理

2.1.4 常见安全应用场景的特征及检测方法

机器学习算法在安全领域的应用还属于起步阶段,各大安全公司以及互联网巨头都投入了大量的人力、物力,试图使用大数据分析技术来改变安全行业,如图2-8所示,目前在恶意网址检测、垃圾邮件检测、WebShell检测以及用户行为审计等领域都取得了不错的进展。

·图2-8 大数据安全分析应用场景

本节主要介绍常见的安全应用场景及检测方法,在后面的章节中将重点进行实战化演练。

明确分析目标及分析对象之后,首先需要对安全场景进行定性分析,也就是在这个场景下什么是正常行为,什么是异常行为,正常行为和异常行为之间有何不同;其次,根据它们之间的异同对数据进行定量分析,即量化具体的指标,最终形成数据集合;最后选择合适的机器学习算法进行进一步的建模分析。

1. WebShell检测

· 定性分析:从HTTP访问的角度看,User-Agent内容简短、版本陈旧,Referrer通常没有,URI以前没有出现过;从客户端访问的角度看,一般只访问某一个URI;从主机访问行为的角度看,攻击者会通过WebShell创建用户、重启进程、清除磁盘空间、读取日志等;从访问堡垒机的角度看,会存在特权账号异常登录行为等。

· 定量分析:对上述特征进行量化分析,形成特征向量,如图2-9所示。

·图2-9 WebShell特征向量

· 聚类算法:以文件为对象,以上述属性为变量进行聚类分析。

· 期望结果:①找出离群点;②高度怀疑该离群点代表的文件是WebShell。

2. DGA域名检测

· 定性分析:DGA域名和正常域名的区别见表2-3。

表2-3 DGA域名定性分析

· 定量分析:以请求的DGA域名为分析对象量化特征向量,见表2-4。

表2-4 DGA域名特征向量

· 聚类算法:以域名为对象,以上述属性为变量进行聚类分析。

· 期望结果:找出离群点,找到相似度低的域名。

3. DDoS攻击检测

· 定性分析:攻击阶段短时间内流量存在突变;存在大量TCP握手半连接状态;流入流出比异常;请求的IP地址位置较为分散等。

· 定量分析:出入流量占比;SYN流入/FIN流出比率;ICMP请求应答比;源地址/目的端口分散度;TCP/UDP平均报文长度等。

· 时序算法:以上述属性为时序统计特征进行时间序列异常检测。

· 期望结果:找出时序突变点。 vf6QS7/IGRICJRU+PHOh5X3WLcVaXQoeLlFqiccIfpENBrCtqMer86cKP6SUfk2i

点击中间区域
呼出菜单
上一章
目录
下一章
×