一种白名单本地快速匹配方法、系统和电子设备技术方案

技术编号:38230209 阅读:12 留言:0更新日期:2023-07-25 17:58
本发明专利技术给出了一种白名单本地快速匹配方法、系统和电子设备,属于信息安全技术领域,包括:步骤S1、构建一个白名单;步骤S2、获取各个索引对应的文件指纹集;步骤S3、获取待匹配文件的待匹配索引;步骤S4、判断排序后的白名单中是否存在与待匹配索引相匹配的索引,如是,则从排序后的白名单中提取出与待匹配索引相匹配的索引对应的文件指纹集,进入步骤S5;如否,则禁止放行所述待匹配文件,结束;步骤S5、计算待匹配文件的待匹配文件指纹;步骤S6、将待匹配文件指纹与待匹配索引相匹配的索引对应的文件指纹集进行匹配。本发明专利技术能够实现白名单本地快速比对,且匹配效率高,适用批量文件比匹配。比匹配。比匹配。

【技术实现步骤摘要】
一种白名单本地快速匹配方法、系统和电子设备


[0001]本专利技术属于信息安全
,尤其涉及一种白名单本地快速匹配方法、系统和电子设备。

技术介绍

[0002]黑白名单是用于记录某些内容是否能通过的数据表,在白名单中的项即为可以通过的项,在黑名单中的项即为需阻止的项。通常在具体实现时,黑白名单记录在同一张数据表中,用一个字段存储文件指纹,通常是文件散列值,用于比较匹配,一个标志字段表示该项为黑名单中的项还是白名单中的项。黑白名单广泛应用于病毒查杀、进程访问控制、权限控制等场景。
[0003]现有的黑白名单库通常都比较大,一般是放在云端,匹配时,本地客户端先提取文件指纹,然后上传到云端进行文件指纹比对,云端将匹配结果返回给客户端。在黑白名单库体积小的情况下,也有将其放在本地,采用客户端提取文件指纹,直接与本地黑白名单库进行比较的方法。通常文件指纹比对就是对128比特(MD5)或160比特(SHA1)散列值的排序和查找。上述两种匹配方法,均需要进行文件指纹的散列值计算,十分耗时的,匹配效率低,不适用批量文件比对。

技术实现思路

[0004]本专利技术的目的之一,在于提供一种白名单本地快速匹配方法,该白名单本地快速匹配方法能够实现白名单本地快速比对,且匹配效率高,适用批量文件比匹配。
[0005]本专利技术的目的之二,在于提供一种白名单本地快速匹配系统。
[0006]本专利技术的目的之三,在于提供一种电子设备。
[0007]为了达到上述目的之一,本专利技术采用如下技术方案实现:
[0008]一种白名单本地快速匹配方法,所述白名单本地快速匹配方法包括:
[0009]步骤S1、获取各个已知文件的索引和文件指纹,以构建一个白名单;
[0010]步骤S2、对所述白名单进行排序,以获取各个索引对应的文件指纹集;
[0011]步骤S3、获取待匹配文件的待匹配索引;
[0012]步骤S4、判断排序后的白名单中是否存在与所述待匹配索引相匹配的索引,如是,则从排序后的白名单中提取出与所述待匹配索引相匹配的索引对应的文件指纹集,进入步骤S5;如否,则禁止放行所述待匹配文件,结束;
[0013]步骤S5、计算所述待匹配文件的待匹配文件指纹;
[0014]步骤S6、将所述待匹配文件指纹与所述待匹配索引相匹配的索引对应的文件指纹集进行匹配。
[0015]进一步的,在所述步骤S1中,所述索引为文件名的散列值;
[0016]所述文件指纹为所述索引为文件名和文件大小的散列值。
[0017]进一步的,在所述步骤S1中,所述白名单的构建过程包括:
[0018]步骤S11、设置一个空的数据表;所述数据表包括索引项和文件指纹项;
[0019]步骤S12、采用操作系统提供的文件操作API函数,查找所述各个已知文件对应的对象名称;
[0020]步骤S13、对所述各个已知文件对应的对象名称进行文件名解析;
[0021]步骤S14、计算各个文件名解析结果的第一散列值;
[0022]步骤S15、获取所述各个已知文件对应的文件内容,并计算各个文件内容的第二散列值;
[0023]步骤S16、将所述第一散列值和对应的第二散列值分别填写到所述数据表,并将填写后的数据表作为白名单。
[0024]进一步的,在所述步骤S2中,所述排序的具体实现过程包括:
[0025]步骤S21、按照所述文件指纹,对所述白名单进行第一次排序;
[0026]步骤S22、对第一次排序后的白名单中的索引进行第二次排序后进行合并处理。
[0027]进一步的,在所述步骤S22中,所述合并处理的具体过程包括:
[0028]步骤S221、在第二次排序后的白名单中索引项前增加一列序号项,得到新白名单;
[0029]步骤S222、设置所述新白名单中索引对应的序号初始i=1;
[0030]步骤S223、判断第i个索引和第i+1个索引是否相同,如是,则将所述第i个索引和第i+1个对应的序号均标记为1,进入步骤S224;如否,则将所述第i个索引和第i+1个对应的序号分别标记为1和0,进入步骤S224;
[0031]步骤S224、判断i是否小于n,如是,则令i=i+1,返回步骤S223;如否,则将标记为1的索引和对应的相邻索引合并成一个索引后,合并后的索引通过箭头指向分别指向合并前的各个索引对应的文件指纹,并删除所述新白名单中序号项,结束;
[0032]其中,n为所述新白名单中的索引数。
[0033]为了达到上述目的之二,本专利技术采用如下技术方案实现:
[0034]一种白名单本地快速匹配系统,所述白名单本地快速匹配系统包括:
[0035]构建模块,用于获取各个已知文件的索引和文件指纹,以构建一个白名单;
[0036]排序模块,用于对所述白名单进行排序,以获取各个索引对应的文件指纹集;
[0037]获取模块,用于获取待匹配文件的待匹配索引;
[0038]判断模块,用于判断排序后的白名单中是否存在与所述待匹配索引相匹配的索引,如是,则从排序后的白名单中提取出与所述待匹配索引相匹配的索引对应的文件指纹集,并传输给计算模块;如否,则禁止放行所述待匹配文件,结束;
[0039]计算模块,用于计算所述待匹配文件的待匹配文件指纹;
[0040]匹配模块,用于将所述待匹配文件指纹与所述待匹配索引相匹配的索引对应的文件指纹集进行匹配。
[0041]进一步的,所述构建模块包括:
[0042]设置子模块,用于设置一个空的数据表;所述数据表包括索引项和文件指纹项;
[0043]查找子模块,用于采用操作系统提供的文件操作API函数,查找所述各个已知文件对应的对象名称;
[0044]文件名解析子模块,用于对所述各个已知文件对应的对象名称进行文件名解析;
[0045]第一计算子模块,用于计算各个文件名解析结果的第一散列值;
[0046]获取子模块,用于获取所述各个已知文件对应的文件内容,并计算各个文件内容的第二散列值;
[0047]填写子模块,用于将所述第一散列值和对应的第二散列值分别填写到所述数据表,并将填写后的数据表作为白名单。
[0048]进一步的,所述排序模块包括:
[0049]第一次排序子模块,用于按照所述文件指纹,对所述白名单进行第一次排序;
[0050]第二次排序子模块,用于对第一次排序后的白名单中的索引进行第二次排序后进行合并处理。
[0051]进一步的,所述第二次排序子模块包括:
[0052]增加子单元,用于在第二次排序后的白名单中索引项前增加一列序号项,得到新白名单;
[0053]设置子单元,用于设置所述新白名单中索引对应的序号初始i=1;
[0054]第一判断子单元,用于判断第i个索引和第i+1个索引是否相同,如是,则将所述第i个索引和第i+1个对应的序号均标记为1,并本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种白名单本地快速匹配方法,其特征在于,所述白名单本地快速匹配方法包括:步骤S1、获取各个已知文件的索引和文件指纹,以构建一个白名单;步骤S2、对所述白名单进行排序,以获取各个索引对应的文件指纹集;步骤S3、获取待匹配文件的待匹配索引;步骤S4、判断排序后的白名单中是否存在与所述待匹配索引相匹配的索引,如是,则从排序后的白名单中提取出与所述待匹配索引相匹配的索引对应的文件指纹集,进入步骤S5;如否,则禁止放行所述待匹配文件,结束;步骤S5、计算所述待匹配文件的待匹配文件指纹;步骤S6、将所述待匹配文件指纹与所述待匹配索引相匹配的索引对应的文件指纹集进行匹配。2.根据权利要求1所述的白名单本地快速匹配方法,其特征在于,在所述步骤S1中,所述索引为文件名和文件大小的散列值;所述文件指纹为文件内容的散列值。3.根据权利要求2所述的白名单本地快速匹配方法,其特征在于,在所述步骤S1中,所述白名单的构建过程包括:步骤S11、设置一个空的数据表;所述数据表包括索引项和文件指纹项;步骤S12、采用操作系统提供的文件操作API函数,查找所述各个已知文件对应的对象名称;步骤S13、对所述各个已知文件对应的对象名称进行文件名解析;步骤S14、计算各个文件名解析结果的第一散列值;步骤S15、获取所述各个已知文件对应的文件内容,并计算各个文件内容的第二散列值;步骤S16、将所述第一散列值和对应的第二散列值分别填写到所述数据表,并将填写后的数据表作为白名单。4.根据权利要求3所述的白名单本地快速匹配方法,其特征在于,在所述步骤S2中,所述排序的具体实现过程包括:步骤S21、按照所述文件指纹,对所述白名单进行第一次排序;步骤S22、对第一次排序后的白名单中的索引进行第二次排序后进行合并处理。5.根据权利要求4所述的白名单本地快速匹配方法,其特征在于,在所述步骤S22中,所述合并处理的具体过程包括:步骤S221、在第二次排序后的白名单中索引项前增加一列序号项,得到新白名单;步骤S222、设置所述新白名单中索引对应的序号初始i=1;步骤S223、判断第i个索引和第i+1个索引是否相同,如是,则将所述第i个索引和第i+1个对应的序号均标记为1,进入步骤S224;如否,则将所述第i个索引和第i+1个对应的序号分别标记为1和0,进入步骤S224;步骤S224、判断i是否小于n,如是,则令i=i+1,返回步骤S223;如否,则将标记为1的索引和对应的相邻索引合并成一个索引后,合并后的索引通过箭头指向分别指向合并前的各个索引对应的文件指纹,并删除所述新白名单中序号项,结束;其中,n为所述新白名单中的索引数。
6.一种白名单本地快速匹配系统,其特征在...

【专利技术属性】
技术研发人员:吴庆穆源吴志勇代培武俞仁涵谷允捷朱涛王菁李艳斌黄天纵朱怀东
申请(专利权)人:中国人民解放军六一六六零部队
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1