APP下载

计算机网络病毒防御系统开发中数据挖掘技术应用

2019-10-15孙丽娜

软件导刊 2019年8期
关键词:数据挖掘

摘 要:利用数据挖掘技术开发计算机网络病毒防御系统,实现对网络病毒在线检测与控制。将传统防火墙技术与入侵检测技术融合,通过系统管理员了解在线网络病毒入侵情况,采用数据挖掘技术对网络病毒特征进行搜集并存储到数据库中,从而有效控制防御网络病毒。实践表明,采用数据挖掘技术设计的计算机网络病毒防御系统比传统防火墙病毒防御方法的防御能力提高了80%,对网络病毒种类掌握更全面,能够更好地抵御病毒侵害。

关键词:数据挖掘;网络病毒防御系统;在线监控

DOI:10. 11907/rjdk. 182834 开放科学(资源服务)标识码(OSID):

中图分类号:TP392文献标识码:A 文章编号:1672-7800(2019)008-0166-04

Data Mining Application on Computer Network Virus Defense System Development

SUN Li-na

(Teaching Affairs Division,Minsheng College of Henan University, Kaifeng 475004,China)

Abstract:The data mining technology is used to develop a computer network virus defense system to realize online detection and control of network viruses. The traditional firewall technology is integrated with the intrusion detection technology. After the system administrator understands the intrusion of the online network virus, the data mining technology is used to collect and store the network virus features in the database, thereby effectively controlling the defense network virus. Practice shows that the computer network virus defense system designed by data mining technology is 80% higher than the transmitted firewall virus defense method, and the type of network virus is more comprehensive and can better resist virus infringement.

Key Words: data mining; network virus defense system; online monitoring

基金项目:国家自然科学基金面上项目(11671119)

作者简介:孙丽娜(1982-),女,硕士,河南大學民生学院教务部讲师,研究方向为数据挖掘、数据库技术。

0 引言

计算机网络病毒蔓延迅速,严重影响网络安全,危害巨大。目前主流反病毒技术是特征码技术,该技术最大缺陷在于代码固定,面对变化多端的病毒需不断更新版本才可保证上网安全,用户往往处于被动防御状态。因此网络病毒查杀的未来发展趋势是智能化主动防御系统。

国内知名反病毒软件有金山毒霸、瑞星、360等,使用特征码扫描技术;针对国外病毒—反病毒领域的病毒主动防御系统,有学者提出使用数据挖掘技术的决策树算法对未知病毒进行检测[1]。对国内外病毒主动防御技术的研究现状进行分析,发现并没有在检测新型病毒种类方面取得较大成果。因此本文设计一款基于数据挖掘技术的计算机网络病毒防御系统,将普通防火墙技术与智能技术结合,设计一种网络病毒监控技术,以便对计算机网络病毒进行在线病毒检测。该技术具有较强先进性与实用性。

1 网络病毒分类

1.1 计算机病毒狭义定义

计算机病毒狭义上指破坏计算机功能、影响计算机正常使用的恶意代码[2]。它是一种人为编写的程序,通过文件的形式载入到计算机中,并将其它程序作为转播载体,用户运行程序后病毒才会开启。

1.2 木马

木马是一种远程控制软件,具有一定的隐蔽性,通常伪装成正常软件,混淆用户视线,使用户在没有防备的情况下下载安装。一旦电脑感染木马,计算机端口将被打开,黑客可从打开的端口将恶意程序载入计算机中,窃取电脑中重要信息,还可获得电脑使用权限,随意操控计算机,往往给受害者带来较大经济损失。

1.3 蠕虫

蠕虫具有一定的传播性,可以在不同系统之间传播,通过自我复制对计算机信息造成损害。蠕虫不需要通过载体即可传播,已成为广义病毒中较为流行的一种传播方式,且病毒程序执行方式越加复杂,出现了多程序防护运行的蠕虫,普通用户消除蠕虫的难度增加,最好方法是提前进行病毒防御。

1.4 间谍软件

间谍软件不需要经过授权即可安装在用户计算机中,搜集、窃取用户个人信息,如用户网上购物时输入的银行卡信息,而且还常驻在用户电脑中,消耗内存,造成计算机蓝屏,影响用户使用。

1.5 浏览器劫持

随着C/S模式的流行,出现一些软件对浏览器进行恶意攻击,并篡改浏览器主页,或在浏览器主页引入恶意链接,破坏浏览器信任站点,通过窗口漏洞完成浏览器劫持,因为浏览器没有遵守同源策略,导致劫持请求的事件频繁发生,浏览器劫持已成为网上用户浏览网页时最大病毒威胁之一。

2 数据挖掘技术

2.1 数据挖掘原理

计算机网络的高速发展,使数据库信息不断累加,在信息爆炸的时代,有效信息越来越少,如何实现有效的文本挖掘成为首要问题。数据挖掘指从大量信息中挖掘出潜在信息,这是一个知识发现的过程,其系统结构[3-4]如图1所示。

图1 數据挖掘系统结构

从原有数据中选出一组数据作为目标集,对数据进行选取、预处理与变换,搜集与事例相关的数据信息,提取挖掘出的数据后,通过预处理消除噪声、重复记录,通过数据变换的方式降低维度,找出挖掘目标相关特点,并清除不相关特征。

数据挖掘阶段主要是从目标数据中搜索其它模式,比如线性方程、聚类、决策树等。数据挖掘阶段需要对最终目标进行确认,对算法进行选择,明确挖掘任务是数据挖掘的第一步,虽然挖掘结果位置不可预知,但挖掘目标是已知的。根据挖掘目标选择对应的数据挖掘算法,针对同一个目标任务可以利用不同的算法加以实现。在选择算法时,可以根据不同的数据特点,选择与之关联的算法进行数据挖掘,或者按照用户需求设计。利用数据挖掘中的数据预处理[5]、聚类分析[6-7]进行分类时需要按照特定规则并根据对象指定的特征进行类别划分,对象与类型之间的关系被称之为映射关系。随着技术的不断发展,分类技术不断吸收信息,使技术变得更加完整。

2.2 数据挖掘常见分类算法

2.2.1 支撑向量机

分类过程是一个学习的过程,对于一个样本点,可以使用线性分类器将其分离,支撑向量机的宗旨是超平面最近的向量与超平面之间的距离为最大化样本,超平面即为线性分类器。支撑向量机的核心是函数,向量机将低维空间的数据放到高维空间中,通过核函数解决问题。支撑向量机的关键是对不可线性进行划分,将低维空间中的线性样本投入到高维空间中,然后在数据空间中构造出最佳超平面,最后求得最优解。

2.2.2 K-近邻分类器

K-近邻分类器指按照未知样本与已知样本之间的相似程度,对最相似的K个样本中出现的未知样本进行分类。K-NN分类器的改进方式具有一定的距离性,没有建立规则,虽然省去了复杂数据的分类过程,但是速度较慢。对于给定的待测样本,需要计算样本相似度,并找出待测样本与相似K的最近邻,然后根据样本类决定待测样本类型。

2.2.3 决策树

决策树指利用数据结构中的树,将数据构成一个决策模型的方法,决策树的节点代表可能出现的结果,而树枝代表结果可能带来的风险。决策树作为一个决策系统,在数据挖掘中最为常见。

3 数据挖掘技术在计算机网络病毒防御系统中的具体应用

3.1 计算机网络病毒与数据挖掘之间的关系

计算机网络病毒具有一定的传播性,一旦进入用户电脑,将迅速传播,对电脑数据造成非常严重的破坏,甚至会侵入计算机操作系统。操作系统是计算机的核心,一旦进入将对计算机中的数据进行有针对性的破坏,造成系统瘫痪。当发现有病毒入侵时,数据挖掘技术可以快速获取病毒重要信息,对网络运行中的数据进行分析,并对数据进行有效处理,以更好地抵御计算机病毒给操作系统带来的伤害,从而保证计算机正常运行。

3.2 数据挖掘技术组成

数据挖掘技术综合多种技术,在实际应用中可以根据不同的功能进行分析,不同的功能构成不同的数据模块。比如数据源模块,主要数据来源是抓包程序,通过抓包程序截取数据包,将最原始的数据存到数据源模块中,并且根据某一个特定的数据库结构,将截取到的数据包转移到下一个模块中进行处理;预处理模块是数据挖掘中非常重要的一个模块,预处理模块功能较多,可以对数据进行交换和处理,并将数据转换成可被计算机识别的信息,从而缩短数据挖掘时间;规则库模块中有一个规则集,该规则集通过特定的聚类分析,能够检测出各种网络病毒的特点,是数据挖掘技术中的一个关键模块[8]。

3.3 数据挖掘技术在计算机病毒防御系统中的具体应用

(1)关联规则。在关联规则分析中,为了能找到与数据库相关的关系网络,需要根据两个或者两个以上变量进行规律查找,如果变量之间存在一定关系,说明具有关联性,通过关联网络可以挖掘数据库中的关系,从而快速获得病毒传播路径[9]。

(2)分类规则。分类规则的主要目的是对数据进行归类,通过特定的学习方法构建模型,以完成数据分类。

(3)聚类规则。聚类规则的主要作用是对不同的数据进行进行分组,将相同数据归类在一个组中,然后通过聚类识别出不同类型的特征,排除类型不同的数据,从而得到不同数据的属性关系[10-11]。

(4)异类规则。异类规则主要是寻找数据中存在的偏差点,或者根据数据的不同规律和数据特征,得到各自孤立点,从而挖掘出更多有用的数据,为系统后续工作提供更多数据参考。

(5)序列分析规则。序列分析规则是指使用随机处理的方式,对计算机中存在的某种病毒进行规律查找,并建立相应的序列模型,通过数据挖掘的方式,找到经常出现的数据信息,并分析数据信息之间的关联性,从而判断病毒序列。简单来说,序列分析规则实际上是一种统计方式。

4 数据挖掘下的计算机网络病毒防御系统

4.1 检测模块设计

计算机网络病毒防御系统基于数据挖掘技术对海量数据进行有效筛选,通过构建的模型寻找病毒入侵特点,再将挖掘出的数据存入到数据库中。该系统以数据为中心,对大量数据进行记录、分析与处理,通过数据挖掘技术对系统日志审计信息进行记录,并发现入侵行为,通过数据挖掘技术解决病毒入侵问题。数据挖掘技术作为一种常用技术,涉及的知识领域非常广泛。因为数据挖掘耗时较长,因此将重点放在入侵检测模型上,利用数据挖掘系统对网络病毒的特征进行提取。采用数据挖掘技术构建入侵检测模型,如图2所示。

图2 数据挖掘入侵检测模型

4.2 控制防御模块设计

不同的防火墙防御功能不同,大多数网络设备集成有防火墙系统,混合式防火墙居多,目的均是防御恶意数据入侵,为计算机数据提供保护。本系统设计的计算机网络病毒防御系统采用的是Linux[12],而Iptables是Linux自带的防火墙功能,下面将从两个方面介绍Iptables在网络病毒防御系统中的应用。

4.2.1 非法字符控制

网络病毒最常见形式为混乱的字符串,在sql的输入指令中如果含有“or 1=1”,需要利用Iptables[13]控制非法字符的功能,将数据包拦截,防止数据库被损坏。Iptables主要通过string模块实现非法字符控制,该模块与Iptables字符串匹配,对网络中的数据报文进行匹配,如果通过浏览器的方式在sql注入,语句来源则是url[14]。因此Iptables的string需要对数据进行匹配,才能够对非法字符进行控制。使用Iptables对字符串进行匹配还可拦截域名,对域名进行限制,阻止域名访问,通过禁止访问的方式减少恶意木马入侵次数,保证内网计算机安全。

4.2.2 非法IP地址控制

采用Iptables对非法IP地址进行控制[15],对恶意IP数据进行拦截,保证内网网络安全,如果经常出现已经检测出的恶意IP,需要采用过滤功能丢弃IP的数据报文,同时截断恶意IP地址与现有网络的连接,阻止恶意IP地址向计算机发送恶意数据包,破坏网络安全。另外还可限制目的地址,禁止网络用户访问,限制其发送数据。因此,采用Iptables控制非法IP地址的功能可提高用户访问控制安全级别,降低病毒感染风险。

4.3 后续处理模块设计

检测模块与控制防御模块设计完成后,需要对入侵到内网的病毒进行检测,检测完成后进行防御处理,但仅有以上设计模块还不足以完成网络病毒防御系统,需要对网络病毒入侵进行后续处理,将网络入侵反馈给用户,并采取相应行动。网络病毒防御系统后续处理模块架构如图3所示[16]。

网络病毒入侵反馈具有监控的作用,可记录监控数据,便于管理人员处理。该模块除了对日志进行监督记录外,还具有通知功能,网络病毒防御系统不仅应具有防御控制功能,还需有网络病毒入侵监控功能。一旦发现有病毒入侵立即通知管理员,向管理员主机发送邮件,通知网络病毒入侵,以报告的形式通知管理员,将病毒类型、等级、时间反馈给管理员,以便管理人员针对病毒类型采取相应处理措施。数据反馈完毕后对病毒类型进行研究,分析病毒原理与表现特征,使用OllyDebug工具对网络病毒进行分析。分析完成之后要及时更新病毒规则库,通过后续处理模块搜集新的病毒特征,将新型病毒增添至病毒库中,时刻更新病毒类型,提高管理人员的病毒防御警戒性与控制性。

图3 系统后续处理模块

4.4 后台处理模块设计

后台处理数据实际上是对数据包进行处理,通过接收、发送两种方式对数据进行重组,再对数据包进行协议解析,最后对数据进行处理。网络病毒防御系统后台数据处理实际上是对数据报文进行检测,对病毒进行检测时,需先提取数据包,然后进行重组,最后进行解析及保存,将病毒入侵的结果记录到数据库中。数据处理流程如图4所示。

图4 数据包处理逻辑流程

4.5 数据存储模块设计

数据存储方式有多种。系统后台程序处理实际上是对二进制数据包文进行重组,然后才能得到相关数据。数据存储主要分为数据包存储与报文信息存储两部分。数据文件存储主要是从数据链路层中提取数据,大端和小端通过两种不同的字节,对数据流进行传送与存储。数据库存储后台数据记录,并利用前台界面显示数据库存储的数据。数据库作为交互媒介,能为系统提供精准的数据。数据库存储形式如表1所示。

表1 用户数据分类

4.6 前台界面模块设计

网络防御系统界面是用户进行操作的重要载体,通过界面的形式展现功能。界面设计作为用户交互的重要媒介,实现的功能包括网络病毒检测、网络病毒检测、实时监控及后续处理等。通常采用UI设计界面,UI设计可展现系统功能,其采用B/S架构,用户可通过网页浏览工作界面。网页设计需利用多种技术,如Photoshop、Dreamweaver等,静态网页一般使用HTML语言、DIV、CSS设计网页样式。网页服务器脚本采用PHP动态语言进行设计,PHP作为一种开源脚本语言,可以将其嵌入到HTML文档中,执行效率高。网页病毒检测主要通过数据挖掘技术实现,采用数据挖掘的关联规则,保证病毒特征的完整性,从而使病毒库处于最新状态。

5 结语

本文对网络病毒进行在线检测与控制,通过数据挖掘算法对网络病毒进行分析,围绕网络病毒入侵展开讨论,设计的网络病毒防御系统可防止病毒对系统进一步入侵,将可能性伤害降到最低,且系统在线检测与控制功能基本实现,但是仍然存在一些不足,比如网络病毒特征提取不全面。各种网络病毒层出不穷,涉及到的网络特征也较为复杂,除现有基于数据挖掘的方法外,还需使用更多网络病毒特征提取方法保障网络安全。

参考文献:

[1] 刘春娟. 数据挖掘技术在计算机网络病毒防御中的应用分析[J]. 电子测试, 2014(5):83-85.

[2] 郑刚. 数据挖掘技术在计算机网络病毒防御中的应用探讨[J]. 信息与电脑:理论版, 2016(3):25.

[3] 李智勇. 数据挖掘在计算机网络病毒防御中的应用探究[J]. 电子测试, 2014(12):46-48.

[4] 王宁.数据挖掘技术在计算机网络病毒防御中的应用分析[J].计算机光盘软件与应用,2013(8):155.

[5] 陈春. 基于数据挖掘技术的计算机网络病毒防御分析[J]. 信息通信, 2015(5):121-122.

[6] 李英杰. 数据挖掘技术的计算机网络病毒防御技术研究[J]. 电脑知识与技术, 2015(1X):1-2.

[7] 孙赫.浅析数据挖掘技术在计算机网络病毒防御中的应用[J]. 吉林劳动保护, 2016(11):28-29.

[8] 栾志福. 数据挖掘技术在计算机网络病毒防御中的应用分析[J]. 赤峰学院学报:自然版, 2015(15):24-25.

[9] 苟元琴. 数据挖掘在计算机网络病毒防御中的应用[J]. 湖北函授大学学报, 2016, 29(14):101-102.

[10] 李嘉嘉. 浅谈数据挖掘在计算机网络病毒防御中的应用[J]. 网络安全技术与应用, 2017(8):84.

[11] 胡晓东. 数据挖掘技术在计算机网络病毒防御中的应用分析[J]. 数码世界, 2017(11):31-32.

[12] 孙健,陈浩. 论数据挖掘在计算机网络病毒防御中的应用[J]. 科学与财富,2013(12):239.

[13] 高辉.数据挖掘在计算机网络病毒防御中的应用 [J]. 电子技术与软件工程, 2017(10):216.

[14] 余利.基于数据挖掘技术的计算机网络病毒防御技术探索[J]. 现代电子技术,2016,39(21):120-122.

[15] 李亮超. 数据挖掘在计算机网络安全领域的应用[J]. 科技与创新,2015(21):109-110.

[16] 刘清毅. 计算机网络安全病毒防御中的数据挖掘技术应用[J]. 微型电脑应用,2018,34(4):73-75.

(责任编辑:江 艳)

猜你喜欢

数据挖掘
数据挖掘技术在打击倒卖OBU逃费中的应用浅析
基于并行计算的大数据挖掘在电网中的应用
一种基于Hadoop的大数据挖掘云服务及应用
数据挖掘的分析与探索
数据挖掘技术综述与应用
基于GPGPU的离散数据挖掘研究
利用数据挖掘技术实现LIS数据共享的开发实践
高级数据挖掘与应用国际学术会议
高级数据挖掘与应用国际学术会议