基于大数据技术的网络安全分析与应用研究
2022-09-09马波勇
马波勇
(中国太平洋保险(集团)股份有限公司 上海市 200233)
随着我国信息技术的不断发展,网络安全成为了互联网技术发展中最重要的技术安全管理要点,网络安全直接关系到我国居民的安全隐私和社会稳定。大数据技术是未来网络化发展的重要工具和重要技术,其最大的特征就是数据量大并且数据结构多样化。大数据技术为网络安全的分析带来了全新的解决方案,具有较好的应用效果。首先大数据技术介入能够显著的提升网络安全分析中的数据存储质量,同时大数据技术能够显著的降低传统网络安全分析中高额的运营成本,大数据批量处理的过程中主要采用的分布式的数据结构,分布式的发展形式具有良好的层次性,数据量越大其运营成本更低,并且对于硬件的要求也更低。因此对于数据分析的门槛并不高,能够最大限度的保证数据分析过程的稳定性。
1 大数据安全分析功能架构
功能架构主要由功能呈现层、场景分析层、安全数据中心层、数据源层四个层面组成。
功能呈现层:包括安全运营管理、安全威胁处置、安全监控预警,同时提供原始日志与标准化日志的快速检索与即席查询功能。
场景分析层:外部攻击分析的网络威胁分析场景、系统安全分析场景、暴露面资产分析场景,用于内部威胁分析的基础软件分析场景、横向威胁分析场景、用户行为分析场景等,向功能呈现层提供告警输出、预警输出、态势输出。
安全数据中心层:实现全网安全数据的集中采集、标准化、存储、全文检索、统一分析、数据共享及安全数据治理,并向上提供数据访问接口。
数据源层:包括安全类数据、管理类数据、安全运行数据、审计类数据、基础数据等。
大数据安全分析技术架构(图1)主要由数据采集、数据预处理、数据存储、分析计算和规则引擎、机器学习、前端展示等技术组成。
图1:大数据安全分析技术架构图
(1)各种数据源由Flume采集后通过ETL模块清洗补全成标准数据,保存至HDFS、ElasticSearch、Kafka;
(2)使用ElasticSearch按日期索引存储ETL清洗后的日志数据,定期清理;
(3)离线规则引擎使用Flink从HDFS加载格式化数据,进行离线分析统计后的结果输出至Kafka,由事件消费程序最终处理成事件数据保存;
(4)实时引擎从Kafka消费格式化数据,进行关联分析后将结果保存;
(5)使用Spark Core、Spark ML实现离线场景分析和模型计算;
(6)使用Redis缓存字典、情报、基线等信息;
(7)后端服务使用Spring Boot、Spring Data Jpa向前端提供Restful接口;
(8)前端使用Vue、Element、Echarts等,由nginx部署代理转发。
2 基于网络流量安全威胁分析监测
采用领先的大数据架构和人工智能框架的安全大数据安全分析技术,通过深度流量分析技术和入侵指标(IOC)确认技术,对攻击流量的特征检测,深度监控流量中所有可疑行为。辅以智能的会话补全技术、双向会话分析技术,实现对已知攻击、变种攻击和未知攻击的检测,完成数据融合下的威胁检测、溯源和证据链的建立。
按照ALLINONE方式进行架构设计,将流量分析引擎、文件分析引擎、行为分析引擎及机器学习引擎统一。利用实时流量监测实现对全局范围内的已知和未知新型威胁的监控、分析、识别预警和处理。网络流量分析检测主要关键技术采用流量采集、解析,大数据分析和隐蔽信道检测技术。
流量采集技术:深度数据包检测(Deep packet inspection,缩写为DPI)是一种特殊的网络技术,它通过“旁路接入”的方式接入到网络,它会对网络中的每个数据包进行检查,一般网络设备只会查看以太网头部、IP头部而不会分析TCP/UDP里面的内容这种被称为浅数据包检测;与之对应的DPI会检查TCP/UDP里面的内容解析出MAC地址、IP地址、端口和应用层的协议内容。
大数据分析技术:利用HDFS、HIVE、HBASE、solar、Spark等基础大数据组件,提供了基于分布式架构的ETL工具实现对海量数据的批处理。构建了人工智能机器学习模型库,能够对海量数据进行深度挖掘,预置了朴素贝叶斯、决策树、逻辑回归、Kmeans、关联规则、时间序列、最小哈希、线性回归、主成分分析、协同过滤、相似特征分析、全连通图形分析、邻接点分析、文本分类、影响力传播分析等人工智能算法,对未知的威胁能够及时发现,对于安全风险能够进行提前预测,提前预警,及时采取应对措施预防安全风险对系统影响。
隐蔽信道检测技术:网络流量分析检测能够针对隐蔽信道的通信行为进行分析与检测,能够在大流量环境下对隐蔽信道进行检测,且能够通过自定义规则快速构建新的检测模型。突破性的利用行为特征和行为分析的方法构建检测模型,解决了隐蔽信道利用方式的抗检测和抗分析性;采用创新的检测模型实现海量数据下的行为检测,解决了如何从海量的数据中检测隐蔽信道的数据;实现规则自定义引擎支撑模型快速可调可变,解决了针对变化组合利用的隐蔽信道应变检测能力。
3 孤立森林算法在网络安全威胁分析中的应用
孤立森林属于一种无参数的非监督算法,它是一种侦测异常十分有效的组合算法,底层用的是决策树。孤立森林是一个基于Ensemble的快速异常检测方法,具有线性时间复杂度和高精准度,其可以用于网络安全中的攻击检测,金融交易欺诈检测,疾病侦测,和噪声数据过滤等。孤立森林是属于Non-parametric和Unsupervised的方法,即不用定义数学模型也不需要有标记的训练。孤立森林算法实现流程:
(1)孤立森林是由t个iTree(Isolation Tree)孤立树组成的,每个iTree是一个二叉树结构,其实现步骤如下:
(2)从训练数据中随机选择Ψ个点样本点作为subsample,放入树的根节点。
(3)随机指定一个维度(attribute),在当前节点数据中随机产生一个切割点p——切割点产生于当前节点数据中指定维度的最大值和最小值之间。
(4)以此切割点生成了一个超平面,然后将当前节点数据空间划分为2个子空间:把指定维度里小于p的数据放在当前节点的左孩子,把大于等于p的数据放在当前节点的右孩子。
(5)在孩子节点中递归步骤2和3,不断构造新的孩子节点,直到孩子节点中只有一个数据(无法再继续切割)或孩子节点已到达限定高度。
(6)获得t个iTree之后,训练结束,然后就可以用生成的iForest来评估测试数据:对于一个训练数据x,我们令其遍历每一棵iTree,然后计算x最终落在每个树第几层(x在树的高度),此时可以得出x在每棵树的高度平均值,获得每个测试数据的高度平均值后,就可以设置一个边界值,则此时低于此阈值的测试数据即为异常。
孤立森林算法模型的优点:
(1)对内存要求低,且处理速度快,具有线性时间复杂度,因为是ensemble的方法,所以可以用在含有海量数据的数据集上面。
(2)通常树的数量越多,算法越稳定,且由于每棵树都是互相独立生成的,因此可以部署在大规模分布式系统上来加速运算。
本文主要运用孤立森林算法对异常用户检测、未知威胁识别等安全分析场景上的运用,提升网络安全威胁的识别感知能力。
(1)异常用户检测。
通过收集网站页面中的命中爬虫数、命中扫描数和访问量等数据进行多个维度的分析,来判断页面访问是否为异常用户。分析算法假设客户的web应用环境相对稳定,那么绝大多数的用户的访问目标相似,那么他们的访问行为也相似。通过采用访问量、访问状态码404数和访问GET请求数等维度来刻画一个用户;然后通过异常检测算法找到差异最大的用户,对差异最大的用户做简单分析来判断其是否为异常用户。
①数据预处理:src_ipC由ip计算得到: 192.168.1.1===> 192.168.1。
②数据筛选分组:按照用户分组(这里占时用src_ip作为分组字段)特征抽取。
如表1所示。
表1
(2)未知威胁识别。
本文提出参数异常检测的非监督模型,事中使用参数异常检测有效解决传统规则识别未知web攻击威胁,因特征库特征不足导致的漏报和误报问题,从而有效发现未知web攻击威胁。大致做法是统计一个Page下所有参数的维度,过孤立森林算法来给每一条请求的参数集打分,来确定这个Page下请求的参数集是否异常。然后将与绝大多数正常访问差异大的异常访问筛选出来,并进行打分排名。结合孤立森林模型和LSTM模型对攻击样本的异常打分进行融合,然后对一小时内的数据进行学习并识别网络攻击F(x)=w(t)×f(x)+w(t)×l(x)。其中w(t)、w(t)表示孤立森林模型异常识别的打分权重。LSTM模型异常识别打分权重,并且初始状态下w(t)>w(t),其中x、t、f(x)、l(x)、F(x),分别表示一小时内的web流量数据、时间、孤立森林模型异常识别的打分权重。LSTM模型异常识别打分权重、孤立森林模型异常识别打分算法融合后的异常打分算法,算法的识别率随着时间稳步提升,最后通过加入人工打标签的方式来进行二次验证,并将标签结果作为扩充攻击的样本空间,用来为后续模型提供准备。
模型训练流程如图2所示。
图2:模型训练流程
假设用户在访问同一个接口是调用的参数相对固定,那么这个接口的所有访问在query参数个数、参数中数字个数和参数总长度等维度上做对比,来确定哪一条访问的参数异常度打分。然后对异常分数最高的一批访问进行人工打标签来确认是否真实存在异常,并将结果作为后续模型的攻击样本。
数据字段说明如表2。
表2
数据筛选:
①所有访问状态码为200的访问。
②请求访问的参数不为空。
数据分组:
①按照Domain和Path分组。
②给出异常分数后将所有计算结果合并。
③排序(输出最为异常的)。
特征提取:以a=1&b=2&c=我-你&d=abc为例,如表3。
表3
4 结语
大数据技术的应用能够弥补传统网络安全分析中由于算力不足所产生的决策误差问题,在整个网络数据的安全分析过程中,通过实时关联分析、人机交互以及分布式的数据采集分析处理能够及时的发展潜在的运行威胁,进而便于采取更加准确的预防处理措施,使得网络安全性能得到大幅度提升。在目前网络技术大范围应用的背景下,大数据技术在网络安全分析中的重要优势必然能够发挥出更大的应用价值。