您好,欢迎来到世旅网。
搜索
您的当前位置:首页一种基于白名单技术的主动防御系统的设计方法及系统[发明专利]

一种基于白名单技术的主动防御系统的设计方法及系统[发明专利]

来源:世旅网
(19)中华人民共和国国家知识产权局

(12)发明专利申请

(10)申请公布号 CN 107944232 A(43)申请公布日 2018.04.20

(21)申请号 201711294100.X(22)申请日 2017.12.08

(71)申请人 郑州云海信息技术有限公司

地址 450000 河南省郑州市郑东新区心怡

路278号16层1601室(72)发明人 唐洪英 

(74)专利代理机构 济南信达专利事务所有限公

司 37100

代理人 刘淑风(51)Int.Cl.

G06F 21/12(2013.01)G06F 21/51(2013.01)G06F 21/57(2013.01)

权利要求书2页 说明书5页 附图1页

(54)发明名称

一种基于白名单技术的主动防御系统的设计方法及系统(57)摘要

本发明提供一种基于白名单技术的主动防御系统的设计方法及系统,属于安全技术领域。该主动防御系统的设计方法通过搜集正版操作系统镜像的Hash值,保证了白名单来源的可靠性;通过为用户生成定制本地白名单库,减少了网络访问,一定程度上提高了程序的识别效率,保证了运行程序启动的速度;通过实时获取操作系统更新补丁保证了白名单的实效性及识别效率;通过未知程序信任识别功能,解决了传统白名单技术的资源要求,确保了白名单的非局限性。本发明的方法及系统可以有效的解决黑名单所面临的问题,是一种可靠的,效率的,实效的,非局限的白名单主动防御系统设计实现方法及系统。

CN 107944232 ACN 107944232 A

权 利 要 求 书

1/2页

1.一种基于白名单技术的主动防御系统的设计方法,其特征在于,其具体实现步骤为:1)清单搜集:服务端软件搜集从操作系统官网下载的OS安装镜像,从中获取操作系统自带程序的Hash值,生成清单库;

2)来源可靠的白名单生成:在服务端,由清单库生成一个白名单总库;在客户端,根据用户的操作系统版本,由清单库生成对应的本地白名单库,保存在用户本地;

3)程序信任识别:对于每个客户端上所运行或安装的程序,在启动之前都需识别其是否可信,首先需要检查客户端所执行或安装程序的Hash值是否存在于本地白名单库中,如果不在本地白名单库,则请求查询服务端白名单总库;

4)客户端本地运行管控:在客户端只有识别结果为可信的程序才允许运行。2.根据权利要求1所述的一种基于白名单技术的主动防御系统的设计方法,其特征在于,步骤1)中,服务端软件搜集来自于操作系统官网下载的OS安装镜像中的可执行文件,获取可执行文件的详细信息,包括文件名、操作系统版本、文件修改时间、文件Hash值,并将其信任级别设置为白,生成清单库。

3.根据权利要求2所述的一种基于白名单技术的主动防御系统的设计方法,其特征在于,步骤1)中,所述可执行文件包括Windows操作系统下的PE文件、Linux操作系统下的ELF文件。

4.根据权利要求1、2或3所述的一种基于白名单技术的主动防御系统的设计方法,其特征在于,步骤1)中,所述清单库通过服务器端的MySQL生成。

5.根据权利要求1、2或3所述的一种基于白名单技术的主动防御系统的设计方法,其特征在于,步骤3)中,如果也不在白名单总库中,则需要在服务端进行未知程序信任识别,如果程序是经过数字签名的,则验证数字签名是否可信;如果程序没有数字签名,则进行程序行为分析以确定程序是否可信。

6.根据权利要求1、2或3所述的一种基于白名单技术的主动防御系统的设计方法,其特征在于,步骤4)中,在客户端只有识别结果为可信的程序才允许运行,否则将识别结果及意见反馈给用户,由用户决定是否运行。

7.根据权利要求1、2或3所述的一种基于白名单技术的主动防御系统的设计方法,其特征在于,在服务端,采用爬虫程序,实时获取操作系统官网发布的更新补丁,更步骤1)建立的清单库及步骤2)建立的白名单总库和本地白名单库。

8.根据权利要求5所述的一种基于白名单技术的主动防御系统的设计方法,其特征在于,对步骤3)中未知程序的识别结果,首先更新到服务端白名单总库中,然后同步更新到本地白名单库中。

9.根据权利要求5所述的一种基于白名单技术的主动防御系统的设计方法,其特征在于,对步骤3)中未知程序识别结果为可信的,安装之后,在安装目录生成相应程序的Hash值,只更新到本地白名单库中,无需同步更新到服务器白名单总库。

10.一种基于白名单技术的主动防御系统的设计系统,其特征在于,服务端设备包括:清单搜集模块,用于搜集从操作系统官网下载的OS安装镜像,从中获取操作系统自带程序的Hash值,并生成清单库;

2

CN 107944232 A

权 利 要 求 书

2/2页

在服务端部署一个由清单库生成的白名单总库;客户端设备包括:检测模块,用于检测并获取客户端所执行或安装程序的Hash值;在客户端根据用户的操作系统版本,部署一个由清单库生成的本地白名单库;还包括:

信任识别模块,用于识别客户端所执行或安装程序是否可信,首先判断客户端所执行或安装程序的Hash值是否包含在本地白名单库中,如果不在本地白名单库,则请求查询服务端白名单总库;

通信模块,接收信任识别模块反馈的识别信息,如果识别信息为可信,客户端程序允许运行。

3

CN 107944232 A

说 明 书

1/5页

一种基于白名单技术的主动防御系统的设计方法及系统

技术领域

[0001]本发明涉及安全技术领域,具体地说是一种基于白名单技术的主动防御系统的设计方法及系统。

背景技术

[0002]随着计算机网络开放性、互联性,网络信息安全面临种种威胁,病毒等恶意程序层出不穷。传统的黑名单技术面临黑名单库趋于无限,且难以对付零日攻击、特定攻击等安全威胁,安全专家们急于寻找一种技术可以解决黑名单面临的问题。白名单作为一项刚提出时被人们质疑的技术,现在被越来越多的安全类软件应用于主动防御的设计中,但现有白名单产品大多局限于用户定义的白名单,或者需要强大的软件资源以识别程序的可信性,前者不够安全,后者对软件资源数量要求非常大。发明内容

[0003]本发明的技术任务是针对现有技术的不足,提供一种可靠的、高效的、有实效性、非局限性的基于白名单的主动防御系统的设计实现方法及系统。[0004]缩略语及关键术语说明:

OS Operating System 操作系统PE Portale Executable 可移植的可执行文件,属于Windows操作系统ELF Executable and Linkable Format 一种Linux操作系统可执行文件格式清单库 是一个包含应用程序信息(文件大小,信任级别,文件Hash值等)的数据库白名单库 是一个包含特定条件的应用程序的Hash值、信任级别的一个数据库Hash 信息安全领域中加密算法,主流有Sha1, Sha256, Sha512, MD5, SM3等;本发明解决其技术问题所采用的技术方案是:1、一种基于白名单技术的主动防御系统的设计方法,其具体实现步骤为:1)清单搜集:服务端软件搜集从操作系统官网下载的OS安装镜像,从中获取操作系统自带程序的Hash值,生成清单库;

2)来源可靠的白名单生成:在服务端,由清单库生成一个白名单总库;在客户端,根据用户的操作系统版本,由清单库生成对应的本地白名单库,保存在用户本地;

3)程序信任识别:对于每个客户端上所运行或安装的程序,在启动之前都需识别其是否可信,首先需要检查客户端所执行或安装程序的Hash值是否存在于本地白名单库中,如果不在本地白名单库,则请求查询服务端白名单总库;

4)客户端本地运行管控:在客户端只有识别结果为可信的程序才允许运行。[0005]作为本发明进一步改进的,步骤1)中,服务端软件搜集来自于操作系统官网下载的OS安装镜像中的可执行文件,获取可执行文件的详细信息,包括文件名、操作系统版本、文件修改时间、文件Hash值,并将其信任级别设置为白(允许执行),生成清单库。

4

CN 107944232 A[0006]

说 明 书

2/5页

作为本发明进一步改进的,步骤1)中,所述可执行文件包括Windows操作系统下的

PE文件、Linux操作系统下的ELF文件。[0007]作为本发明进一步改进的,步骤1)中,所述清单库通过服务器端的MySQL生成。[0008]作为本发明进一步改进的,步骤3)中,如果也不在白名单总库中,则需要在服务端进行未知程序信任识别,如果程序是经过数字签名的,则验证数字签名是否可信;如果程序没有数字签名,则进行程序行为分析以确定程序是否可信。[0009]作为本发明进一步改进的,步骤4)中,在客户端只有识别结果为可信的程序才允许运行,否则将识别结果及意见反馈给客户,由用户决定是否运行。[0010]作为本发明进一步改进的,在服务端,采用爬虫程序,实时获取操作系统官网发布的更新补丁,更步骤1)建立的清单库及步骤2)建立的白名单总库和本地白名单库。[0011]作为本发明进一步改进的,对步骤3)中未知程序的识别结果,首先更新到服务端白名单总库中,然后同步更新到本地白名单库中。[0012]作为本发明进一步改进的,对步骤3)中未知程序识别结果为可信的,安装之后,在安装目录生成相应程序的Hash值,只更新到本地白名单库中,无需同步更新到服务器白名单总库。[0013]2、本发明还提供一种基于白名单技术的主动防御系统的设计系统,其中,

服务端设备包括:清单搜集模块,用于搜集从操作系统官网下载的OS安装镜像,从中获取操作系统自带程序的Hash值,并生成清单库;

在服务端部署一个由清单库生成的白名单总库;客户端设备包括:检测模块,用于检测并获取客户端所执行或安装程序的Hash值;在客户端根据用户的操作系统版本,部署一个由清单库生成的本地白名单库;还包括:

信任识别模块,用于识别客户端所执行或安装程序是否可信,首先判断客户端所执行或安装程序的Hash值是否包含在本地白名单库中,如果不在本地白名单库,则请求查询服务端白名单总库;

通信模块,接收信任识别模块反馈的识别信息,如果识别信息为可信,客户端程序允许运行。

[0014]作为本发明进一步改进的,信任识别模块还用于对不在白名单总库中的未知程序进行信任识别,如果程序是经过数字签名的,则验证数字签名是否可信;如果程序没有数字签名,则进行程序行为分析以确定程序是否可信。[0015]作为本发明进一步改进的,还包括:实时更新模块,与清单搜集模块及信任识别模块相连,实现白名单总库、本地白名单库的更新。

[0016]本发明的一种基于白名单技术的主动防御系统的设计方法及系统,与现有技术相比所产生的有益效果是:

本发明形成了一个基于白名单技术的主动防御系统的设计方法及系统,通过搜集正版操作系统镜像的Hash值,保证了白名单来源的可靠性;通过为用户生成定制本地白名单库,减少了网络访问,一定程度上提高了程序的识别效率,保证了运行程序启动的速度;通过实

5

CN 107944232 A

说 明 书

3/5页

时获取操作系统更新补丁保证了白名单的实效性及识别效率;通过未知程序信任识别功能,解决了传统白名单技术的资源要求,确保了白名单的非局限性。此方法可以有效的解决黑名单所面临的问题,因此是一种可靠的,效率的,实效的,非局限的白名单主动防御系统设计实现方法。

附图说明

[0017]附图1是本发明一种基于白名单技术的主动防御系统的设计方法的流程图;

附图2是本发明一种基于白名单技术的主动防御系统的设计系统的结构图。具体实施方式

[0018]下面结合附图1-2,对本发明的一种基于白名单技术的主动防御系统的设计方法及系统作以下详细说明。[0019]实施例一(一种基于白名单技术的主动防御系统的设计方法)

如附图1所示,本发明的一种基于白名单技术的主动防御系统的设计方法,其具体实现步骤如下:

1)清单搜集:服务端软件搜集来自于操作系统官网下载的OS安装镜像中的可执行文件,获取可执行文件的详细信息,比如文件名、操作系统版本、文件修改时间、文件Hash值等,并将其信任级别设置为白(允许执行),采用MySQL,生成清单库。[0020]【设计意图:通过服务端软件搜集从操作系统官网下载的OS安装镜像,从中获取操作系统自带程序的Hash值,保证了白名单来源的可靠性】

2)来源可靠的白名单生成:在服务端,由清单库生成一个白名单总库;在客户端,根据用户的操作系统版本,由清单库生成对应的本地白名单库,保存在用户本地;

【设计意图:通过为用户生成定制白名单库保存在用户本地,减少了网络访问,可以保证用户查询速度,将对程序启动速度的影响降至最低,在一定程度上保证了程序启动的速度】

3)程序信任识别:对于每个客户端上所运行或安装的程序,在启动之前都需识别其是否可信,首先需要检查客户端所执行或安装程序的Hash值是否存在于本地白名单库中,如果不在本地白名单库,则请求查询服务端白名单总库。[0021]4)客户端本地运行管控:在客户端只有识别结果为可信的程序才允许运行。[0022]本发明步骤1)中,针对不同类型的操作系统,可执行文件包括Windows操作系统下的PE文件、Linux操作系统下的ELF文件。[0023]以上主动防御系统的设计方法,针对的是客户端上所运行或安装的程序为已知程序的情况,如客户端上所运行或安装的程序为未知程序,则需对未知程序提供信任识别程序,具体如下:

在本发明步骤3)中,如果也不在白名单总库中,则需要在服务端进行未知程序信任识别,如果程序是经过数字签名的,则验证数字签名是否可信;如果程序没有数字签名,则进行程序行为分析以确定程序是否可信。【设计意图:对未知程序可信性识别,保证了白名单的非局限性,可以给用户相应的建议做出程序管控策略,从而降低了用户误操作白名单所

6

CN 107944232 A

说 明 书

4/5页

带来的危险,以及降低了传统白名单技术对程序资源数量的要求】

在本发明步骤4)中,在客户端只有识别结果为可信的程序才允许运行,否则将识别结果及意见反馈给用户,由用户决定是否运行。【设计意图:通过客户端本地运行管控程序,给用户一定的决策权,保证了该防御系统的灵活性】

在本发明中,为保证白名单的实效性及程序的识别效率,需对服务端白名单总库、客户端本地白名单库实时更新,具体如下:

5)服务端白名单总库实时更新:白名单总库更新主要来源于两个方面:a)对于操作系统官网发布的操作系统补丁、更新安装包,采用爬虫程序,实时获取更新补丁,并对这些更新进行清单扫描,更新步骤1)建立的清单库以及服务端白名单总库;

b)对步骤3)中未知程序的识别结果,首先更新到服务端白名单总库中。[0024]【设计意图:服务端的实时更新程序,保证了服务端白名单总库的实效性】

6)客户端本地白名单库实时更新:本地白名单库更新主要来源于两个方面:a)对步骤3)中未知程序的识别结果,同步更新到本地白名单库中,对未知程序识别结果为可信的,安装之后,在安装目录生成相应程序的Hash值,只更新到本地白名单库中,无需同步更新到服务器白名单总库;

b)根据步骤5)更新的清单库,同步更新到本地白名单库。[0025]【设计意图:客户端白名单库的更新,保证了客户端白名单在本地的实效性,从而提高了本地程序查询本地白名单的命中率,一定程序上保证了程序的启动速度】

综上简言之,本发明通过服务端软件搜集OS安装镜像、更新补丁等来自于操作系统官方网站的应用程序,生成清单库;在客户端,针对用户的不同操作系统版本由清单库生成对应的白名单库,保存在用户本地;在服务端,部署一个白名单总库和一个未知程序信任识别程序,白名单总库实时采集OS官网发布的更新补丁,且当用户请求识别未知程序时,识别结果同时更新到白名单总库和用户本地白名单库中;只有在白名单中且为信任(白)的程序才能在用户端执行。[0026]实施例二(一种基于白名单技术的主动防御系统的设计系统)

如附图2所示,本发明还提供一种基于白名单技术的主动防御系统的设计系统,其中,服务端设备包括:清单搜集模块,用于搜集从操作系统官网下载的OS安装镜像,从中获取操作系统自带程序的Hash值,并生成清单库;

在服务端由清单库生成的白名单总库;客户端设备包括:检测模块,用于检测并获取客户端所执行或安装程序的Hash值;在客户端根据用户的操作系统版本,由清单库生成的本地白名单库;还包括:

信任识别模块:用于识别客户端所执行或安装程序是否可信,首先判断客户端所执行或安装程序的Hash值是否包含在本地白名单库中,如果不在本地白名单库,则请求查询服务端白名单总库;

通信模块,接收信任识别模块反馈的识别信息,如果识别信息为可信,客户端程序允许运行。

7

CN 107944232 A[0027]

说 明 书

5/5页

在上述模块基础上,信任识别模块还用于对不在白名单总库中的未知程序进行识

别,如果程序是经过数字签名的,则验证数字签名是否可信;如果程序没有数字签名,则进行程序行为分析以确定程序是否可信。[0028]实时更新模块,与清单搜集模块及信任识别模块相连,实现白名单总库、本地白名单库的更新。

[0029]本发明的一种基于白名单技术的主动防御系统的设计方法及系统,其加工制作简单方便,按说明书附图所示加工制作即可。[0030]除说明书所述的技术特征外,均为本专业技术人员的已知技术。

8

CN 107944232 A

说 明 书 附 图

1/1页

图1

图2

9

因篇幅问题不能全部显示,请点此查看更多更全内容

Top