计算机软件漏洞检测系统的设计与实现

2016-12-26 23:36张小敏
电子技术与软件工程 2016年22期
关键词:网络安全

摘 要

近几年,信息安全事件发生数量急剧增加,并且呈现快速增长趋势。政府部门所应用的信息系统,在出现信息安全问题,所造成的后果将十分严重,所以信息安全问题已经成社会各界广泛关注的一个问题,但是系统在实际应用中,硬件及软件方面都会存在一些无法避免的问题,伴随着系统的不断应用,新型漏洞也会逐渐出现。攻击者就可以根据软件所存在的漏洞,做出窃取信息的行为。所以对于计算机软件漏洞问题进行分析研究具有重要的现实意义。

【关键词】补丁管理 漏洞检测 网络安全

只从进入信息时代之后,信息建设水平子啊短时间内取得了显著成果,已经在人们的生活及工作中广泛应用。但是人们在享受信息化所具有的便捷的同时,人们也开始逐渐发现信心安全的重要性,特别是近几年各种信心安全事件的发生,让信息安全已经成为社会各界广泛关注的一个问题。所以,如果对于计算机软件内部所存在的安全漏洞进行快速检测,特别是对于操作系统内所存在的软件,在攻击者没有发现之前就进行针对性修复,已经成为有关演技人员重点研究内容。

1 系统需求分析和总体设计

1.1 系统需求

1.1.1 系统开发目标

本文所研究的计算机软件漏洞检测系统设计及实现研究中,主要就是对于公安信息专用网络计算机软件在实际够用中所存在的漏洞进行检测及修补,提高公安信息专用网络计算机软件管理水平,降低公安信息网计算机软件维护成本,及时发现计算机所存在的漏洞并对其进行修复,降低计算机软件所存在的风险。

1.1.2 系统功能范围

计算机软件漏洞检测系统在公安信息网络内应用,主要是根据信息网拓扑结构及实际情况, 根据计算机漏洞检测形式,对于计算机所存在的漏洞进行修补,下载针对性补丁,判断出计算机软件程序所存在的木马,对于信息网进行全面性分析,提出针对性意见,增加对于局域网管理水平,让管理人员及时了解到公安信息网内的基础信息。

1.1.3 系统性能显著

(1)客户端运行负担较低:公安部门所应用的计算机采购时间较长,硬件设施水平较低,所以客户端运算量最好能够适当进行降低,这样才能够降低对于公安正常办公的影响。

(2)漏洞信心更新速率较高:根据有关部门统计,计算机内部所存在的漏洞会伴随着时间的延长所下降,计算机所存在的新漏洞,经常容易被计算,对于计算机造成较大的影响,破坏程度较高。所以,计算机系统整体漏洞扫描能力与系统漏洞数据库之间有着紧密关联,提高系统漏洞数据库的全面性,进而能够显著提高系统整体性能,所以系统漏洞必须根据数据库信息进行同步。

(3)服务器负载压力较低:公安部门在信息化建设过程中,在硬件设施上面投入了较大材料,为了能够降低信息化经济成本,减少在硬件设施上面的成本,公安部门对于原有系统进行了升级,将并不是一台计算机应用一个软件。所以,系统在实际运行过程中,就必须提高对于计算机硬件资源的使用数量,降低服务器负载压力,进而保证服务器网页稳定运行。

1.2 系统的总体设计思路

系统总体设计思路在制定过程中,需要将系统所具有的功能及非功能性能进行限制。按照系统功能特点及业务实际运行的实际要求,需要利用以下几点技术思路。

1.2.1 模块化设计开发模式

软件设计开发过程中,需要采用模块化设计方式,提高软件代码的可用性及兼容性,这样设计人员对于软件功能及特点设计方面,能够有效进行完善,缩短软件更新速度,在实际设计过程中遵循模块化技术思路。根据软件功能及数据耦合度之间的差异,可以对于功能模块进行针对性设计及测试。

1.2.2 动态检测技术

软件在设计开发过程中,要是利用动态检测技术,能够有效保证计算机在进行漏洞扫描过程中,计算机操作并不会受到任何影响,进而有效躲避网络对于计算机所造成的攻击。计算机按照安全漏洞数据库内具有的信息,对于目标系统内部所存在的漏洞进行检测。动态监测技术在实际应用中能够有效降低计算机对于网络流动的负载水平,泄漏报告不会被监听。

1.2.3 两层结构设计

在计算机服务器内应用两层结构设计,能够有效解决计算机用户使用适量,网络结构复杂等等特征,对于客户端计算机状态管理更加便捷高效,与此同时还能够对于计算机漏洞及补丁文件进行高效率分布。

1.3 系统的总体技术方案

根据公安信息网计算机在实际应用中主要应用的软件,是计算机漏洞检测系统主要对象,计算机主要应用的软件有三类软件,分别是微软操作系统软件、MircrosoftOffic系统应用软件及Adobe Flash必备软件。计算机软件漏洞检测系统在设计及开发过程中,需要针对性开发,根据公安信息网实际运行情况,按照用户数量大及网络结构复杂等等特点进行设计。

为了能够让计算机软件漏洞检测系统该校在公安信息网内应用,系统在设计开发过程中,需要有效将服务器及模块化技术进行结合。计算机软件漏洞系统检测系统主要有三部分构成,分别是一级服务器、二级服务器就客户端。

1.3.1 一级服务器

一级服务器为漏洞信息库更新提供良好的基础条件。一级服务器在实际运行过程中,主要工作职责就是及时发现软件所存在的漏洞,并且下载针对性补丁文件,所产生的信息传输到子服务器。一级服务器是计算机软件漏洞检测系统内唯一一个能够与外部网络进行两个的的服务器,进而保证对于计算机进行及时更新。所以,计算机软件漏洞检测系统信息库数据更新水品与一级服务器之间的有着紧密关联。

1.3.2 二级服务器

二级服务器所具有的信息是一级服务器内部所包含的漏洞信息,公安信息网由于环境属于物理隔离,因此二级服务器想要与一级服务器信息保证同步,只能够应用储存介质的方式进行实现,这样二级服务器才能够与子服务器进行有效连接。二级服务器能够有效与子服务器进行补丁分配,进而做到信息资源的共享,提高系统拓展性能。

1.3.3 客户端

补丁及补丁信息在上级服务器下载完毕之后,在对于计算机漏洞扫描之后,对于补丁进行安装。客户端在实际应用过程中,需要将客户端与服务端之间连接,提高通信传效率,提升系统效率。

2 系统有关技术

2.1 基于主机的静态漏洞检测

基于主机的静态漏洞检测属于漏洞动态监测技术中的一种。在对于主机的静态漏洞检测过程中,首先需要注册表,计算机操作系统内的重要数据库就是注册表,注册表能够将操作系统及应用软件所设置及有关信心全部进行记录及储存,也可以注册表能够有效将计算机软件漏洞检测系统实际运行环境客观性反应出来。计算机软件漏洞检测系统内的客户端应用漏洞扫描模考,能够有效对于注册表所具有的特点进行针对性监测,进而找到计算机软件漏洞检测系统所存在的信息记录全部找出,将有关数据与漏洞信息数据库进行对比,进而形成漏洞列表的自动修复,用户就可以根据自身实际情况,对于补丁进行筛选及下载。

静态的主机系统对于漏洞检测国学中,首先需要以漏洞匹配表作为漏洞检测作为基础,这就需要漏洞匹配表内数据拥有较高的可靠性,并且还能够实时进行更新。本文在对于计算机软件漏洞检测系统设计及实现研究中,选择的是微软所发布的补丁知识库,该知识库在实际应用中需要及时进行更新维护,微软公司每个月都会对于知识库所存在的漏洞进行最新补丁颁布。

2.2 基于补丁的漏洞修复

客户端在启动之后,就会在网络环境内获得终端列表,利用终端列表能够有效获得网络环境内的终端地址及有关信息,进而保证计算机与网络进行连接,对于所获得的数据信息资源进行读取。终端计算机要是不存在有关数据资源,就可以重新选择一台计算机,让计算机与网络进行连接,进而获得数据资源,满足实际应用的需求。

终端列表所获得的数据资源要是与用户实际需求之间存在较大差距,终端列表就可以直接向服务端计算机进行连接,并且对于数据资源进行请求。服务器要是并没有找到做需要的数据资源,漏洞补丁下载就将失败。

漏洞补丁在下载安装之后,为了能够让用户应用更加方便,在安装过程中就需要应用静默式安全方式,在漏洞补丁知识库找到漏洞补丁所需要的有关参数,进而直接将漏洞补丁进行安装就可以了。漏洞补丁在安装完毕之后,就可以对于下一个漏洞补丁进行安装,直到最后一个漏洞补丁安装完毕。

2.3 漏洞信息与补丁文件的获取

2.3.1 漏洞信息与补丁文件的获取

计算机软件漏洞检测系统所获得的补丁信息全部都是在微软官网上面获取,进而能够有效保证补丁信息的全面及精准。在微软官网上面或者信息公告,主要目的就是满足系统在实际应用中的覆盖范围及实时性需求。

2.3.2 一级服务器对补丁文件的自动下载

计算机软件漏洞检测系统要是能够具有补丁自动下载功能,最为关键的就是能够自行对于补丁下载地址进行获取。首先,计算机软件漏洞检测系统需要将微软公司的网址下载到本地后,对于网址进行分离分析,进而找到网址内所具有的安全信息,例如公告号、漏洞描述等等;其次就是公告上面的URL下载到计算机系统内,对于安全公告进行划分分析,这样就能够获得每一个补丁的相信信息,例如补丁安全等级、软件名称等等;最后就是有服务器端将补丁全部数据都生成表格,并且将自动下载的全部补丁文件所对应的网址都自动读取,填写到本地文件目录中, 为用户提供补丁下载资源。

3 系统设计与实现

3.1 客户端的漏洞检测设计与实现

客户端漏洞检测主要有五部分构成,分别是漏洞扫描模块、用户界面模块、端口扫描模块、程序指纹识别模块及分布式下载模块。

3.1.1 漏洞检测模块

漏洞检测模块还分为三个功能单元,分别是操作系统漏洞检测子模块、第三方软件漏洞检测子模块及漏洞复子模块。

(1)操作系统漏洞检测子模块。操作系统漏洞检测子模块所应用的检测方式,是根据主机静态库漏洞扫描检测技术作为前提,所应用的静态库按照微软公司系统所发布的漏洞信息,具体步骤为:首先就需要对于漏洞信息模块进行调用获取,为漏洞补丁下载提供数据库,数据库在实际应用中,对于程序所具有的信息进行有效保护,防止其他恶意程序及违法行为对于造成影响,结构数据库具有64位的密钥匙;其次对于漏洞信息进行模块调用获取,对于系统通过漏洞库信息进行下载更新,在将漏洞信息库转变为普通数据库,按照普通数据库内数据结构对于漏洞数据库内的信息资源进行查找分析,并且将结果储存到针对性容器内,后期漏洞检测对比更加方便;最后就是将计算机系统内所存在的漏洞列表进行删除,进而有效得有系统所存在的漏洞列表。

(2)第三方软件漏洞检测子模块。计算机软件漏洞检测系统需要通过第三方软件获得补丁信息,并且安装目前操作系统内。

第三方软件漏洞检测模块所包含的内容角度,分别是:①从第三方软件内获取最新漏洞补丁及软件版本有关信息,并且将下载的第三方软件新系统信息安装到操作系统内;②第三方软件能够间系统最新版本信息及补丁信息在获取之后进行比较,并且安装到操作系统中,操作系统在安装第三方软件之后,就能够对于第三方软件不断进行更新;③第三方软件在当前操作系统安装之后,需要对于最新软件版本及漏洞补丁进行下载安装,不断对于软件进行完善;④第三方软件版本信息主要包含三方面信息,分别是第三方软件的名称、对于第三方软件最新信息进行描述及第三方软件最新版本下载地址。

(3)漏洞修复子模块。计算机软件漏洞检测系统在应用补丁的漏洞修复技术之后,漏洞检测模块能够有效将计算机内部下载但是并没有安装的补丁文件检测出来,漏洞修复子模块在补丁知识库内找到针对性启动参数之后,就能够直接将补丁文件进行安全,补丁在安全之后,系统就会对于下一个补丁进行安装,并且对于重启操作等等操作进行阻止,全部补丁文件在安装完毕之后,系统才会询问,用户根据自身实际情况选择计算机是否需要重启。

3.1.2 用户界面模块

在用户界面模块内,应用WTL基于SDK封装方式,能够提供一个十分有效的窗口架构,这种界面操作方式,能够为用户提供更加便捷的操作。

3.1.3 进程扫描模块

进程扫描模块能够根据系统操作进程所产生的信息,并且根据系统端口实际运行情况,能够给出安全的信息。

在对于知识库判别中,最佳方式就是对于服务端进行下载更新,在对于知识库分类分析之后,对于当前系统活动信息进行扫描,系统网络端口在分析占据之后,对于知识库进行阐述,对于系统资料及威胁程度进行针对性提出。所以,扫描步骤为:首先对于进程知识库进行下载更新,根据服务端允许下载,为服务器提供最新知识库,知识库所选择的本地数据库;其次就是对于进程列表进行扫描;最后就是通过知识库对于进程进行描述。

3.1.4 程序指纹识别模块

计算机程序在启动之后,客户端就会进入到一个监控模块内,对于计算机程序所进行的全部操作进行实时性监控监测。计算机软件漏洞检测系统要是实现实时性监控,就需要在系统上安装监视及控制进程。进程在实际创建过程中所需要包含的内容较多,并且需要分为多个步骤进行,在当全部步骤都落实之后,进程才能够启动。

进程在启动过程中所设计到的每一个步骤都是必要步骤。为了能够创建监视及控制进程,就需要利用计算机软件漏洞检测系统内所具有的函数关系式,对于保证进程步骤无法通过所创建的代码。

3.1.5 分布式下载模块

在计算机软件漏洞检测系统内应用分布式下载模块,主要目的就是降低局域网对于服务器所造成的影响,任何一个终端都能够提供相同的服务,并且每一个终端内都具有下载模块,终端在启动之后,都能够向服务器传输自身地址等等基础信息。服务器终端内会形成一个信息列表,对于用户提供有关信息。

3.2 服务端的漏洞检测设计与实现

服务端是计算机软件漏洞检测系统信息数据的源头,与此同时还能够对于信息数据进行知识类别及漏洞的实现,漏洞补丁也是从服务端进行下载,对于网络流量能够有效进行控制。服务端除了用户界面模块部分,还具有四部分模块,分别是漏洞信息库模块、评估规则模块、用户信息库模块及特征指纹模块。

3.2.1 漏洞信息库模块

漏洞信息库模块主要包括两个子模块,分别是操作系统漏洞获取子模块及第三方软件漏洞获取子模块。操作系统漏洞获取子模块在对于信息获取中,主要是根据微软所公布出现的漏洞信息进行跟踪,对于系统所存在的已知漏洞信息进行收集,并且将操作系统所具有的补丁信息进行读取。

(1)操作系统漏洞获取子模块。操作系统漏洞获取子模块主要是对于微软所公布出现的信息进行跟踪,同时对于系统所具有的最近漏洞信息进行收集,进而保证对于系统最新漏洞信息济宁掌握。系统最新漏洞信息主要包括三种,分别是漏洞名称、漏洞危险程度及漏洞所影响的系统版本。

(2)第三方软件漏洞获取子模块。第三方软件漏洞获取子模块主要是对于计算机系统内的第三方软件进行完善,更新及维护第三方软件所公布出来的漏洞信息,保证计算机系统内所应用第三方软件信息与官网漏洞信息相吻合,下子第三方软件最近补丁或者是版本,并且将最新补丁或者是版本安装到计算机内。

3.2.2 评估规则库模块

评估规则库模块属于判别知识库,能够根据用户实际应用需求进行扩展,并且对其安全性能进行判断,主要就是对于客户端所存在的异常端口进行扫描,判断计算机中那个端口真正运行。管理人员能够通过评估规则库模块对于服务端接口进行了解,掌握对于软件造成影响的信息,进而构成具有结构性的知识库。管理人员在对于知识库输入信息之后,知识库能够根据实际情况进行扩充,增加知识库内信息数量。

3.2.3 用户信息库模块

用户信息库模块是计算机软件漏洞检测系统内的重要组成部分,主要是对于分布式下载进行控制,属于知识库。在用户信息库模块内的知识库中,该知识库将用户在客户端上面所产生的全部数据信息都进行记录及储存。客户端在获取知识库数据信息之后,能够直接从网络环境中进行下载,或者是提供下载功能。

服务终端在启动之后,服务端就能够为用户提供NgixWEB服务,与此同时附带模块也能够运行,在这个过程中计算机防火墙还能够添加策略信息,对于防火墙进行初始化设置,保证防火墙的启动与函数关系计算所的得到的参数相吻合。防火墙要是在启动之后就添加策略信息,就能够启动提供服务。

3.2.4 用户界面模块

计算机软件漏洞检测系统在用户界面模块中,选择的是WTL基于SDK封装的窗口框架。用户界面模块主要应用就是能够为用户提供一个良好的界面体验,在实际操作过程中更加便捷。

4 结论

本文在对于计算机软件漏洞检测系统的设计与实验研究中,根据计算机软件漏洞有关理论知识,对于计算机软件漏洞检测方法进行了详细分析研究,并且根据公安部门计算机漏洞检测的实际情况,形成了一个较为完善的解决方案,能够有效将计算机软件漏洞自我检测与网络修复结合在一起。计算机软件漏洞检测系统在实际应用中不仅仅能够对于已知漏洞进行检测,还能够对于补丁进行下子及自动安全,有效提高计算机安全性能。

参考文献

[1]翟钰,张玉清,武维善,胡建武.系统安全漏洞研究及数据库实现[J].计算机工程,2014(04):68-71.

[2]朱静.安全漏洞及其修补技术的研究[D].西安:西安电子科技大学计算机系统结构专业硕士学位论文,2015:5-9.

[3]柳崧轶.基于C语言的程序安全性分析[D].长春:吉林大学计算机应用专业硕士学位论文,2013:6-9.

[4]CNCERT安全报告:软件漏洞成重大隐患[J].网络与信息,2011(04):57.

[5]单国栋,戴英侠,王航.计算机漏洞分类研究[J].计算机工程,2012(10):3-6.

[6]王志平.基于指标体系的网络安全态势评估研究[D].长沙:国防科学技术大学计算机科学与技术学院硕士学位论文,2015:5-9.

[7]潘玉珣.桌面安全管理技术现状与发展趋势[J].信息安全与技术,2014(08):13-16.

[8]刘欣.Windows 2000操作系统的安全漏洞检测方法及其安全对策的研究[D].北京:中国电力科学研究院计算机应用技术专业硕士学位论文,2015:12-17.

[9]任亚洲.Windows系统漏洞的研究[J].科技信息,2014(25):426.

[10]黄明,曾庆凯.软件脆弱性分类属性研究[J].计算机工程,2013(01):184-187.

[11]王湘新.湖南省公安消防部队补丁管理系统建设方案[J].信息安全与通信保密,2014(05):99-101.

[12]薛冰,孙寿利.局域网内Windows系统补丁自动更新的实现与应用[J].网络与信息,2013(11):27.

[13]李建安,谷利泽,杨义先.漏洞扫描与补丁管理系统的设计与实现[C].第一届中国高校通信类院系学术研讨会论文集[M].北京:电子工业出版社,2013:471-475.

[14]康峰.网络漏洞扫描系统的研究与设计[J].电脑开发与应用,2014(10):27-29.

[15]王雨晨.系统漏洞原理与常见攻击方法[J].计算机工程与应用,2015(03):62-64.

作者简介

张小敏(1979-),女,陕西省咸阳市人。曾毕业于兰州交通大学,获得硕士学位。现为西北师范大学数学与统计学院助教。研究方向为计算机软件与理论。

作者单位

西北师范大学数学与统计学院 甘肃省兰州市 730070

猜你喜欢
网络安全
网络安全知多少?
新形势下的特种设备网络安全防护探讨
新量子通信线路保障网络安全
网络安全
网络安全人才培养应“实战化”
上网时如何注意网络安全?
网络安全与执法专业人才培养探索与思考
设立网络安全专项基金 促进人才培养
网络安全监测数据分析——2015年12月
网络安全监测数据分析——2015年11月