一种软件版本一致性检测系统及其检测方法与流程

文档序号:12270872阅读:493来源:国知局
一种软件版本一致性检测系统及其检测方法与流程

本发明涉及软件版本一致性检测技术,特别涉及一种软件版本一致性检测系统及其检测方法。



背景技术:

目前,针对软件版本的一致性校验技术有多种,国内外主流技术包括:基于HASH值校验、基于日志信息校验、基于数字水印、基于License和基于USBkey的一致性校验技术。

基于HASH值校验软件版本一致性的校验技术,是基于MD5的软件版本检验技术。首先,根据软件的组成部分进行全面的数字哈希。其次,哈希数值具有特定性,即对于同一软件版本是一样的或是功能相同的。再次,哈希数值要有保密性,即不易被他人查到并破解。基于这些特点,可以把该技术概况如下:(1)通过获取软件信息得到唯一的哈希数值(例如:软件源码文件、配置文件、引用文件包等);(2)采用MD5散列技术,通过把哈希数值码转换成MD5注册码,传送回服务器端,对系统进行校验和跟踪。这种技术使用的算法简单,易于实现,但是,由于MD5算法易于破解,使得软件的MD5校验值可能被截取和篡改,存在安全风险。

基于日志信息的一致性校验技术,是在网络设备、系统及服务程序运作时,都会产生一个叫log的事件记录;每一行日志都记载着日期、时间、使用者及动作等相关操作的描述。在服务器上进行软件安装,服务的添加,都会相应的记录下这些操作的相关内容,如时间,ip地址,软件名,版本号等。可以通过多线程在服务器上创建新的线程,在软件启动时,自动启用多线程,获取本地的日志文件,获取相关软件版本信息,来完成校验。这种校验技术不需要对软件进行改动,在服务器端部署程序即可,但是,这类技术的缺点是需要运维部门的配合,部署,并且日志信息容易伪造。

至于基于数字水印、基于License和基于USBkey的一致性校验技术,主要功能是保护软件的正版性,不能解决软件测试版本与上线部署版本不一致而导致出现的安全风险问题。



技术实现要素:

鉴于上述问题,提出了本发明,以便提供一种克服上述问题或至少部分地解决上述问题的一种软件版本一致性检测系统及其检测方法。

根据本发明的一个方面,提供一种软件版本一致性检测系统,包括服务端、客户端和信息传输模块,其特征在于:

所述服务端用于接收所述客户端传来的数据并进行文本比对和校验值比对,然后将结果展示;

所述客户端用于计算并发送待检测软件的文件校验值和配置文件至所述服务端;

所述信息传输模块用于所述服务端与所述客户端之间的相互通信。

进一步的,所述服务端还用于监控所述客户端的在线状态,向所述客户端发送定时检测任务以及保存比对结果,所述服务端采用B/S架构。

进一步的,所述客户端包括校验值计算模块,用于进行校验值的计算。

进一步的,所述校验值计算模块根据制定的路径找到待检测的软件,然后将其目录下的所有制定后缀名的文件使用HASH函数计算出对应的校验值,最后保存至TXT文件中。

进一步的,所述信息传输模块采用SSL协议,实现身份认证、加密传输和完整性校验,并且提供对所述服务端的IP地址验证机制。

进一步的,所述服务端包括:

访问控制模块,用于软件版本一致性检测系统服务端的入口管理,包括控制用户添加、用户审核以及用户登录操作;

样本库管理模块,用于管理样本数据库,包括样本库的增加、删除、修改和查询,用户将待检测软件的源代码在规定的编译环境下生成安装文件后,打包上传至所述服务端,所述服务端对软件的安装文件计算校验值后存到样本数据库;

引擎比对模块,包括文本比对单元和校验值比对单元两部分,将两部分的比对结果取“与”的关系即为一款软件最终的一致性检测结果,其中,所述文本比对单元,用于将所述客户端发来的XML配置文件与样本库中的基准文件进行比对并判断是否一致;所述校验值比对单元,用于将所述客户端发来的校验值与样本库中的基准校验值进行比对并判断是否一致;

比对结果输出模块,用于显示比对结果。

进一步的,将所述客户端发来的XML配置文件与样本库中的基准文件进行比对的具体方法为:所述服务端先从所述客户端处接收到待测软件的所有XML配置文件后,再从样本库中找到对应的基准文件,均以按行读取的方式打开并比较,若发现某一行内容不一致,则判断整个软件版本不一致;

将所述客户端发来的校验值与样本库中的基准校验值进行比对的具体方法为:所述客户端按指定路径找到目标软件,分别计算该软件目录下所有文件的校验值,然后发送给所述服务端;所述服务端接收后,将其与事先计算好并存储在样本数据库中的基准校验值一一进行对应的比较,若发现某个文件的校验值不一致,则判断整个软件版本不一致。

进一步的,所述服务端还包括:客户端监控模块,用于查看一致性检测系统的客户端是否在线,以及定时向一致性检测系统的客户端发送定时检测任务;和/或

日志记录模块,用于记录对所述服务端进行的所有操作。

根据本发明的另一方面,还提供一种软件版本一致性的检测方法,所述方法包括如下步骤:

客户端计算并发送文件校验值和程序配置文件至服务端;

所述服务端接收所述客户端传来的数据并进行文本比对和校验值比对;

所述服务端将比对结果展示并保存。

进一步的,所述文本比对是将待检测软件的所有.xml格式的配置文件以按行读取的方式与样本库实现储存的基准文件进行文本比对;所述校验值比对是一致性检测系统客户端首先计算待检测软件里所有文件的校验值,发送给一致性检测系统服务端,然后一致性检测系统服务端将其与样本库里实现储存的基准值进行比对。

本发明可解决由软件测试版本与上线部署版本不一致而导致的安全风险问题,结合文本比对与校验值比对两种比对方式,对软件源版本做出完整、有效的一致性鉴别。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一种实施例的软件版本一致性检测系统功能结构示意图。

图2为本发明一种实施例的软件版本一致性检测系统服务端的架构示意图。

图3为本发明另一种实施例的软件版本一致性检测方法的流程示意图。

具体实施方式

下面将参照附图更详细的描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明,而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能更透彻的理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。

软件版本一致性检测就是用于检测目标软件是否与基准样本一致的技术。其本质是检测目标软件的所有文件(包括可执行文件、动态链接库、配置文件等)是否与基准样本一致。本发明的软件版本一致性检测系统将校验值比对安装文件、文本比对配置文件两种方法相结合,通过一致性检测系统服务端对一致性检测系统客户端的随时监控,以达到检测软件版本是否一致的目的。

根据本发明的一个方面,提供一种软件版本一致性检测系统,如图1所示,本系统采用C/S架构(Client/Server,客户机和服务器结构),包括服务端10、客户端20和信息传输模块30。其中:

服务端10用于接收客户端20传来的数据并进行文本比对和校验值比对,然后将结果展示。服务端10还具有监控客户端20的在线状态,向客户端20发送定时检测任务以及保存比对结果等功能。服务端10采用B/S架构(Browser/Server,浏览器/服务器模式),需要登录以后才能得到相应的操作权限,用户通过浏览器登录WEB服务器后,可以配置一致性检测系统服务端、查看一致性检测系统客户端是否在线、样本库的增删改查、命令一致性检测系统客户端发送校验值和配置文件以及查看检测结果等。

客户端20用于计算并发送文件校验值和程序配置文件至服务端10。客户端20部署在运营商服务器(运行有待检测软件的计算机)上,负责向一致性检测系统服务端10发送待检测软件的文件校验值和配置文件。客户端20包括校验值计算模块21,用于进行校验值的计算。根据制定的路径找到待检测的软件,然后将其目录下的所有制定后缀名的文件使用HASH函数计算出对应的校验值,最后保存至TXT文件中。

信息传输模块30用于服务端10与客户端20之间的相互通信,比如,用于服务端10与客户端20之间进行数据传递,或者客户端20向服务端10发送被检测软件的校验值和配置文件,或者服务端10向客户端20发送定时检测任务等信息。信息传输模块30采用SSL协议,实现身份认证、加密传输和完整性校验,并且提供对服务端10的IP地址验证机制,提升网络访问的安全性。

具体的,服务端10包括:

访问控制模块11,用于软件版本一致性检测系统服务端的入口管理,包括用户添加、用户审核以及用户登录等操作,用户登录操作又分为新用户注册和已注册用户的登录操作。另外,针对不同的用户权限,不同的用户自动进入不同的页面,用户需要使用已知的用户名和密码登录系统,然后才能执行附和对应权限的操作。用户权限可分为三类:

普通用户:能对样本库管理模块进行管理,更新一致性比对信息,对一致性检测系统的客户端进行监控,查看统计信息,查看比对结果以及导出报告等。

管理员:能够新建用户,查看已有用户。

审核员:审核用户信息,决定是否通过管理员申请新建的用户,即只有审核员通过的用户才能使用本系统。

样本库管理模块12,用于管理样本数据库,包括样本库的增加、删除、修改和查询。用户将待检测软件的源代码在规定的编译环境下生成安装文件(即.jar、.class、.dll、.so、.o、.exe或.lib文件)后,打包上传至一致性检测系统服务端,一致性检测系统服务端对软件的安装文件计算校验值后存到样本数据库。

客户端监控模块13,用于查看一致性检测系统的客户端是否在线,以及定时向一致性检测系统的客户端发送定时检测任务。定时检测任务以XML配置文件的形式发送给一致性检测系统的客户端,一致性检测系统的客户端读取里面的时间参数对自身进行设置。

引擎比对模块14,主要包括文本比对单元和校验值比对单元两部分,将两部分的比对结果取“与”的关系即为一款软件最终的一致性检测结果。

文本比对单元141,用于将客户端20发来的XML配置文件与样本库中的基准文件进行比对并判断是否一致。具体的,服务端10先从客户端20处接收到待测软件的所有XML配置文件后,再从样本库中找到对应的基准文件,均以按行读取的方式打开并比较,若发现某一行内容不一致,则判断整个软件版本不一致,同时予以标记并展示。

校验值比对单元142,用于将客户端20发来的校验值与样本库中的基准校验值进行比对并判断是否一致。具体的,客户端20需要检测软件一致性时,按指定路径找到目标软件,分别计算该软件目录下所有文件的校验值,然后发送给服务端10。服务端10接收后,将其与事先计算好并存储在样本数据库中的基准校验值一一进行对应的比较,若发现某个文件的校验值不一致,则判断整个软件版本不一致,同时将检测结果储存。

比对结果输出模块15,用于显示比对结果。比对完成后,比对结果输出模块会显示具体结果,包括所有文件的校验值以及XML配置文件,并且会标记出所有的不一致处。此外,还会将近期的所有检测结果以饼图和曲线图的方式展示,方便进行统计分析。并且支持对每次检测结果导出为HTML和Word格式的报告文件。

作为上述实施例的进一步改进,服务端10还包括日志记录模块16,用于记录对服务端10进行的所有操作,包括操作时间、操作人员和操作内容等,记录结果会以TXT文件的形式保存,并且能够直接在浏览器登录查看。日志记录模块还能够将所有对数据库(包括用户数据库和样本数据库)的操作记录为日志文档,用户可以通过浏览器登录查看以往的所有操作历史。

如图2所示,一致性检测系统服务端采用分为B/S架构,用户可通过浏览器端登录Web服务器后对整个系统进行操作。有以下几种工作流程:

当用户通过浏览器端向Web服务器发送导入样本库请求时,Web服务器读取待导入样本库的文件,计算该样本安装文件的校验值,写入结构化信息后,存储进基准样本数据库中。

当用户通过浏览器端向Web服务器发送客户端控制请求信息,即设置客户端的定时计算并发送校验值与配置文件至Web服务器的定时任务信息。Web服务器将控制信息发送给客户端,客户端根据控制信息,定时计算软件安装文件校验值,并将计算好的校验值和配置文件返回给Web服务器。当Web服务器获取客户端信息后,将保存下来,待用户提交一致性请求时,用该信息与样本库进行一致性任务比较。

当用户通过浏览器端向Web服务器发送软件版本一致性检测对比请求时,Web服务器进行比对任务发布,读取客户端的校验值和配置文件,通过从基准样本数据库中查询样本,进行文本比对和文件校验值比对任务处理,比对后输出分析结果并存储在结果数据库中,读取结果并返回给浏览器端。

本发明软件版本一致性检测系统的主要目标是结合文本比对与校验值比对两种比对方式,对软件源版本做出完整、有效的一致性鉴别。本发明与其他一致性检测方式相比,更契合实际需求,结合安全的加密和传输机制,客户端只需进行初始化操作,剩余工作均可自动进行。

根据本发明的另一方面,还提供一种软件版本一致性的检测方法,该检测方法基于上述检测系统的原理,因此不再赘述。如图3所示,检测方法包括如下步骤:

步骤S310,客户端计算并发送文件校验值和程序配置文件至服务端。

步骤S320,服务端接收客户端传来的数据并进行文本比对和校验值比对。文本比对是将待检测软件的所有.xml格式的配置文件以按行读取的方式与样本库实现储存的基准文件进行文本比对。校验值比对是一致性检测系统客户端首先计算待检测软件里所有文件的校验值,发送给一致性检测系统服务端,然后一致性检测系统服务端将其与样本库里实现储存的基准值进行比对。这两种比对的结果取与,即得目标软件的一致性检测结果。

步骤S330,服务端将比对结果展示并保存。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅为本发明之较佳实施例,并非用以限定本发明的权利要求保护范围。同时以上说明,对于相关技术领域的技术人员应可以理解及实施,因此其他基于本发明所揭示内容所完成的等同改变,均应包含在本权利要求书的涵盖范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1