用于保护软件的方法和系统转让专利

申请号 : CN201710917542.9

文献号 : CN107609359B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙吉平张伟双

申请人 : 北京深思数盾科技股份有限公司

摘要 :

本公开提供了一种用于保护软件的方法,其中使用与被保护软件绑定的安全组件对被保护软件进行保护,所述方法包括:在被保护软件运行期间,根据存储在与所述被保护软件对应的行业特征数据库中的行业特征数据的特征类型对被保护软件进行相应类型特征内容的检测;在所述被保护软件中检测到与所述特征类型对应的特征内容时,对所述被保护软件采取预定措施。还提供了一种用于保护软件的安全组件。本发明的方法和安全组件能够利用行业特征数据库对行业软件进行深度定制处理和深度保护。

权利要求 :

1.一种用于保护软件的方法,其特征在于,使用与被保护软件绑定的安全组件对被保护软件进行保护,所述方法包括:在被保护软件运行期间,根据存储在与所述被保护软件对应的行业特征数据库中的行业特征数据的特征类型对被保护软件进行相应类型特征内容的检测;

在所述被保护软件中检测到与所述特征类型对应的特征内容时,对所述被保护软件采取预定措施,其中,所述行业特征数据库为层级结构,所述层级结构中的第一层级包括所述特征内容,第二层级包括行业标识、检测类型及每个所述检测类型与所述第一层级的特征内容的映射关系。

2.根据权利要求1所述的方法,其中,检测类型包括:盗版补丁特征的检测和/或破解分析工具特征的检测。

3.根据权利要求1所述的方法,其中,所述行业特征数据包括行业ID、所述特征类型和所述特征内容。

4.根据权利要求1所述的方法,其中,所述行业特征数据包括内存特征数据、窗口名称特征数据、进程特征数据。

5.根据权利要求1所述的方法,其中,所述行业特征数据库从服务端获得。

6.一种用于保护软件的方法,其特征在于,使用与被保护软件绑定的安全组件对被保护软件进行保护,所述方法包括:在被保护软件运行期间,根据存储在与所述被保护软件对应的行业特征数据库中的行业特征数据的特征类型对被保护软件进行相应类型特征内容的检测;

在所述被保护软件中检测到与所述特征类型对应的特征内容时,对所述被保护软件采取预定措施,其中,所述行业特征数据库为层级结构,所述层级结构中的第一层级包括所述特征内容,第二层级包括特征组合标识及每个所述特征组合与所述第一层级的特征内容的映射关系,第三层级包括行业标识、检测类型及每个所述检测类型与所述第一层级中的特征内容和/或第二层级中的特征组合标识的映射关系。

7.根据权利要求6所述的方法,其中,检测类型包括:盗版补丁特征的检测和/或破解分析工具特征的检测。

8.根据权利要求6所述的方法,其中,所述行业特征数据包括行业ID、所述特征类型和所述特征内容。

9.根据权利要求6所述的方法,根据存储在行业特征数据库中的行业特征数据的特征类型对被保护软件进行相应类型特征内容的检测包括根据存储在行业特征数据库中的行业特征数据的特征组合对被保护软件进行相应类型特征内容的检测。

10.根据权利要求6所述的方法,其中,所述行业特征数据包括内存特征数据、窗口名称特征数据、进程特征数据。

11.根据权利要求6所述的方法,其中,所述行业特征数据库从服务端获得。

12.一种用于保护软件的系统,其特征在于,所述系统包括安全组件,所述安全组件与被保护软件绑定以对所述被保护软件进行保护,所述安全组件包括:检测单元,其被配置为在被保护软件运行期间,根据存储在与所述被保护软件对应的行业特征数据库中的行业特征数据的特征类型对被保护软件进行相应类型特征内容的检测;

处理单元,其被配置为在所述被保护软件中检测到与所述特征类型对应的特征内容时,对所述被保护软件采取预定措施,其中,所述行业特征数据库为层级结构,所述层级结构中的第一层级包括所述特征内容,第二层级包括行业标识、检测类型及每个所述检测类型与所述第一层级的特征内容的映射关系。

13.根据权利要求12所述的系统,其中,检测类型包括:盗版补丁特征的检测和/或破解分析工具特征的检测。

14.根据权利要求12所述的系统,其中,所述行业特征数据包括行业ID、所述特征类型和所述特征内容。

15.根据权利要求12所述的系统,其中,所述行业特征数据包括内存特征数据、窗口名称特征数据、进程特征数据。

16.根据权利要求12所述的系统,其中,所述行业特征数据库从服务端获得。

17.一种用于保护软件的系统,其特征在于,所述系统包括安全组件,所述安全组件与被保护软件绑定以对所述被保护软件进行保护,所述安全组件包括:检测单元,其被配置为在被保护软件运行期间,根据存储在与所述被保护软件对应的行业特征数据库中的行业特征数据的特征类型对被保护软件进行相应类型特征内容的检测;

处理单元,其被配置为在所述被保护软件中检测到与所述特征类型对应的特征内容时,对所述被保护软件采取预定措施,其中,所述行业特征数据库为层级结构,所述层级结构中的第一层级包括所述特征内容,第二层级包括特征组合标识及每个所述特征组合与所述第一层级的特征内容的映射关系,第三层级包括行业标识、检测类型及每个所述检测类型与所述第一层级中的特征内容和/或第二层级中的特征组合标识的映射关系。

18.根据权利要求17所述的系统,其中,检测类型包括:盗版补丁特征的检测和/或破解分析工具特征的检测。

19.根据权利要求17所述的系统,其中,所述行业特征数据包括行业ID、所述特征类型和所述特征内容。

20.根据权利要求17所述的系统,其中,所述处理单元还被配置为根据存储在行业特征数据库中的行业特征数据的特征组合对被保护软件进行相应类型特征内容的检测。

21.根据权利要求17所述的系统,其中,所述行业特征数据包括内存特征数据、窗口名称特征数据、进程特征数据。

22.根据权利要求17所述的系统,其中,所述行业特征数据库从服务端获得。

说明书 :

用于保护软件的方法和系统

技术领域

[0001] 本发明涉及软件保护领域,尤其涉及用于保护软件的方法和系统。

背景技术

[0002] 软件开发商发布软件后,经常被盗版问题困扰。软件盗版指在未经所有权人同意的情况下,对其软件进行复制、分发的行为,以及以此行为制成的侵权产品。
[0003] 在软件盗版方面,盗版者通常对软件进行例如增加附加文件作为盗版补丁等方式的处理从而使消费者可以避开软件所有权人相关的验证而使用该软件的功能,通常盗版软件无法提供合法的权利证书(版权证书)、也不能为用户提供售后服务,然而消费者由于盗版软件的价格低廉或免费还是倾向于使用盗版软件。
[0004] 由于现在社会的软件产品本身迭代较快,软件开发商如果采取司法手段来解决盗版问题,不但维权成本高,而且时效性差。因而每当遇到盗版,软件开发商常用方法是自己花费大量人力、物力和时间来对市面上所搜集的盗版问题进行分析,定制相应的加密方案,再重新发布软件来解决盗版问题。通过这种方法来处理软件盗版问题的缺点在于以下几个方面:
[0005] 1.增加了软件开发商的开发成本,并且需要有专人来处理相应的工作,因此整体维权成本上升;
[0006] 2.由于上述安全相关的处理方法与软件本身的逻辑没有太大关系,普通的软件开发商通常并不擅长,在处理时力不从心,不能达到保证软件所有权不受侵犯的预期效果;
[0007] 3、每当遇到盗版,需要重新发布软件的版本,处理此问题比较被动;
[0008] 当前各个软件开发商开发的杀毒软件,能够对终端设备上的所有目标软件针对当前市面上流行的病毒木马检测和查杀,在一定程度上实现了对目标软件的保护,但保护策略相对比较单一。

发明内容

[0009] 本发明的目的之一是提供能够利用行业特征数据库对行业软件进行深度定制处理和深度保护的方法和系统。
[0010] 根据本发明的一方面,提供了一种用于保护软件的方法,使用与被保护软件绑定的安全组件对被保护软件进行保护,该方法包括:在被保护软件运行期间,根据存储在与被保护软件对应的行业特征数据库中的行业特征数据的特征类型对被保护软件进行相应类型特征内容的检测;在被保护软件中检测到与特征类型对应的特征内容时,对被保护软件采取预定措施。
[0011] 在一个实施例中,检测类型包括盗版补丁特征的检测和/或破解分析工具特征的检测。
[0012] 在一个实施例中,行业特征数据包括行业ID、特征类型和特征内容。
[0013] 在一个实施例中,行业特征数据库为层级结构,层级结构中的第一层级包括所述特征内容,第二层级包括行业标识、检测类型及每个所述检测类型与所述第一层级的特征内容的映射关系。
[0014] 在一个实施例中,行业特征数据库为层级结构,层级结构中的第一层级包括所述特征内容,第二层级包括特征组合标识及每个所述特征组合与所述第一层级的特征内容的映射关系,第三层级包括行业标识、检测类型及每个所述检测类型与所述第一层级中的特征内容和/或第二层级中的特征组合标识的映射关系。
[0015] 在一个实施例中,根据存储在行业特征数据库中的行业特征数据的特征类型对被保护软件进行相应类型特征内容的检测包括根据存储在行业特征数据库中的行业特征数据的特征组合对被保护软件进行相应类型特征内容的检测。
[0016] 在一个实施例中,行业特征数据包括内存特征数据、窗口名称特征数据、进程特征数据。
[0017] 在一个实施例中,行业特征数据库从服务端获得。
[0018] 根据本发明的另一方面,提供了一种用于保护软件的系统,该系统包括安全组件,该安全组件与被保护软件绑定以对其进行保护,该安全组件包括:检测单元,其被配置为在被保护软件运行期间,根据存储在与被保护软件对应的行业特征数据库中的行业特征数据的特征类型对被保护软件进行相应类型特征内容的检测;处理单元,其被配置为在被保护软件中检测到与特征类型对应的特征内容时,对被保护软件采取预定措施。
[0019] 在一个实施例中,检测类型包括盗版补丁特征的检测和/或破解分析工具特征的检测。
[0020] 在一个实施例中,行业特征数据包括行业ID、特征类型和特征内容。
[0021] 在一个实施例中,行业特征数据库为层级结构,层级结构中的第一层级包括所述特征内容,第二层级包括行业标识、检测类型及每个所述检测类型与所述第一层级的特征内容的映射关系。
[0022] 在一个实施例中,行业特征数据库为层级结构,层级结构中的第一层级包括所述特征内容,第二层级包括特征组合标识及每个所述特征组合与所述第一层级的特征内容的映射关系,第三层级包括行业标识、检测类型及每个所述检测类型与所述第一层级中的特征内容和/或第二层级中的特征组合标识的映射关系。
[0023] 在一个实施例中,处理单元还被配置为根据存储在行业特征数据库中的行业特征数据的特征组合对被保护软件进行相应类型特征内容的检测。
[0024] 在一个实施例中,行业特征数据包括内存特征数据、窗口名称特征数据、进程特征数据。
[0025] 在一个实施例中,行业特征数据库从服务端获得。
[0026] 根据本发明的方法和安全组件,针对不同行业软件的盗版补丁特征和/或破解分析工具特征,对不同行业的目标软件进行不同类型的检测,能够做到有的放矢,提高检测的深度和效率,从而实现对不同行业软件进行深度的定制处理。
[0027] 本发明解决了目前尚无针对行业软件进行深度的定制处理和保护的问题,实现了对行业软件进行更有针对性的保护,从而减少行业软件的盗版问题。

附图说明

[0028] 结合附图以示例的方式说明了本公开的实施例,并且附图是本说明书的一部分。附图应当以示例而非限制的方式来理解,其中:
[0029] 图1为根据本公开的用于软件保护的方法的一个实施例的流程图;
[0030] 图2为根据本公开的用于保护软件的安全组件的一个实施例的框图;
[0031] 图3为根据本公开的用于保护软件的系统架构的一个实施例的示意图;
[0032] 图4为用于说明根据本公开的实施例的行业特征库的层级结构的示意图。
[0033] 图5为用于说明根据本公开的另一个实施例的行业特征数据库的层级结构的示意图。

具体实施方式

[0034] 如图1所示为根据本公开的用于软件保护的方法的一个实施例的流程图,该方法主要使用与被保护软件绑定的安全组件对被保护软件进行保护,即,本发明中所谓的被保护软件即为绑定有安全组件的目标软件,尤其是行业软件。
[0035] 结合图3所示进行说明,图3为根据本公开的用于保护软件的系统架构的一个实施例的示意图,其中安全组件也可以称为反黑引擎,而被保护软件和安全组件的绑定可以理解为将两者功能绑定,从而在用户使用或运行被保护软件时必须同时运行安全组件,并且也可以理解,被保护软件以安全组件作为与外界通信的“接口”,使得盗版商无法将安全组件从被保护软件分离而不影响被保护软件的功能。安全组件可以利用动态更新的安全数据库来对目标软件进行检测,下文中也称安全数据库为行业特征数据库或行业特征库。根据本发明的实施例,安全数据库中可以包括与被保护软件所属行业(例如A行业,B行业,C行业等)的软件对应的行业特征数据。具体而言,行业特征数据可以包括行业ID、特征类型和特征内容,其中特征内容可以包括盗版补丁特征和/或破解分析工具特征。此外,特征类型可以从包括内存特征数据、窗口名称特征数据、进程特征数据的组中选择。
[0036] 接着,如图1所示,根据本公开的一个实施例,本发明的软件保护方法包括以下步骤:在框S102中,在被保护软件运行期间,根据存储在与被保护软件对应的行业特征数据库中的行业特征数据的特征类型对被保护软件进行相应类型特征内容的检测;在框S104中,在被保护软件中检测到与特征类型对应的特征内容时,对被保护软件采取预定措施。该预定措施可以包括禁止该软件运行,在客户端发出提示消息,向软件开发者发送通知告知该事件,等等。
[0037] 根据本公开的一个实施例,软件保护系统的架构具体示出于图4中。本发明的该软件保护系统可以包括安全组件。图2为根据本公开的用于保护软件的安全组件的一个实施例的框图。根据一个实施例,如图2所示,安全组件20可以包括检测单元21和处理单元22。该检测单元21可以被配置为在被保护软件运行期间,根据存储在与被保护软件对应的行业特征数据库中的行业特征数据的特征类型对被保护软件进行相应类型特征内容的检测。处理单元22可以被配置为在被保护软件中检测到与特征类型对应的特征内容时,对被保护软件采取预定措施。该预定措施可以包括禁用该软件,在安全组件中对该事件进行记录以便进行统计和分析,在客户端发出提示消息,向软件开发者发送通知告知该事件,等等。
[0038] 在一个实施例中,安全数据库或行业特征库可以存储在客户端供安全组件或反黑引擎20进行检测或处理时使用,这样客户端无需一直与服务端保持连接。在另一实施例中,安全数据库或行业特征库可以不存储在客户端,而是通过安全组件或反黑引擎20从服务端获取,在这种情况下,客户端需要一直与服务端保持连接,可以有助于防止安全数据库或行业特征库被恶意软件等盗取,从而能够提高软件安全性。
[0039] 图3为根据本公开的用于保护软件的系统架构的一个实施例的示意图。如图3所示,服务端存储了A行业特征库、B行业特征库和C行业特征库等不同行业的特征库,行业软件的数量不限于三个,可以是任意数量,相应地,行业特征库的数量与行业软件的数量相对应,同样可以有任意数量的行业特征库。这些行业特征库定义了在对应的行业软件在运行时需要检测的运行环境,以及需要监控的行为。
[0040] 在一个实施例中,软件保护系统的反黑引擎或安全组件20可以位于客户端,安全组件20可以与服务器端通信联接以实现对行业特征数据库的检索、调用等操作。在操作中,安全组件20可以根据当前软件的行业类别从服务端获取对应的特征数据库,同时该安全组件20可以根据特征内容,进行不同的检测操作,如内存检查,调试器检查,根据定义的行为进行行为检查等等。图3中所示的DB(A)、DB(B)和DB(C)分别为反黑引擎20从服务端获取到的对应A行业、B行业和C行业的不同的行业特征数据库。
[0041] 根据本公开的优选实施例,反黑引擎或安全组件20可以利用软件来实现,即通过以指令实现的可执行程序来实现。此外,在另外的实施例中,安全组件20也可以实现为硬件或固件。换言之,安全组件20的实现方式不受限制。
[0042] 根据本发明的一个实施例,反黑引擎,即安全组件20,可以包括安全数据库,该安全数据库可以是预先从服务端获得的,或者该安全数据库可以是安全组件或者相应软件自带的,在使用过程中可以从服务端获取数据库更新。
[0043] 图4为用于说明根据本公开的实施例的行业特征库的层级结构的示意图。下面结合图4对根据本公开的实施例的行业特征库的层级结构进行说明。
[0044] 根据本公开的一个实施例,服务端的行业特征数据库可以采用如图4所示的层级结构来存储行业特征数据。具体而言,在数据库的最低层级(第一层级)存储各个特征数据,如图4中所示第一层级的特征A/B……N,最低层级的特征数据可以分为多个类型,如内存特征数据,窗口名称特征数据,进程特征数据等。此外,特征数据中可以包含行业ID和特征内容,这样对某个行业软件如行业1至行业n的软件进行检测时,可以快速检索并获取与该行业软件对应的特征数据,进而便于对被保护软件进行相应类型特征内容的检测。在第二层级中,可以存储各个特征数据的组合,例如图4所示的AX,AY,XN,YN,其中,所述组合可以是相同类型的至少两个特征数据的组合,也可以是不同类型的至少两个特征数据的组合。
[0045] 在一个实施例中,在第一层级中也可以存储不同行业所对应的特征数据和/或特征数据的组合,例如,对于行业1中的软件,其对应A、B和XN组合特征,即,在对行业1中的软件保护时,通过检测A、B和XN组合特征来确定相应软件是否是盗版软件。
[0046] 根据一个实施例,在存储层级结构包括三个层级的情况下,在底层中存储有多条特征数据,该特征数据可以包括行业ID、特征类型和特征内容,中层为特征规则(即两种或更多种特征数据的组合),上层为行业,该上层中仅包括与底层对应的行业ID,通过行业ID将底层的每一条特征与中层的特征规则关联,并间接与上层中相同的行业关联起来;在存储阶段,每当针对某行业提取出特征类型和特征内容时,则根据该行业所被分配的行业ID将提取的特征类型和特征内容存储到底层中,在更新某行业的特征类型和特征内容时,可以按照行业ID将要更新的内容更新到具有相同行业ID的特征数据中,从而对底层中的数据进行更新和升级。然后,将该特征类型和特征内容通过其行业ID与中层的特征规则关联,并间接与上层的相同的行业ID进行关联,从而对数据库底层中的数据进行更新和升级;在调用阶段,通过行业ID便可从中层选取相应的规则,再从底层中调取相同行业ID的特征类型和特征内容。这种存储机制的架构逻辑清晰,数据复用性强,便于统计、管理和升级等操作。
[0047] 虽然图4显示了行业特征数据库的层级结构包括三级,但是根据本公开的实施例的行业特征数据库也可以采用仅包括两个层级的层级结构对行业特征数据进行存储。
[0048] 在仅有两个层级的情况下,在底层中存储有多条特征(包括行业ID、特征类型和特征内容),上层为行业,该上层中仅包括与底层对应的行业ID,通过行业ID将底层的每一条特征与上层中相同的行业关联起来;在存储阶段,每当针对某行业提取出特征类型和特征内容时,则根据该行业所被分配的行业ID将提取出的特征类型和特征内容存储到底层中,然后将该特征类型和特征内容通过其行业ID与上层的相同的行业ID进行关联,在更新某行业的特征类型和特征内容时,可以按照行业ID将要更新的内容更新到具有相同行业ID的特征数据中,从而对底层中的数据进行更新和升级;在调用阶段,通过行业ID便可从底层中调取相同行业ID的特征类型和特征内容。这种存储机制逻辑简单,架构方便。
[0049] 根据一个实施例,在存储层级结构包括三个层级的情况下,本发明的软件保护方法根据存储在行业特征数据库中的行业特征数据的特征类型的组合对被保护软件进行相应类型特征内容的检测。在所述被保护软件中检测到与所述特征类型对应的特征内容时,对所述被保护软件采取预定措施。
[0050] 在一个实施例中,行业特征数据可以包括内存特征数据、窗口名称特征数据、进程特征数据。
[0051] 根据本公开的一个实施例,行业特征数据库可以为层级结构,层级结构中的第一层级可以包括特征内容,第二层级可以包括行业标识、检测类型及每个检测类型与第一层级的特征内容的映射关系。
[0052] 根据本公开的实施例,检测类型包括盗版补丁特征的检测和/或破解分析工具特征的检测。
[0053] 根据本公开的另一个实施例,行业特征数据库可以为层级结构,层级结构中的第一层级可以包括特征内容,第二层级可以包括特征组合标识及每个特征组合与第一层级的特征内容的映射关系,第三层级可以包括行业标识、检测类型及每个检测类型与第一层级中的特征内容和/或第二层级中的特征组合标识的映射关系。
[0054] 在一个实施例中,处理单元22还可以被配置为根据存储在行业特征数据库中的行业特征数据的特征组合对被保护软件进行相应类型特征内容的检测。
[0055] 图5为用于说明根据本公开的另一个实施例的行业特征数据库的层级结构的示意图。下面,参考图5对根据本公开的另一个实施例的行业特征数据库的层级结构进行更详细说明。
[0056] 从图5中可以看出,行业特征数据库可以包括作为第一层级的数据层、作为第二层级的组合层和作为第三层级的行业层。
[0057] 在作为第一层级的数据层中,如图5所示,01,02,03,04,05…0n以及11,12,13,14,15…1n等等可以表示特征内容,其中编号可以反映数据类型,例如,以0开头的可以表示内存特征数据,而以1开通的可以表示窗口特征数据。
[0058] 在作为第三层级的行业层中,字母A、B等可以代表行业标识,在该层级中可以有针对A行业、B行业等的特征内容。例如,如图5所示,对于A行业,在其中的特征内容A101[11,001]中,A1可以表示A行业中的盗版补丁特征,在其中的特征A201[24,001]中,A2可以表示A行业中的破解分析工具特征,例如恶意分析工具特征。
[0059] 在作为第二层级的组合层中,例如图5中所示的001[01,12]表示每个特征组合与第一层级的特征内容的映射关系,其中001表示特征组合标识,例如是组合特征的编号,13或21代表特征数据的编号。
[0060] 根据该实施例的行业特征数据库的存储、更新、升级和调用已经在上文进行了说明,在此不再赘述。
[0061] 根据该实施例,可以利用数据层、行业层和组合层实现行业特征数据的存储,进而通过该软件保护系统的反黑引擎20来实现对行业特征数据的检索和调用,从而实现对行业软件的深层定制保护。
[0062] 根据另外的实施例,也可以不包括如图5所示的行业特征数据库中的作为第二层级的组合层。在这种实例中,仅利用数据层和行业层实现行业特征数据的存储,进而通过该软件保护系统的反黑引擎20来实现对行业特征数据的检索和调用,从而实现对行业软件的深层定制保护。
[0063] 虽然上文描述了层级结构包括三个层级和两个层级的实施例,本领域技术人员在理解本公开实施例的内容后,也可以构思层级结构包括多于三个层级,例如,四级、五级等,这些修改和变型例都在本公开的范围内。
[0064] 根据一个实施例,在存储层级结构包括三个层级的情况下,软件保护系统的安全组件20的处理单元22还可以被配置为根据存储在行业特征数据库中的行业特征数据的特征类型的组合对被保护软件进行相应类型特征内容的检测。在所述被保护软件中检测到与所述特征类型对应的特征内容时,处理单元可被配置为对所述被保护软件采取预定措施。
[0065] 根据存储在行业特征数据库中的行业特征数据的特征类型的组合对被保护软件进行相应类型特征内容的检测能够提高从行业特征数据库中检索数据的效率,提高安全组件检测软件是否被盗版的效率,进而提高了保护软件的效率和有效性。
[0066] 在说明书中提到“一个实施例”、“优选实施例”、“实施例”和“各个实施例”意指与该实施例相结合描述的特定的特征、结构、特性或功能包含在本公开的至少一个实施例中且可以包含在多于一个的实施例中。而且,在说明书各处出现上述措辞不一定都是指同一实施例。
[0067] 除了本文所描述的内容之外,可以在不脱离本发明的范围的情况下对所公开的实施例进行各种修改。因此,这里的说明和示例应理解为说明性的而不是限制性的。本发明的主旨和范围应仅通过参考权利要求及其等同内容来限定。