软件识别方法、装置及非易失性存储介质与流程

文档序号:33393314发布日期:2023-03-08 12:06阅读:66来源:国知局
软件识别方法、装置及非易失性存储介质与流程

1.本技术涉及金融科技领域,具体而言,涉及一种软件识别方法、装置及非易失性存储介质。


背景技术:

2.随着知识产权保护和信创安全的持续加强,企业在软件安全合规方面的审查需求持续增加,违规使用也是企业管理者面对的一项法律、审计方面的风险。对于一个小型企业,可以通过人工巡检方式,检查客户端中是否使用预定类型的软件(如违规软件),但是对诸如金融行业、通信行业、互联网行业等技术密集型的大型企业,有数量庞大的客户端,简单通过人工巡检几乎是一件不可能完成的事情。同时,企业管理的软件台账,由于台账记录的软件名称、软件版本号与客户端中使用的软件名称、软件版本号不一致,无法精确识别是否使用违规软件,导致软件识别准确性较低。
3.针对相关技术中相关技术中对于预定类型软件(如违规软件)识别准确度低,无法及时预警和防控的问题,目前尚未提出有效的解决方案。


技术实现要素:

4.本技术的主要目的在于提供一种软件识别方法、装置及非易失性存储介质,以解决相关技术中相关技术中对于预定类型软件(如违规软件)识别准确度低,无法及时预警和防控的问题。
5.为了实现上述目的,根据本技术的一个方面,提供了一种软件识别方法。该方法包括:获取待识别软件,以及上述待识别软件对应的目标软件版本信息;确定与上述待识别软件对应的第一软件版本信息,其中,上述第一软件版本信息为预定类型软件对应的软件版本信息;获取上述目标软件版本信息与上述第一软件版本信息之间的匹配窗口长度;确定上述匹配窗口长度内,上述目标软件版本信息与上述第一软件版本信息之间的第一匹配字符数和第二匹配字符数,其中,上述第一匹配字符数为上述匹配窗口长度内上述目标软件版本信息与上述第一软件版本信息之间匹配字符的数量,上述第二匹配字符数为上述匹配窗口长度内上述目标软件版本信息与上述第一软件版本信息之间顺序不同的匹配字符的数量;基于上述第一匹配字符数和上述第二匹配字符数,得到上述目标软件版本信息与上述第一软件版本信息之间的软件相似度;根据上述软件相似度,确定上述待识别软件的目标识别结果,其中,上述目标识别结果为:上述待识别软件为预定类型软件,或者上述待识别软件不是预定类型软件。
6.为了实现上述目的,根据本技术的另一方面,提供了一种软件识别装置。该装置包括:第一获取模块,用于获取待识别软件,以及上述待识别软件对应的目标软件版本信息;第一确定模块,用于确定与上述待识别软件对应的第一软件版本信息,其中,上述第一软件版本信息为预定类型软件对应的软件版本信息;第二获取模块,用于获取上述目标软件版本信息与上述第一软件版本信息之间的匹配窗口长度;第二确定模块,用于确定上述匹配
窗口长度内,上述目标软件版本信息与上述第一软件版本信息之间的第一匹配字符数和第二匹配字符数,其中,上述第一匹配字符数为上述匹配窗口长度内上述目标软件版本信息与上述第一软件版本信息之间匹配字符的数量,上述第二匹配字符数为上述匹配窗口长度内上述目标软件版本信息与上述第一软件版本信息之间顺序不同的匹配字符的数量;第三获取模块,用于基于上述第一匹配字符数和上述第二匹配字符数,得到上述目标软件版本信息与上述第一软件版本信息之间的软件相似度;第三确定模块,用于根据上述软件相似度,确定上述待识别软件的目标识别结果,其中,上述目标识别结果为:上述待识别软件为预定类型软件,或者上述待识别软件不是预定类型软件。
7.为了实现上述目的,根据本技术的另一方面,提供了一种非易失性存储介质。该非易失性存储介质存储有多条指令,上述指令适于由处理器加载并执行任意一项上述的软件识别方法。
8.通过本技术,通过获取待识别软件,以及上述待识别软件对应的目标软件版本信息;确定与上述待识别软件对应的第一软件版本信息,其中,上述第一软件版本信息为预定类型软件对应的软件版本信息;获取上述目标软件版本信息与上述第一软件版本信息之间的匹配窗口长度;确定上述匹配窗口长度内,上述目标软件版本信息与上述第一软件版本信息之间的第一匹配字符数和第二匹配字符数,其中,上述第一匹配字符数为上述匹配窗口长度内上述目标软件版本信息与上述第一软件版本信息之间匹配字符的数量,上述第二匹配字符数为上述匹配窗口长度内上述目标软件版本信息与上述第一软件版本信息之间顺序不同的匹配字符的数量;基于上述第一匹配字符数和上述第二匹配字符数,得到上述目标软件版本信息与上述第一软件版本信息之间的软件相似度;根据上述软件相似度,确定上述待识别软件的目标识别结果,其中,上述目标识别结果为:上述待识别软件为预定类型软件,或者上述待识别软件不是预定类型软件,达到了准确识别待识别软件是否为预定类型软件的目的,解决了相关技术中相关技术中对于预定类型软件(如违规软件)识别准确度低,无法及时预警和防控的问题。进而达到了提升预定类型软件识别效率和识别准确性,及时采取相关应对措施的效果。
附图说明
9.构成本技术的一部分的附图用来提供对本技术的进一步理解,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
10.图1是根据本技术实施例提供的软件识别方法的流程图;
11.图2是根据本技术实施例提供的一种可选的用于实施本软件识别方法的装置原理图;
12.图3是根据本技术实施例的软件识别装置的示意图;
13.图4是根据本技术实施例的电子设备的示意图。
具体实施方式
14.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
15.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的
附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
16.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
17.为了便于描述,以下对本技术实施例涉及的部分名词或术语进行说明:
18.违规软件:存在安全漏洞风险、禁止使用的软件,未获得授权使用、存在法律风险的软件。
19.软件台账:企业内建立的软件清单台账,包括可供使用的合法软件、及禁止使用的违规软件,软件台账至少包含软件名称、软件版本号等信息。
20.字符串相似度比较算法:对两个字符串的相似度进行打分,得出两个字符串的相似程度。
21.agent程序:在客户端安装的驻留程序,根据定时策略扫描客户端采集部署、运行的“软件名称、软件版本号”,并可主动或被动与地后台控制系统进行通讯。
22.需要说明的是,本技术所涉及的相关信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。例如,本系统和相关用户或机构间设置有接口,在获取相关信息之前,需要通过接口向前述的用户或机构发送获取请求,并在接收到前述的用户或机构反馈的同意信息后,获取相关信息。
23.下面结合优选的实施步骤对本发明进行说明,图1是根据本技术实施例提供的软件识别方法的流程图,如图1所示,该方法包括如下步骤:
24.步骤s101,获取待识别软件,以及上述待识别软件对应的目标软件版本信息。
25.可选的,上述待识别软件可以但不限于为客户端上安装运行的软件。上述软件版本信息客户但不限于包括:上述待识别软件对应的软件名称、软件版本号,等等。
26.步骤s102,确定与上述待识别软件对应的第一软件版本信息,其中,上述第一软件版本信息为预定类型软件对应的软件版本信息。
27.可选的,上述预定类型软件是基于软件是否违规来划分的,对应的第一软件版本信息可以理解为第一违规软件版本信息。违规软件可以理解为存在安全漏洞风险、禁止使用的软件,以及未获得授权使用、存在法律风险的软件,等等。
28.在一种可选的实施例中,上述确定与上述待识别软件对应的第一软件版本信息,包括:获取预定类型软件信息,其中,上述预定类型软件信息包括多个预定类型软件分别对应的预定类型软件版本信息;分别确定上述目标软件版本信息与上述多个预定类型软件分别对应的预定类型软件版本信息之间的字符相似度,其中,上述字符相似度为上述目标软件版本信息与上述多个预定类型软件分别对应的预定类型软件版本信息之间的匹配字符
的数量;根据上述目标软件版本信息与上述多个预定类型软件分别对应的预定类型软件版本信息之间的字符相似度,确定上述第一软件版本信息。
29.可选的,上述预定类型的软件信息可以通过预定软件清单的形式存储,用于存储预定类型软件对应的预定类型软件版本信息(如软件名称、软件版本编号等)。对预定类型软件版本信息与待识别软件对应的目标软件版本信息进行字符对比,根据预定类型软件版本信息与目标软件版本信息之间的字符相似度,从预定类型软件信息中识别出第一软件版本信息。
30.在一种可选的实施例中,上述根据上述目标软件版本信息与上述多个预定类型软件分别对应的预定类型软件版本信息之间的字符相似度,确定上述第一软件版本信息,包括:确定上述目标软件版本信息与上述多个预定类型软件分别对应的预定类型软件版本信息之间的字符相似度最大的预定类型软件版本信息,作为第二软件版本信息;判断上述第二软件版本信息与上述目标软件版本信息之间的相似度是否大于预设的字符相似度阈值;若上述第二软件版本信息与上述目标软件版本信息之间的相似度大于上述字符相似度阈值,则将上述第二软件版本信息作为上述第一软件版本信息。
31.可选的,若上述第二软件版本信息与上述目标软件版本信息之间的相似度小于或等于上述字符相似度阈值,则表明上述第二软件版本信息与上述目标软件版本信息之间的相似度较小,则确定上述待识别软件对应的目标识别结果为上述待识别软件不是预定类型软件。
32.可选的,以上述预定类型软件信息为违规软件信息为例,上述违规软件信息存储有多个违规软件分别对应的违规软件版本信息。分别将多个违规软件版本信息与目标软件版本信息进行字符对比,分别确定出多个违规软件版本信息与目标软件版本信息之间的字符相似度,将多个违规软件版本信息中字符相似度最大,并且大于字符相似度阈值的违规软件版本信息作为最终得到的第一软件版本信息,上述第一软件版本信息用于与目标软件版本信息做出进一步的对比,以最终确定上述待识别软件是否为违规软件。
33.可选的,可以但不限于通过字符串相似度比较算法jaro similarity算法,确定上述目标软件版本信息与上述第一软件版本信息之间的软件相似度,具体过程如步骤s103至步骤s105所示。
34.步骤s103,获取上述目标软件版本信息与上述第一软件版本信息之间的匹配窗口长度。
35.可选的,上述匹配窗口长度是基于目标软件版本信息对应的第一字符长度,以及第一软件版本信息对应的第二字符长度综合确定的。上述窗口匹配长度用于限定上述目标软件版本信息与上述第一软件版本信息之间的字符比较范围。即在上述窗口匹配长度范围内,比较确定上述目标软件版本信息与上述第一软件版本信息之间的匹配字符数。
36.在一种可选的实施例中,上述获取上述目标软件版本信息与上述第一软件版本信息之间的匹配窗口长度,包括:获取上述目标软件版本信息的第一字符长度,以及上述第一软件版本信息对应的第二字符长度;基于上述第一字符长度和上述第二字符长度,确定上述匹配窗口长度。
37.在一种可选的实施例中,上述基于上述第一字符长度和上述第二字符长度,确定上述匹配窗口长度,包括:确定上述第一字符长度与上述第二字符长度中的最大值;基于上
述最大值,确定上述匹配窗口长度。
38.可选的,基于上述第一字符长度和上述第二字符长度,通过如下方式得到上述匹配窗口长度:
[0039][0040]
其中,mw表示上述匹配窗口长度,s1表示上述第一字符长度,s2表示上述第二字符长度,max(|s1|,|s2|)表示上述第一字符长度与上述第二字符长度中取最大值,表示结果取整数部分。
[0041]
步骤s104,确定上述匹配窗口长度内,上述目标软件版本信息与上述第一软件版本信息之间的第一匹配字符数和第二匹配字符数。
[0042]
可选的,上述第一匹配字符数为上述匹配窗口长度内上述目标软件版本信息与上述第一软件版本信息之间匹配字符的数量,上述第二匹配字符数为上述匹配窗口长度内上述目标软件版本信息与上述第一软件版本信息之间顺序不同的匹配字符的数量。
[0043]
可选的,上述目标软件版本信息与上述第一软件版本信息之间的字符比较限定在匹配窗口长度(matching window,即mw)范围内,如果在匹配窗口长度内两个字符相同,则表示匹配成功,对应的匹配字符数加1;如果超出匹配窗口长度范围,则两个字符匹配失败。需要说明的是,在匹配窗口长度内进行字符匹配时,不仅要考虑字符是否相同,同时考虑相同字符的对应位置是否相同,如果对应位置相同,则将第一匹配字符数加计数1,如果对应位置不同,则将第二匹配字符数计数加1。
[0044]
步骤s105,基于上述第一匹配字符数和上述第二匹配字符数,得到上述目标软件版本信息与上述第一软件版本信息之间的软件相似度。
[0045]
在一种可选的实施例中,上述基于上述第一匹配字符数和上述第二匹配字符数,得到上述目标软件版本信息与上述第一软件版本信息之间的软件相似度,包括:获取上述第一字符长度,上述第二字符长度;基于上述第一字符长度,上述第二字符长度,上述第一匹配字符数以及上述第二匹配字符数,确定上述软件相似度。
[0046]
可选的,基于上述第一匹配字符数和上述第二匹配字符数,通过如下方式得到上述软件相似度:
[0047][0048]
其中,simj表示上述软件相似度,m表示上述第一匹配字符数,t表示上述第二匹配字符数。
[0049]
步骤s106,根据上述软件相似度,确定上述待识别软件的目标识别结果,其中,上述目标识别结果为:上述待识别软件为预定类型软件,或者上述待识别软件不是预定类型软件。
[0050]
在一种可选的实施例中,上述根据上述软件相似度,确定上述待识别软件的目标识别结果,其中,上述目标识别结果为:上述待识别软件为预定类型软件,或者上述待识别软件不是预定类型软件,包括:在上述软件相似度大于预设的目标相似度阈值的情况下,确定上述目标识别结果为:上述待识别软件为预定类型软件;或者在上述软件相似度小于或
等于预设的目标相似度阈值的情况下,确定上述目标识别结果为:上述待识别软件不是预定类型软件。
[0051]
通过以上方式,在上述预定类型软件为违规软件,并且待识别软件与违规软件之间的软件相似度大于预设的目标相似度阈值的情况下,则表明上述待识别软件与违规软件之间较为接近,进而确定上述待识别软件为违规软件。
[0052]
在一种可选的实施例中,在上述待识别软件对应的目标软件版本信息为多个,多个目标软件版本信息分别有对应的软件相似度的情况下,上述根据上述软件相似度,确定上述待识别软件的目标识别结果,包括:在上述软件相似度大于预设的目标相似度阈值的情况下,确定上述目标识别结果为:上述待识别软件为预定类型软件,包括:在上述多个目标软件版本信息分别对应的软件相似度均大于对应的目标相似度阈值的情况下,确定上述目标识别结果为:上述待识别软件为预定类型软件;在上述软件相似度小于或等于预设的目标相似度阈值的情况下,确定上述目标识别结果为:上述待识别软件不是预定类型软件,包括:在上述多个目标软件版本信息分别对应的软件相似度中任意一个小于或等于对应的目标相似度阈值的情况下,确定上述目标识别结果为:上述待识别软件不是预定类型软件。
[0053]
通过以上方式,在目标软件版本信息为多个,并且多个目标软件版本信息分别对应的软件相似度均大于对应的目标相似度阈值的情况下,则确定上述待识别软件为预定类型软件(如违规软件)。可选的,以上述多个目标软件版本信息包括软件名称和软件版本号,上述软件相似度包括软件名称相似度和软件版本号相似度为例,在目标软件版本信息与某一个违规软件版本信息之间的软件名称相似度和软件版本号相似度均大于对应的目标相似度阈值(如0.7)的情况下,确定待识别软件为违规软件。在软件名称相似度或软件版本号相似度小于或等于对应的目标相似度阈值(如0.7)的情况下,确定待识别软件不是违规软件。
[0054]
通过上述步骤s101至步骤s106,可以达到准确识别待识别软件是否为预定类型软件的目的,解决相关技术中相关技术中对于预定类型软件(如违规软件)识别准确度低,无法及时预警和防控的问题。进而达到提升预定类型软件识别效率和识别准确性,及时采取相关应对措施的效果。
[0055]
基于上述实施例和可选实施例,本发明提出一种可选实施方式,具体包括如下步骤:
[0056]
步骤s1,将多个软件版本信息定义为“软件名称、软件版本号”,待识别软件对应的软件名称字符串为“mysql_enterprise”,软件版本号的字符串为“v1.1.100”。
[0057]
步骤s2,在违规软件信息中搜索到一款违规软件,对应软件名称的字符串为“mysql”,软件版本号的字符串为“1.1.100”。
[0058]
步骤s3,针对软件名称的字符串相似度比较:“mysql”的软件名称字符串长度|s1|为5。“mysql_enterprise”的软件名称字符串长度|s2|为16。根据下述公式计算匹配窗口长度mw=7。
[0059][0060]
在匹配窗口mw=7内,s1(mysql)与s2(mysql_enterprise)的匹配字符数(即第一匹配字符数)m=5,不同顺序的匹配字符数(即第二匹配字符数)t=0。根据下述公式计算软
件名称的字符串相似度simj=0.77,具体公式代入如下。
[0061][0062]
步骤s4,针对软件版本号的字符串相似度比较:“v1.1.101”的软件名称字符串长度|s1|为8。“1.1.100”的软件名称字符串长度|s2|为7。根据下述公式计算匹配窗口mw=3。
[0063][0064]
在匹配窗口mw=3内,s1(1.1.100)与s2(v1.1.100)的匹配字符数(即第一匹配字符数)m=7,不同顺序的匹配字符数(即第二匹配字符数)t=6/2。根据下述公式计算软件版本号字符串相似度simj=0.815,具体公式代入如下。
[0065][0066]
步骤s5,对软件名称、软件版本号的相似度比较,均大于违规软件预设的目标相似度识别阈值0.7,据此判定客户端上使用的“mysql 1.1.100”为违规软件。
[0067]
作为一种可选的实施例,图2是根据本技术实施例提供的一种可选的用于实施本技术中软件识别方法的装置原理图,如图2所示,该装置的工作原理以及设备间信息交互具体为:
[0068]
(1)软件台账管理装置(见图2:装置原理图中
①②③
):存储管理用户录入违规软件清单(软件名称+软件版本号等信息)、客户端定时扫描策略、违规预警阈值(例如字符相似度为0.7)等信息。
[0069]
(2)软件台账管控装置(见图2:装置原理图中

):从软件台账管理装置获取违规软件清单(软件名称+软件版本号等信息)、客户端定时扫描策略、违规预警阈值(例如字符相似度为等于大于0.7)等,生成策略脚本下发给客户端的进程文件(即agent程序)接收和执行。
[0070]
(3)agent程序分发服务器(见图2:装置原理图中

):将软件台账管控装置最新生成的策略脚本、agent程序,自动分发所有客户端。
[0071]
(4)agent程序(见图2:装置原理图中

):客户端上部署的agent程序,定期执行扫描策略脚本,将对比识别的违规软件信息、设备ip和用户id信息,以消息形式推送至消息服务器消息队列中。具体为:定时扫描客户端,采集客户端上使用的软件信息(软件名称、软件版本号),采用字符串相似度比较算法,与软件台账管理装置下发的违规软件清单的软件名称、软件版本号的字符串分别进行对比,当其软件名称、软件版本号的相似度都等于大于违规预警阈值,从而判断客户端上使用了违规软件并发送预警邮件。
[0072]
(5)客户端(见图2:装置原理图中

):企业部署软件、agent程序的客户端。
[0073]
(6)消息服务器(见图2:装置原理图中

):维护消息服务队列,作为消息的工厂,生产消息供软件台账管控装置(见图2:装置原理图中

)定时消费。
[0074]
(7)软件台账管控装置(见图2:装置原理图中

)消费消息,生成并输出汇总的违规软件使用情况报告,发送预警通知邮件。
[0075]
(8)输出终端(见图2:装置原理图中

),企业管理者可通过输出终端查看违规软
件使用情况报告,开展违规治理。
[0076]
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0077]
本技术实施例还提供了一种软件识别装置,需要说明的是,本技术实施例的软件识别装置可以用于执行本技术实施例所提供的用于软件识别方法。以下对本技术实施例提供的软件识别装置进行介绍。
[0078]
图3是根据本技术实施例的软件识别装置的示意图。如图3所示,该装置包括:第一获取模块301、第一确定模块302、第二获取模块303、第二确定模块304、第三获取模块305、第三确定模块306,其中,
[0079]
上述第一获取模块301,用于获取待识别软件,以及上述待识别软件对应的目标软件版本信息;
[0080]
上述第一确定模块302,连接于上述第一获取模块301,用于确定与上述待识别软件对应的第一软件版本信息,其中,上述第一软件版本信息为预定类型软件对应的软件版本信息;
[0081]
上述第二获取模块303,连接于上述第一确定模块302,用于获取上述目标软件版本信息与上述第一软件版本信息之间的匹配窗口长度;
[0082]
上述第二确定模块304,连接于上述第二获取模块303,用于确定上述匹配窗口长度内,上述目标软件版本信息与上述第一软件版本信息之间的第一匹配字符数和第二匹配字符数,其中,上述第一匹配字符数为上述匹配窗口长度内上述目标软件版本信息与上述第一软件版本信息之间匹配字符的数量,上述第二匹配字符数为上述匹配窗口长度内上述目标软件版本信息与上述第一软件版本信息之间顺序不同的匹配字符的数量;
[0083]
上述第三获取模块305,连接于上述第二确定模块304,用于基于上述第一匹配字符数和上述第二匹配字符数,得到上述目标软件版本信息与上述第一软件版本信息之间的软件相似度;
[0084]
上述第三确定模块306,连接于上述第三获取模块305,用于根据上述软件相似度,确定上述待识别软件的目标识别结果,其中,上述目标识别结果为:上述待识别软件为预定类型软件,或者上述待识别软件不是预定类型软件。
[0085]
通过本技术,通过设置上述第一获取模块301,用于获取待识别软件,以及上述待识别软件对应的目标软件版本信息;上述第一确定模块302,连接于上述第一获取模块301,用于确定与上述待识别软件对应的第一软件版本信息,其中,上述第一软件版本信息为预定类型软件对应的软件版本信息;上述第二获取模块303,连接于上述第一确定模块302,用于获取上述目标软件版本信息与上述第一软件版本信息之间的匹配窗口长度;上述第二确定模块304,连接于上述第二获取模块303,用于确定上述匹配窗口长度内,上述目标软件版本信息与上述第一软件版本信息之间的第一匹配字符数和第二匹配字符数,其中,上述第一匹配字符数为上述匹配窗口长度内上述目标软件版本信息与上述第一软件版本信息之间匹配字符的数量,上述第二匹配字符数为上述匹配窗口长度内上述目标软件版本信息与上述第一软件版本信息之间顺序不同的匹配字符的数量;上述第三获取模块305,连接于上述第二确定模块304,用于基于上述第一匹配字符数和上述第二匹配字符数,得到上述目标
软件版本信息与上述第一软件版本信息之间的软件相似度;上述第三确定模块306,连接于上述第三获取模块305,用于根据上述软件相似度,确定上述待识别软件的目标识别结果,其中,上述目标识别结果为:上述待识别软件为预定类型软件,或者上述待识别软件不是预定类型软件,达到了准确识别待识别软件是否为预定类型软件的目的,解决了相关技术中相关技术中对于预定类型软件(如违规软件)识别准确度低,无法及时预警和防控的问题。进而达到了提升预定类型软件识别效率和识别准确性,及时采取相关应对措施的效果。
[0086]
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,例如,对于后者,可以通过以下方式实现:上述各个模块可以位于同一处理器中;或者,上述各个模块以任意组合的方式位于不同的处理器中。
[0087]
此处需要说明的是,上述第一获取模块301、第一确定模块302、第二获取模块303、第二确定模块304、第三获取模块305、第三确定模块306对应于实施例中的步骤s101至步骤s106,上述模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在计算机终端中。
[0088]
需要说明的是,本实施例的可选或优选实施方式可以参见实施例中的相关描述,此处不再赘述。
[0089]
上述软件识别装置包括处理器和存储器,上述单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
[0090]
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来(本发明的目的)。
[0091]
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
[0092]
本发明实施例提供了一种非易失性存储介质,上述非易失性存储介质存储有多条指令,上述指令适于由处理器加载并执行任意一项上述的软件识别方法。
[0093]
如图4所示,本发明实施例提供了一种电子设备,该电子设备10包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:获取待识别软件,以及上述待识别软件对应的目标软件版本信息;确定与上述待识别软件对应的第一软件版本信息,其中,上述第一软件版本信息为预定类型软件对应的软件版本信息;获取上述目标软件版本信息与上述第一软件版本信息之间的匹配窗口长度;确定上述匹配窗口长度内,上述目标软件版本信息与上述第一软件版本信息之间的第一匹配字符数和第二匹配字符数,其中,上述第一匹配字符数为上述匹配窗口长度内上述目标软件版本信息与上述第一软件版本信息之间匹配字符的数量,上述第二匹配字符数为上述匹配窗口长度内上述目标软件版本信息与上述第一软件版本信息之间顺序不同的匹配字符的数量;基于上述第一匹配字符数和上述第二匹配字符数,得到上述目标软件版本信息与上述第一软件版本信息之间的软件相似度;根据上述软件相似度,确定上述待识别软件的目标识别结果,其中,上述目标识别结果为:上述待识别软件为预定类型软件,或者上述待识别软件不是预定类型软件。本文中的设备可以是服务器、pc、pad、手机等。
[0094]
本技术还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:获取待识别软件,以及上述待识别软件对应的目标软件版本
信息;确定与上述待识别软件对应的第一软件版本信息,其中,上述第一软件版本信息为预定类型软件对应的软件版本信息;获取上述目标软件版本信息与上述第一软件版本信息之间的匹配窗口长度;确定上述匹配窗口长度内,上述目标软件版本信息与上述第一软件版本信息之间的第一匹配字符数和第二匹配字符数,其中,上述第一匹配字符数为上述匹配窗口长度内上述目标软件版本信息与上述第一软件版本信息之间匹配字符的数量,上述第二匹配字符数为上述匹配窗口长度内上述目标软件版本信息与上述第一软件版本信息之间顺序不同的匹配字符的数量;基于上述第一匹配字符数和上述第二匹配字符数,得到上述目标软件版本信息与上述第一软件版本信息之间的软件相似度;根据上述软件相似度,确定上述待识别软件的目标识别结果,其中,上述目标识别结果为:上述待识别软件为预定类型软件,或者上述待识别软件不是预定类型软件。
[0095]
可选的,上述计算机程序产品还适于执行初始化有如下方法步骤的程序:获取待识别软件,以及上述待识别软件对应的目标软件版本信息;确定与上述待识别软件对应的第一软件版本信息,其中,上述第一软件版本信息为预定类型软件对应的软件版本信息;获取上述目标软件版本信息与上述第一软件版本信息之间的匹配窗口长度;确定上述匹配窗口长度内,上述目标软件版本信息与上述第一软件版本信息之间的第一匹配字符数和第二匹配字符数,其中,上述第一匹配字符数为上述匹配窗口长度内上述目标软件版本信息与上述第一软件版本信息之间匹配字符的数量,上述第二匹配字符数为上述匹配窗口长度内上述目标软件版本信息与上述第一软件版本信息之间顺序不同的匹配字符的数量;基于上述第一匹配字符数和上述第二匹配字符数,得到上述目标软件版本信息与上述第一软件版本信息之间的软件相似度;根据上述软件相似度,确定上述待识别软件的目标识别结果,其中,上述目标识别结果为:上述待识别软件为预定类型软件,或者上述待识别软件不是预定类型软件。
[0096]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0097]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0098]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0099]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或
其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0100]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0101]
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
[0102]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0103]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0104]
本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0105]
以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1