一种白名单防护匹配方法、系统、终端及存储介质与流程

文档序号:23003591发布日期:2020-11-20 11:52阅读:104来源:国知局
一种白名单防护匹配方法、系统、终端及存储介质与流程
本发明涉及云平台
技术领域
,具体涉及一种白名单防护匹配方法、系统、终端及存储介质。
背景技术
:在云平台环境中进行主机的白名单功能防护时,往往耗时很长的时间,耗时最长的往往是庞大的白名单库与防护主机运行程序的hash的匹配,主要原因是白名单库中存储了整条的白名单程序的hash值。常规的hash的匹配方法为:维护一个庞大的白名单库,白名单库中存储所有的被列为白名单的哈希值。防护主机想运行某一个程序时,计算此程序的hash值并与庞大的白名单库匹配,查找白名单库中是否存在与此程序一致的hash值。匹配成功,此程序为白名单程序,可以运行;匹配失败,不允许运行。显然,在白名单库中存在海量hash值的情况下,白名单库与运行程序匹配的时候,非常耗时且完成这一过程消耗很大的主机资源和时间。技术实现要素:针对现有技术的上述不足,本发明提供一种白名单防护匹配方法、系统、终端及存储介质,以解决上述技术问题。第一方面,本发明提供一种白名单防护匹配方法,包括:将白名单内的哈希值拆分为多个部分,并将每个部分均保存至相应的数据库;建立同个白名单哈希值的各部分之间的映射关系,根据所述映射关系生成各数据库之间的映射关系表;按白名单内哈希值的拆分方法将请求程序的哈希值拆分为多个部分,并根据所述映射关系表对请求程序的哈希值各部分从相应数据库查找匹配部分;若所述请求程序的哈希值在各数据库中均存在匹配部分,则判定所述请求程序的哈希值在白名单内。进一步的,所述将白名单内的哈希值拆分为多个部分并将每个部分均保存至相应的数据库,包括:将白名单内的哈希值拆分为头部值、中间值和尾部值;将所述头部值保存至头部数据库,将所述中间值保存至中间数据库,将尾部值保存至尾部数据库;对头部数据库、中间数据库和尾部数据库进行去除重复数据的处理。进一步的,所述根据映射关系表对请求程序的哈希值各部分从相应数据库查找匹配部分,包括:在中间数据库查找所述请求程序的哈希值的中间部分的中间匹配部分;若存在所述中间匹配部分,则根据所述映射关系表调取所有与所述中间匹配部分具有映射关系的关联头部值和关联尾部值;判断是否存与所述请求程序的哈希值的头部值和尾部值匹配的关联头部值和关联尾部值:若存在匹配的关联头部值和关联尾部值,则判定所述请求程序的哈希值在各数据库中均存在匹配部分。第二方面,本发明提供一种白名单防护匹配系统,包括:结构拆分单元,配置用于将白名单内的哈希值拆分为多个部分,并将每个部分均保存至相应的数据库;映射生成单元,配置用于建立同个白名单哈希值的各部分之间的映射关系,根据所述映射关系生成各数据库之间的映射关系表;结构匹配单元,配置用于按白名单内哈希值的拆分方法将请求程序的哈希值拆分为多个部分,并根据所述映射关系表对请求程序的哈希值各部分从相应数据库查找匹配部分;结果判定单元,配置用于若所述请求程序的哈希值在各数据库中均存在匹配部分,则判定所述请求程序的哈希值在白名单内。进一步的,所述结构拆分单元包括:结构拆分模块,配置用于将白名单内的哈希值拆分为头部值、中间值和尾部值;结构保存模块,配置用于将所述头部值保存至头部数据库,将所述中间值保存至中间数据库,将尾部值保存至尾部数据库;结构去重模块,配置用于对头部数据库、中间数据库和尾部数据库进行去除重复数据的处理。进一步的,所述结构匹配单元包括:中间匹配模块,配置用于在中间数据库查找所述请求程序的哈希值的中间部分的中间匹配部分;映射查找模块,配置用于若存在所述中间匹配部分,则根据所述映射关系表调取所有与所述中间匹配部分具有映射关系的关联头部值和关联尾部值;关联查找模块,配置用于判断是否存与所述请求程序的哈希值的头部值和尾部值匹配的关联头部值和关联尾部值:匹配判定模块,配置用于若存在匹配的关联头部值和关联尾部值,则判定所述请求程序的哈希值在各数据库中均存在匹配部分。第三方面,提供一种终端,包括:处理器、存储器,其中,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。本发明的有益效果在于,本发明提供的白名单防护匹配方法、系统、终端及存储介质,通过对哈希值拆分,将白名单内的哈希值进行拆分存储,并建立拆分的各部分之间的映射关系,合并了大量的重复值,减少了白名单库的存储空间,且对请求程序的哈希值进行分部匹配,提高了匹配效率,快速筛选掉大部分的非白名单程序。此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明一个实施例的方法的示意性流程图。图2本发明一个实施例的方法的白名单哈希值存储的示意性流程图。图3本发明一个实施例的方法的请求程序的哈希值匹配的示意性流程图。图4是本发明一个实施例的系统的示意性框图。图5为本发明实施例提供的一种终端的结构示意图。具体实施方式为了使本
技术领域
的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种白名单防护匹配系统。如图1所示,该方法100包括:步骤110,将白名单内的哈希值拆分为多个部分,并将每个部分均保存至相应的数据库;步骤120,建立同个白名单哈希值的各部分之间的映射关系,根据所述映射关系生成各数据库之间的映射关系表;步骤130,按白名单内哈希值的拆分方法将请求程序的哈希值拆分为多个部分,并根据所述映射关系表对请求程序的哈希值各部分从相应数据库查找匹配部分;步骤140,若所述请求程序的哈希值在各数据库中均存在匹配部分,则判定所述请求程序的哈希值在白名单内。具体的,所述白名单防护匹配方法包括:s1、如图2所示,将白名单内的哈希值拆分为多个部分,并将每个部分均保存至相应的数据库。建立同个白名单哈希值的各部分之间的映射关系,根据所述映射关系生成各数据库之间的映射关系表。将白名单程序的hash值大体等量的划分为头部值a、中间值b、尾部值c三部分(根据hash值的长度,可以适当分成5份,7份等奇数份)。将a部分存储到a数据库表中,b部分存储到b数据库表中,a部分与b部分的关系存储到关系表ab中,同理c部分存储到c数据库表中,b与c的关系存储到关系表bc表中。例如:hash值abcdefghigk,划分成abc,efgh,igk三部分,存储到数据库中为a表:1abcab表:11b表:1efghbc表:11c表:1igk当有其他白名单hash的b部分也是efgh时,b表只需要存储一份efgh数据即可,同时ab表与bc表需要更新。ab表:11xx1bc表:111xxs2、如图3所示,按白名单内哈希值的拆分方法将请求程序的哈希值拆分为多个部分,并根据所述映射关系表对请求程序的哈希值各部分从相应数据库查找匹配部分;若所述请求程序的哈希值在各数据库中均存在匹配部分,则判定所述请求程序的哈希值在白名单内。防护主机想运行某程序时,运行程序的hash值也需要大体等量的分成3份a,b,c。中间的b部分优先与b表匹配,匹配失败时,此运行程序非白名单,禁止运行。匹配成功时,按照ab、bc表的关系,依次匹配与b表关联的a部分(存储在a表中)与c部分(存储在c表中),三个部分都匹配成功时,才证明此运行程序是白名单程序,可以运行,否则禁止运行。(4)采用本专利的白明单库的匹配机制的好处为:①a,b,c表存储时,合并了大量重复值,减少了白名单库的存储空间②优先匹配中间部分即b部分(如果分成5份或7份时,也优先匹配中间部分),极大的提高匹配效率,筛选掉大部分的非白名单程序③当b部分匹配成功时,依据关系表ab,bc,只需要匹配与b部分有关系的小部分的a表与c表数据,极大的提高了匹配效率。如图4所示,该系统400包括:结构拆分单元410,配置用于将白名单内的哈希值拆分为多个部分,并将每个部分均保存至相应的数据库;映射生成单元420,配置用于建立同个白名单哈希值的各部分之间的映射关系,根据所述映射关系生成各数据库之间的映射关系表;结构匹配单元430,配置用于按白名单内哈希值的拆分方法将请求程序的哈希值拆分为多个部分,并根据所述映射关系表对请求程序的哈希值各部分从相应数据库查找匹配部分;结果判定单元440,配置用于若所述请求程序的哈希值在各数据库中均存在匹配部分,则判定所述请求程序的哈希值在白名单内。可选地,作为本发明一个实施例,所述结构拆分单元包括:结构拆分模块,配置用于将白名单内的哈希值拆分为头部值、中间值和尾部值;结构保存模块,配置用于将所述头部值保存至头部数据库,将所述中间值保存至中间数据库,将尾部值保存至尾部数据库;结构去重模块,配置用于对头部数据库、中间数据库和尾部数据库进行去除重复数据的处理。可选地,作为本发明一个实施例,所述结构匹配单元包括:中间匹配模块,配置用于在中间数据库查找所述请求程序的哈希值的中间部分的中间匹配部分;映射查找模块,配置用于若存在所述中间匹配部分,则根据所述映射关系表调取所有与所述中间匹配部分具有映射关系的关联头部值和关联尾部值;关联查找模块,配置用于判断是否存与所述请求程序的哈希值的头部值和尾部值匹配的关联头部值和关联尾部值:匹配判定模块,配置用于若存在匹配的关联头部值和关联尾部值,则判定所述请求程序的哈希值在各数据库中均存在匹配部分。图5为本发明实施例提供的一种终端500的结构示意图,该终端500可以用于执行本发明实施例提供的白名单防护匹配方法。其中,该终端500可以包括:处理器510、存储器520及通信单元530。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中,该存储器520可以用于存储处理器510的执行指令,存储器520可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。当存储器520中的执行指令由处理器510执行时,使得终端500能够执行以下上述方法实施例中的部分或全部步骤。处理器510为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器520内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(integratedcircuit,简称ic)组成,例如可以由单颗封装的ic所组成,也可以由连接多颗相同功能或不同功能的封装ic而组成。举例来说,处理器510可以仅包括中央处理器(centralprocessingunit,简称cpu)。在本发明实施方式中,cpu可以是单运算核心,也可以包括多运算核心。通信单元530,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-onlymemory,简称:rom)或随机存储记忆体(英文:randomaccessmemory,简称:ram)等。因此,本发明通过对哈希值拆分,将白名单内的哈希值进行拆分存储,并建立拆分的各部分之间的映射关系,合并了大量的重复值,减少了白名单库的存储空间,且对请求程序的哈希值进行分部匹配,提高了匹配效率,快速筛选掉大部分的非白名单程序,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1