大数据技术在计算机安全审核中应用研究

2020-05-12 12:02董伟
现代计算机 2020年10期
关键词:适应度交叉遗传算法

董伟

(忻州师范学院计算机系,忻州 034000)

0 引言

信息技术的快速发展和应用,促进了当今信息时代的发展,社会信息化进程不断加快,各行业都开始利用信息技术促进作用。作为信息传输的重要载体,互联网的作用不容忽视,同时互联网也是信息时代发展的基础[1]。基于互联网的信息传输,不受时间、地点等因素的限制,将整个世界归为一个没有界限的空间。2018年底我国网民数量突破8.29亿,互联网普及率高达59.6%,超出全球平均水平的2.6%。网民数量的不断增加,说明我国互联网发展迅猛,应用广泛。互联网的出现和应用,对人们工作和生活带来了较大影响,同时也对社会经济发展、人类文明进步带来了深远影响。目前互联网给人类社会带来的促进作用有目共睹,且这一影响还将继续深入和加深。在看到互联网带来的积极影响的同时,互联网中存在问题也应正视。互联网具有较强的开放性,这是互联网的一大优势,同时也是其问题存在的根源,特别是安全问题,更是互联网所有问题中的重中之重,而安全问题主要是由于互联网开放性导致的。Internet是世界上应用范围最大的信息网络,Internet的应用实现了计算机的连接,信息共享也变成现实,真正将世界变成了“地球村”。但Internet早期协议在设计时并没有重视安全问题,随着其应用的日益广泛性,严峻的安全问题开始凸显出来,国际安全、经济安全、网络安全、个人隐私安全等,都成为互联网安全中的重要安全问题[2-4]。如国外Facebook数据泄密,导致五千万用户数据被滥用、WannaCrypt病毒在全球范围内爆发,有10万家以上的组织机构被攻陷、印度麦当劳200多万用户数据被泄露、美国“棱镜门”事件等,这些都是世界范围内影响较大的互联网安全事件。在我国,互联网安全问题同样显著,如个人信息泄露严重、多所高校遭受Wannacry勒索病毒、雅虎信息泄露影响几千万我国网民、来势汹汹的挖矿木马等,都是耳熟能详的安全问题。互联网安全问题,不是一个公司、一个国家所面临的,而是全球范围内各国应正视的问题。需要各国加强合作,通过深入研究找寻出有效的解决互联网安全问题的举措[5-8]。

面对严峻的互联网安全问题,需要采取措施进行应对,提高互联网的安全性。其中计算机安全审核是一项提高互联网安全的重要举措。计算机安全审核即是对网络中的设备、系统进行集中审核,及时发现其中存在的安全隐患,并采取措施进行应对,以此消除潜在的安全问题。大数据是近几年来新发展的技术,主要优势是提高了数据处理的准确率和效率。互联网中各类信息呈现出海量的特点,海量的大数据面前安全隐患更多,稍不注意便有可能出现安全问题。故在大数据时代下,应将大数据技术应用到计算机安全审核中,通过准确、高效的数据处理提高计算机安全审核准确率和效率,找寻出安全隐患,从而保证互联网的安全性。故文章就大数据技术在计算机安全审核中的应用进行了简单分析。

1 计算机安全审核管理研究

计算机安全审核管理分为主机网络安全审核、集中式安全审核系统和分布式安全审核系统、基于智能代理技术的分布式安全审核系统,见图1为计算机安全审核管理体系结构。

图1 计算机安全审核管理体系结构

由图1可知主机网络安全审核包括基于主机的安全审核、基于网络的安全审核,审核内容分别为:主机安全审核用于监督系统、事件,根据操作系统记录日志进行入侵检测并进行系统漏洞修复;基于网络安全审计主要是对网络传输数据包进行分析确保网络数据安全。集中式安全审核系统和分布式安全审核系统包括集中安全审核和分布式安全审核,集中式安全审核系统将各个设备数据采集到一起进行数据分析,该方式实现容易但是存在网络传输容量、计算能力有限情况;分布式安全审核系统包括主机监视和中心计算机量大模块,如图2为分布式安全审核系统结构图。

图2 分布式审核系统结构图

由图2可知分布式审核系统结构中,网络检测器分布式各个地方,将采集数据传输到主机,解决了集中运算、传输能力问题,从而实现了系统运行效率。但是缺点是容易造成中心计算机单点失效以及系统扩展方面存在缺陷。

2 大数据技术在计算机安全审核中应用

当前计算机安全分析多采用安全日志和流量数据进行安全审核。根据计算机安全审核指标有漏洞、系统配置、访问日志、用户行为、应用程序安全、业务指南、外部情报等。访问日志包括主机入侵检测、安全分析、审核管理。流量管理包含代码检测、木马检测、蠕虫检测、流量异常检测、网络入侵检测。网络审核中会存储大量信息,将大数据技术应用到计算机安全审核中可实现安全信息关联、提高响应效率[9,10]。本文就大数据及时在计算机安全审核中应用进行研究。

2.1 基于大数据的计算机安全审核平台设计

大数据平台由采集层、存储层、数据挖掘层、数据展示层构成。所设计的大数据计算机安全审核平台网络架构如图3所示。

图3 大数据计算机安全审核平台网络架构图

由图3可知大数据计算安全审核平台中数据采集层包括镜像流量、DNS流量、日志、用户行为、检测信息、结构化数据、非结构化数据、半结构化数据等,这些数据可从网络设备中获取。数据采集完成需要将数据存储到分布式系统中,存储数据使用框架有HDFS、Hadoop、MYSQL数据库存储[11]。数据挖掘层中采用MapReduce、Mahout等计算方法进行数据异常分析,本文提出一种基于遗传算法的关联规则算法进行病毒数据挖掘。数据展示层中向用户展示信息查询、检索等。

2.2 基于Apriori 算法在计算机安全审核中研究

现有计算机安全审核系统实现信息化管理,积累数据量比较大,目前对数据管理方式仍采用传统平均值、方差分析等方法进行安全信息分析。随着数据挖掘技术不断发展,沉睡的数据中隐含大量信息,目前数据发掘算法有Apriori算法、决策树算法、K-means算法等,众多算法中Apriori算法由于编写难度低、非常适合非数据类型的数据挖掘中,考虑到安全信息管理系统中存储大非数据类型数据,因此本文选择在现有Apriori算法基础上进行算法改进并应用到安全信息挖掘中。

(1)Apriori算法思想

Apriori算法是常见的数据挖掘算法,该算法思想是假设数据库中有n项数据集用符号S={s1,s,2...,sn}表示。有关联的数据T是数据库事务的总体数据集,那么有数据库中每个事务F都是数据集S的子集即有T⊆S关系。用符号X⇒Y表示关联规则,其中X、Y都属于数据集同时满足X⊂I,Y⊂Y,X⋂Y=∅。为量化X、Y全集占总事务的比重可用支持度符号D表示,使用符号support(X⇒Y)=P(X⋃Y),为量化X、Y数据集中X占的比值用置信度表示,计算方法为confidence(X⇒Y)=P(X|Y)。进行集合处理中可能存在多个数据集将这些数据集集成在一起便是项集。如果数据集个数为m个称为m项集。假设在数据集中有一项的支持度高于设置的最小支持度阈值min,将该数据集称为频繁项集,将所有的频繁项集合组合在一起形成新的频繁项集合用符号Lm表示[12]。

Apriori算法在进行数据挖掘时需要经过两个步骤:第一步采用迭代方法查询数据库中的频繁数据集,该过程主要计算支持度不低于用户设置的阈值;第二步根据用户提供的最小置信度的决策进行挖掘。

(2)Apriori算法步骤

通过以上分析可知Apriori算法核心思想采用每层搜索加上迭代的方法进行频繁数据集获取,同时对频繁数据集按照挖掘技术方法找到各个数据集之间的关联。如图4为Aproori算法流程图。

图4 Apriori算法流程图

如下为Apriori算法步骤:

步骤一:初始化从数据库中遍历所有数据找出第一阶段频繁项集合S1;

步骤二:将Sn-2(n≥2)按照自身连接生成n阶候选项目集合Cn;

步骤三:从候选频繁项目中任意选择子集进行剪枝。如果在n阶候选项目中存在Cn-1∈Cn,同时有Cn-1∉Sn-1,表明该选项中不存在频繁数,直接可删除。

步骤四:按照步骤二、三执行直到项目中未见高阶频繁项目集合。最终得到挖掘结果。

下面进行Apriori算法实例分析。假设在数据库中存储数据集如表1所示。

表1 数据库数据集

第一步对数据集进行遍历,最终得到1阶频繁项目数据集为S1={1=3,2=5,3=3,4=2,5=2,6=4,7=3,9=1},将S1自身相连得到2阶选项集合S2={12,13,14,15,16,17,19,23,24,25,26,27,29,34,35,36,37,39,45,46,47,49,56,57,59,67,69,79},再对S2进行自身连接形成数据集C3。

(3)遗传算法

遗传算法是由基因、染色体、种群、适应度、选择、交叉及变异共同组成。如下为各个指标详细分析。

1)基因。在遗传学中它是DNA分析片段,基因上包含了大量的遗传信息。基因是进行遗传的最小单元。在遗传算法中基因可用二进制、整数进行表达。

2)染色体。染色体中是有多个基因组成,是信息承载的物质。目前染色体编码主要有浮点数编码和二进制编码。

浮点编码是指假设存在种群数量为m,用符号xti表示第t代中i个个体,每个基因的长度为n,那么有个体xti∈Rn,可用xti表示 n维行向量,用符号xti={xti1,xti2,...,xtij}表示。那么在t代后有种群xti表示为n×m的矩阵。在种群中有矩阵X0={x01,x02,...,x0n}未见相同的两行,这种种群称为个体互异。

二进制编码中假设种群的数量为m,用符号xti表示第t代中第i个个体,每个个体中的位数用l表示。每个基因的数目计算方法为:L=ml。个体xti可用ml维度的行向量表示,那么有xti={xti1,xti2,...,xtij}。最终得到二进制编码转化实数的计算方法为:

3)种群。进化论中种群是指由多个物种构成的群体。将这一概念引入到遗传算法中,可知遗传算法的种群是指某一代的所有染色体的总和。本文所设计的遗传算法基于二进制串组成,种群初始数目设置在100以上。

4)适应度。为评价个体是否优秀,提出采用适应度方法进行个体好坏评价。遗传算法中第一步是进行编码,接着根据染色体编码按照设置适应度方法进行适应度数值计算。适应度函数计算方法主要有如下几种:

①需要求解目标函数可采用目标函数最大值计算方法为:Fit(f(x))=f(x),目标函数最小值计算方法为:Fit(f(x))=-f(x)。

②目标函数最优问题求解变种计算方法:当需要计算最小值时有:

式中cmax表示函数最大估计值。

当目标函数为最大值时有:

式中cmin表示函数的最小估计值。

③目标函数分式计算算法:当需要计算最小问题时有:

当目标函数计算最大问题时有:

适应度函数变化主要有线性变化、幂函数变化以及指数变化。如下为详细分析。

①线性变化方法为:假设原有的适应度函数为f(x),变化后的适应度函数为f'(x),按照线性变化从而得到如下关系:

变化系数计算方法应遵循如下计算:已有的适应度函数平均值与转化后的适应度平均值相等,如下为计算方法:

变化系数计算方法如下:

式中k表示倍数,一般设置在1-2之间。

②幂函数变化方法为:f'(x)=fk(x),其中k表示最优问题求解,根据实际情况进行求解。

③指数变化法为:f'(x)=e-af(x)。

5)选择。选择原理来自进化论,该过程是遗传算法关键环节,选择第一步是进行适应度计算。目前遗传算法中选择的算法主要有:基于偏差、基于方差、基于期望、基于概率。本文选择基于概率的方法,按照如下进行概率计算:

6)交叉。交叉是基因重组重要环节。由于本文采用二进制交叉,而二进制交叉中包含交叉方法有单点交叉、多点交叉、均值交叉。如下为交叉详细分析。

①单点交叉是指在编码长度为m交叉点位于[1,m-1],当选择好交叉点位置时只需将两个父个体m点处进行交叉互换。

②多点交叉是指在编码长度为m中交叉点的个数为k,按照单点交叉思路完成多点交叉。

③均匀交叉。单点交叉和多点交叉很容易造成编码分成多个片段,为解决编码分离状况提出了均匀交叉。均匀交叉与多点交叉性质相似。

7)变异。基因经过多轮交叉后会出现局部最优问题,为解决这一问题提出在编码中增加变异放置算法过早收敛。在变异过程中如果变异率过高超过0.5则遗传算法转变为搜素算法失去了算法本质。本文使用变异算法为单点算法。

(4)Apriori算法改进

遗传算法在进行全局并行搜索时算法性能好,被广发应用到多个行业中。Apriori算法优点是算法容易实现,缺点是处理大量数据时效率较低,为解决这一问题,文章提出将遗传算法与Apriori算法结合形成基于遗传算法的Apriori算法。

本文所设计的算法思想是将数据库中数据划分为有限数据集用符号D={d1,d2,...,dn}表示,这些数据集能够在运行的系统中存储并运行,按照Apriori算法思想进行强项集合计算。接着进行强项集合求解,该过程中使用遗传算法从而解决了算法对数据库的读取问题,实现了算法性能提升。如图5为基于遗传算法的Apriori算法流程图。

图5 基于遗传算法的Apriori算法流程图

根据改进算法思想进行算法设计。首先进行遗传算法编码实现,本算法采用二进制编码方式,将安全关联的信息转化为二进制并连接在一起,一个染色体代表安全的信息并包含关联规则。根据计算机安全审核绩关联分析定义染色体排序情况,可用二进制编码000100011…11网络流量、。

按照上述操作完成编码后进行适应度函数设置。遗传算法需要解决问题时Apriori算法读取数据库效率问题。为此本文构建的适应度函数包括置信度和支持度两个变量。如下为适应度函数计算方法:

式中:a,b 为常数;

S(x)表示支持度;

B(x)表示置信度;

接下来进行遗传算法选择操作。前面已分析,本文选择概率计算方法进行选择。

最终得到如图6所示遗传算法流程图。

图6 遗传算法流程图

(5)Apriori算法性能分析

本次试验系统配置环境为操作系统Windows7 64位专业版;内存 16GB(16GB×1)DDR4 2666MHz;硬盘为SSD 128G;CPU主频2.2GHz,六核心/十二线程,仿真平台为Python 3.7。数据来源:本次试验数据来源于近三年安全管理系统中存储数据库(管理系统数据库为开源MySQL数据库)。目前管理系统中存储数据量达到500Mb,第一步是对数据库进行划分本算法划分为20个数据集,将数据分别读入内存,按照Apriori算法计算强项集,并将强项集合并在一起。根据前面分析安全关联信息因素得到关联表。接着进行参数设置,所使用适应度函数方法为f(x)=S(x)+B(x),最小支持度为0.2,最小置信度为0.84,设置种群初始个数为150,变异率为0.13,交叉概率为0.9。

下面进行改进算法与Apriori算法性能分析。

(1)划分次数对挖掘效率影响。内存为512Mb、数据集为2500条,采用Python编程进行算法实现。结果如图7所示。

图7 划分次数对挖掘效率影响

由图7可知改进算法与经典Apriori算法随着划分次数增加挖掘时间随着增加成类似于指数增长关系。改进算法挖掘时间比经典Apriori算法挖掘时间少,说明改进挖掘算法受划分次数影响低于经典Apri⁃ori算法。

(2)挖掘数量对挖掘效率影响。内存为512Mb,划分层次数量为6个,采用Python编程进行算法实现。结果如图8所示。

由图8可知改进算法与经典Apriori算法随着挖掘数量增加挖掘时间随着增加。改进算法挖掘时间比经典Apriori算法挖掘时间少,说明改进挖掘算法受挖掘数量影响低于经典Apriori算法。

(3)内存空间对挖掘效率影响。挖掘数量2500条,划分层次数量为6个,采用Python编程进行算法实现。结果如图9所示。

图8 数据量对挖掘效率影响

图9 内存空间对挖掘效率影响

由图9可知改进算法与经典Apriori算法随着内存空间增加挖掘时间随着降低。改进算法挖掘时间比经典Apriori算法挖掘时间少,说明改进挖掘算法受内存空间影响低于经典Apriori算法。

从以上仿真数据可知将遗传算法引入到Apriori算法中内存空间会得到降低,挖掘分类得到提升。在相同数量下改进算法能够在较短时间内完成挖掘,说明改进算法从空间、时间都得到提升。

3 结语

随着物联网到来计算机安全技术越来越显重要,本文针对传统计算机安全审核技术存在问题进行大数据安全管理研究,构建了基于大数据安全管理应用平台,从数据采集层、存储层、数据挖掘层、数据展示层进行大数据平台设计。针对当前大数据平台中Apriori运行占用内存高、运行效率慢问题构建了基于遗传算法的Apriori算法,对算法进行时间、空间效率分析结果表明所设计算法提高了算法时间、空间效率具有广阔应用前景。

猜你喜欢
适应度交叉遗传算法
改进的自适应复制、交叉和突变遗传算法
基于改进遗传算法的航空集装箱装载优化
基于改进遗传算法的航空集装箱装载问题研究
基于遗传算法的高精度事故重建与损伤分析
“六法”巧解分式方程
物流配送车辆路径的免疫遗传算法探讨
启发式搜索算法进行乐曲编辑的基本原理分析
连数
连一连
连星星