CN111538984B - 一种可信白名单快速匹配装置与方法 - Google Patents

一种可信白名单快速匹配装置与方法 Download PDF

Info

Publication number
CN111538984B
CN111538984B CN202010303063.XA CN202010303063A CN111538984B CN 111538984 B CN111538984 B CN 111538984B CN 202010303063 A CN202010303063 A CN 202010303063A CN 111538984 B CN111538984 B CN 111538984B
Authority
CN
China
Prior art keywords
hash
unit
bit
bloom filter
white list
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010303063.XA
Other languages
English (en)
Other versions
CN111538984A (zh
Inventor
方昊
吴鹤意
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Institute Of Cyber Technology Co ltd
Original Assignee
Nanjing Institute Of Cyber Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Institute Of Cyber Technology Co ltd filed Critical Nanjing Institute Of Cyber Technology Co ltd
Priority to CN202010303063.XA priority Critical patent/CN111538984B/zh
Publication of CN111538984A publication Critical patent/CN111538984A/zh
Application granted granted Critical
Publication of CN111538984B publication Critical patent/CN111538984B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; Data structures therefor; Storage structures hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种可信白名单快速匹配装置与方法,装置包括:文件句柄监控单元、文件内容读取单元、SM3计算单元、Bloom过滤器Hash单元、Bloom过滤器控制单元、Hash暂存单元和用户态数据库单元。本发明引入“Bloom过滤器”这一概率算法将白名单检索的时间复杂度降低到常数阶,而空间复杂度比上述确定性算法降低一个数量级,同时结合可信度量的特点,虽然白名单总量庞大,但一段时间内,系统调用的文件数是有限的,通过Hash暂存单元对标准Bloom过滤器算法在查找命中时(即结果为“阳性Positive”)时的二次查找结果进行缓存,使得Bloom过滤器概率算法的假阳性(FalsePositive)问题得到极大的缓解。

Description

一种可信白名单快速匹配装置与方法
技术领域
本发明涉及信息安全技术领域,尤其是一种可信白名单快速匹配装置与方法。
背景技术
可信计算作为一种主动防御技术,不需要依赖病毒库的升级更新,就可以自动免疫诸如勒索病毒、广告木马、挖矿机等新型安全威胁。主动防御技术要求对一个已知可信的系统的所有非用户数据文件进行完整性度量并建立可信基准数据库(这一过程可以是由计算机厂商在生产时完成,或由系统管理员在初始化系统时完成),随后在系统正常运行时,时刻对比可信基准数据库,如有超出可信基准数据库范围的非用户数据文件将被执行,则进行拦截。
为实现对任何文件的执行的拦截,需要在操作系统(Windows/Linux等)的内核中增加相应的安全钩子,这些钩子可以在操作系统加载可执行镜像和与可执行镜像关联的文件时,转到可信计算度量程序中预先对将要执行的文件进行度量。
可信度量的方法一般为使用密码学Hash函数对被度量文件进行消息摘要运算。所以“对比可信基准数据库”这一过程,可以看作把被度量文件的消息摘要与预存的一组消息摘要进行白名单查找的过程。如果被度量文件的消息摘要在预存的一组消息摘要之中,那么说明被度量文件是合法的、经过授权的,而如果被度量文件的消息摘要不在预存的一组消息摘要之中,那么说明被度量文件是不被信任的,不可继续执行的。
前述在操作系统内核中进行白名单查验的过程,面对的主要问题是如何把相对庞大的白名单数据信息放到相对有限的内核内存空间中(因为内核模块一般完全在内存中运行,为保持速度一般不直接访问大容量外部存储器),又如何保持相对快的查找速度。
常见的白名单文件数大致为100万到1000万左右,按每文件需要至少128比特(16字节)的度量值存储空间和至少8字节的上下文索引地址计算,需要数十到数百兆的空间,按二叉搜索树计算每次比对需要20次左右的比较运算。这对于每次运行和加载文件都需要进行一次过滤的可信度量操作而言,会极大拖累系统的运行效率,降低用户体验,造成用户卡顿;同时,如果在内核模块中占据大量可用内存,也会减少用户程序可使用的内存,造成用户程序频繁使用虚拟内存(在Linux称交换分区或交换文件)。
发明内容
本发明所要解决的技术问题在于,提供一种可信白名单快速匹配装置与方法,为操作系统内核模块中提供一种在有限内存、有限时间情况下快速进行可信白名单对比匹配的功能,以减少因为引入可信度量机制而产生的系统卡顿、可用内存变少等现象。
为解决上述技术问题,本发明提供一种可信白名单快速匹配装置,包括:文件句柄监控单元、文件内容读取单元、SM3计算单元、Bloom过滤器Hash单元、Bloom过滤器控制单元、Hash暂存单元和用户态数据库单元;其中文件句柄监控单元连接文件内容读取单元、文件内容读取单元连接SM3计算单元、SM3计算单元连接Bloom过滤器Hash单元和Hash暂存单元、Bloom过滤器Hash单元连接Bloom过滤器控制单元、Bloom过滤器控制单元连接Hash暂存单元和用户态数据库单元。
优选的,文件句柄监控单元包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行该程序时实现:在内核态对用户态文件打开操作进行拦截,并通知文件内容读取单元。
优选的,文件内容读取单元包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行该程序时实现:利用内核态自身接口,在用户态文件打开之前,预先读取其内容,并送入SM3计算单元。
优选的,SM3计算单元包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行该程序时实现:按国密SM3算法计算文件内容的128比特Hash值,并送入Bloom过滤器Hash单元,并将文件名和128比特Hash值组成二元组送入Hash暂存单元。
优选的,Bloom过滤器Hash单元包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行该程序时实现:将128比特Hash值分为四组,每组各32比特,最终形成一个四元组,每组各为32比特长的Hash值,将此Hash值四元组和原128比特Hash值送入Bloom过滤器控制单元。
优选的,Bloom过滤器控制单元包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行该程序时实现:将前述Hash值四元组中的每一位,作为索引,取出预存的比特数组对应位上的比特值,如果四个比特值不同时为1,则向用户反馈判决结果“不在可信白名单”,如果四个比特值同时为1,则向Hash暂存单元询问前述128比特Hash值是否在四元组列表中,如果不存在,则向用户态数据库单元查询128比特Hash是否在可信白名单中,并将结果设置到Hash暂存单元,再从Hash暂存单元得到判决值并向用户反馈的判决结果,即“在可信白名单”或“不在可信白名单”;如果存在,则以Hash暂存单元反馈的判决值为Bloom过滤器控制单元向用户反馈的判决结果,即“在可信白名单”或“不在可信白名单”。
优选的,用户态数据库单元包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行该程序时实现:预先存入可信白名单,可信白名单内容为可信文件的128比特Hash值,在Bloom过滤器控制单元从内核发来查询请求时,查找白名单内是否有Bloom过滤器控制单元所请求的128比特Hash值。
优选的,Hash暂存单元包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行该程序时实现:响应SM3计算单元的请求,在自身内存的四元组列表中建立一个新的四元组项,新的四元组项包括SM3计算单元的请求中的文件名和128比特Hash值两二元组中的两项,一项最近使用时间戳项,此项在新建时为当前时间,一项判决值项,此项在新建时为空,如果自身四元组列表超过一定大小,则丢弃按“最近使用时间戳项”标记,最久没有使用的四元组;响应Bloom过滤器控制单元的请求,查找包含128比特Hash值的四元组是否存在,并反馈判决值,同时如果四元组存在,更新四元组中的最近使用时间戳项为当前时间;响应Bloom过滤器控制单元的请求,查找包含128比特Hash值的四元组是否存在,并设置判决值。
相应的,一种可信白名单快速匹配方法,包括如下步骤:
(1)向用户态数据库单元填充可信白名单,并开辟一个充分大的内存区域作为比特数组,初始化为全0,随后,将每条白名单数据的128比特Hash值分为四组,每组各32比特,形成一个四元组,每组各为32比特长的Hash值,将四元组中的每一位,作为数组索引,在比特数组索引对应位上置1,最后将此比特数组预存到Bloom过滤器控制单元;
(2)文件句柄监控单元在内核态对用户态文件打开操作进行拦截,并通知文件内容读取单元;
(3)文件内容读取单元利用内核态自身接口,在用户态文件打开之前,预先读取其内容,并送入SM3计算单元;
(4)SM3计算单元按国密SM3算法计算文件内容的128比特Hash值,并送入Bloom过滤器Hash单元,并将文件名和128比特Hash值组成二元组送入Hash暂存单元;
(5)Hash暂存单元在自身内存的四元组列表中建立一个新的四元组项,包括SM3计算单元的请求中的文件名和128比特Hash值两二元组中的两项;一项最近使用时间戳项,此项在新建时为当前时间;一项判决值项,此项在新建时为空;如果自身四元组列表超过一定大小,则丢弃按“最近使用时间戳项”标记,最久没有使用的四元组;
(6)Bloom过滤器Hash单元将步骤四中SM3计算单元发来的128比特Hash值分为四组,每组各32比特,最终形成一个四元组,每组各为32比特长的Hash值,将此Hash值四元组和原128比特Hash值送入Bloom过滤器控制单元;
(7)Bloom过滤器控制单元将步骤六中Bloom过滤器Hash单元发来的Hash值四元组中的每一位,作为索引,取出预存的比特数组对应位上的比特值,如果四个比特值不同时为1,则向用户反馈文件不在可信白名单中,如果四个比特值同时为1,则向Hash暂存单元询问前述128比特Hash值是否在四元组列表中,如果不存在,则向用户态数据库单元查询128比特Hash是否在可信白名单中,并将结果设置到Hash暂存单元,再从Hash暂存单元得到判决值并向用户反馈的判决结果,即“在可信白名单”或“不在可信白名单”;如果存在,则以Hash暂存单元反馈的判决值为Bloom过滤器控制单元向用户反馈的判决结果,即“在可信白名单”或“不在可信白名单”。
本发明的有益效果为:本发明引入“Bloom过滤器”这一概率算法将白名单检索的时间复杂度降低到常数阶,而空间复杂度比上述确定性算法降低一个数量级,同时结合可信度量的特点,虽然白名单总量庞大,但一段时间内,系统调用的文件数是有限的,通过Hash暂存单元对标准Bloom过滤器算法在查找命中时(即结果为“阳性Positive”)时的二次查找结果进行缓存,使得Bloom过滤器概率算法的假阳性(False Positive)问题得到极大的缓解。
附图说明
图1为本发明的装置结构示意图。
图2为本发明的Bloom过滤器控制单元判决流程示意图。
具体实施方式
如图1所示,一种可信白名单快速匹配装置,包括:文件句柄监控单元、文件内容读取单元、SM3计算单元、Bloom过滤器Hash单元、Bloom过滤器控制单元、Hash暂存单元和用户态数据库单元;其中文件句柄监控单元连接文件内容读取单元、文件内容读取单元连接SM3计算单元、SM3计算单元连接Bloom过滤器Hash单元和Hash暂存单元、Bloom过滤器Hash单元连接Bloom过滤器控制单元、Bloom过滤器控制单元连接Hash暂存单元和用户态数据库单元。
文件句柄监控单元包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行该程序时实现:在内核态对用户态文件打开操作进行拦截,并通知文件内容读取单元。
文件内容读取单元包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行该程序时实现:利用内核态自身接口,在用户态文件打开之前,预先读取其内容,并送入SM3计算单元。
SM3计算单元包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行该程序时实现:按国密SM3算法计算文件内容的128比特Hash值,并送入Bloom过滤器Hash单元,并将文件名和128比特Hash值组成二元组送入Hash暂存单元。
Bloom过滤器Hash单元包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行该程序时实现:将128比特Hash值分为四组,每组各32比特,最终形成一个四元组,每组各为32比特长的Hash值,将此Hash值四元组和原128比特Hash值送入Bloom过滤器控制单元。
Bloom过滤器控制单元包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行该程序时实现:将前述Hash值四元组中的每一位,作为索引,取出预存的比特数组对应位上的比特值,如果四个比特值不同时为1,则向用户反馈判决结果“不在可信白名单”,如果四个比特值同时为1,则向Hash暂存单元询问前述128比特Hash值是否在四元组列表中,如果不存在,则向用户态数据库单元查询128比特Hash是否在可信白名单中,并将结果设置到Hash暂存单元,再从Hash暂存单元得到判决值并向用户反馈的判决结果,即“在可信白名单”或“不在可信白名单”;如果存在,则以Hash暂存单元反馈的判决值为Bloom过滤器控制单元向用户反馈的判决结果,即“在可信白名单”或“不在可信白名单”。
用户态数据库单元包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行该程序时实现:预先存入可信白名单,可信白名单内容为可信文件的128比特Hash值,在Bloom过滤器控制单元从内核发来查询请求时,查找白名单内是否有Bloom过滤器控制单元所请求的128比特Hash值。
Hash暂存单元包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行该程序时实现:响应SM3计算单元的请求,在自身内存的四元组列表中建立一个新的四元组项,新的四元组项包括SM3计算单元的请求中的文件名和128比特Hash值两二元组中的两项,一项最近使用时间戳项,此项在新建时为当前时间,一项判决值项,此项在新建时为空,如果自身四元组列表超过一定大小,则丢弃按“最近使用时间戳项”标记,最久没有使用的四元组;响应Bloom过滤器控制单元的请求,查找包含128比特Hash值的四元组是否存在,并反馈判决值,同时如果四元组存在,更新四元组中的最近使用时间戳项为当前时间;响应Bloom过滤器控制单元的请求,查找包含128比特Hash值的四元组是否存在,并设置判决值。
相应的,一种可信白名单快速匹配方法,包括如下步骤:
(1)向用户态数据库单元填充可信白名单,并开辟一个充分大的内存区域作为比特数组,初始化为全0,随后,将每条白名单数据的128比特Hash值分为四组,每组各32比特,形成一个四元组,每组各为32比特长的Hash值,将四元组中的每一位,作为数组索引,在比特数组索引对应位上置1,最后将此比特数组预存到Bloom过滤器控制单元;
(2)文件句柄监控单元在内核态对用户态文件打开操作进行拦截,并通知文件内容读取单元;
(3)文件内容读取单元利用内核态自身接口,在用户态文件打开之前,预先读取其内容,并送入SM3计算单元;
(4)SM3计算单元按国密SM3算法计算文件内容的128比特Hash值,并送入Bloom过滤器Hash单元,并将文件名和128比特Hash值组成二元组送入Hash暂存单元;
(5)Hash暂存单元在自身内存的四元组列表中建立一个新的四元组项,包括SM3计算单元的请求中的文件名和128比特Hash值两二元组中的两项;一项最近使用时间戳项,此项在新建时为当前时间;一项判决值项,此项在新建时为空;如果自身四元组列表超过一定大小,则丢弃按“最近使用时间戳项”标记,最久没有使用的四元组;
(6)Bloom过滤器Hash单元将步骤四中SM3计算单元发来的128比特Hash值分为四组,每组各32比特,最终形成一个四元组,每组各为32比特长的Hash值,将此Hash值四元组和原128比特Hash值送入Bloom过滤器控制单元;
(7)如图2所示,Bloom过滤器控制单元将步骤六中Bloom过滤器Hash单元发来的Hash值四元组中的每一位,作为索引,取出预存的比特数组对应位上的比特值,如果四个比特值不同时为1,则向用户反馈文件不在可信白名单中,如果四个比特值同时为1,则向Hash暂存单元询问前述128比特Hash值是否在四元组列表中,如果不存在,则向用户态数据库单元查询128比特Hash是否在可信白名单中,并将结果设置到Hash暂存单元,再从Hash暂存单元得到判决值并向用户反馈的判决结果,即“在可信白名单”或“不在可信白名单”;如果存在,则以Hash暂存单元反馈的判决值为Bloom过滤器控制单元向用户反馈的判决结果,即“在可信白名单”或“不在可信白名单”。
如表1和表2所示,本发明引入“Bloom过滤器”这一概率算法将白名单检索的时间复杂度降低到常数阶,而空间复杂度比上述确定性算法降低一个数量级,同时结合可信度量的特点,虽然白名单总量庞大,但一段时间内,系统调用的文件数是有限的,通过Hash暂存单元对标准Bloom过滤器算法在查找命中时(即结果为“阳性Positive”)时的二次查找结果进行缓存,使得Bloom过滤器概率算法的假阳性(False Positive)问题得到极大的缓解。
表1白名单数量为100万时算法性能对比
Figure BDA0002454734620000071
表2白名单数量为1000万时算法性能对比
Figure BDA0002454734620000072

Claims (2)

1.一种可信白名单快速匹配装置,其特征在于,包括:文件句柄监控单元、文件内容读取单元、SM3计算单元、Bloom过滤器Hash单元、Bloom过滤器控制单元、Hash暂存单元和用户态数据库单元;其中文件句柄监控单元连接文件内容读取单元、文件内容读取单元连接SM3计算单元、SM3计算单元连接Bloom过滤器Hash单元和Hash暂存单元、Bloom过滤器Hash单元连接Bloom过滤器控制单元、Bloom过滤器控制单元连接Hash暂存单元和用户态数据库单元;
文件句柄监控单元包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行该程序时实现:在内核态对用户态文件打开操作进行拦截,并通知文件内容读取单元;
文件内容读取单元包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行该程序时实现:利用内核态自身接口,在用户态文件打开之前,预先读取其内容,并送入SM3计算单元;
SM3计算单元包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行该程序时实现:按国密SM3算法计算文件内容的128比特Hash值,并送入Bloom过滤器Hash单元,并将文件名和128比特Hash值组成二元组送入Hash暂存单元;
Bloom过滤器Hash单元包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行该程序时实现:将128比特Hash值分为四组,每组各32比特,最终形成一个四元组,每组各为32比特长的Hash值,将此Hash值四元组和原128比特Hash值送入Bloom过滤器控制单元;
Bloom过滤器控制单元包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行该程序时实现:将前述Hash值四元组中的每一位,作为索引,取出预存的比特数组对应位上的比特值,如果四个比特值不同时为1,则向用户反馈判决结果“不在可信白名单”,如果四个比特值同时为1,则向Hash暂存单元询问前述128比特Hash值是否在四元组列表中,如果不存在,则向用户态数据库单元查询128比特Hash是否在可信白名单中,并将结果设置到Hash暂存单元,再从Hash暂存单元得到判决值并向用户反馈的判决结果,即“在可信白名单”或“不在可信白名单”;如果存在,则以Hash暂存单元反馈的判决值为Bloom过滤器控制单元向用户反馈的判决结果,即“在可信白名单”或“不在可信白名单”;
用户态数据库单元包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行该程序时实现:预先存入可信白名单,可信白名单内容为可信文件的128比特Hash值,在Bloom过滤器控制单元从内核发来查询请求时,查找白名单内是否有Bloom过滤器控制单元所请求的128比特Hash值;
Hash暂存单元包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行该程序时实现:响应SM3计算单元的请求,在自身内存的四元组列表中建立一个新的四元组项,新的四元组项包括SM3计算单元的请求中的文件名和128比特Hash值两二元组中的两项,一项最近使用时间戳项,此项在新建时为当前时间,一项判决值项,此项在新建时为空,如果自身四元组列表超过一定大小,则丢弃按“最近使用时间戳项”标记,最久没有使用的四元组;响应Bloom过滤器控制单元的请求,查找包含128比特Hash值的四元组是否存在,并反馈判决值,同时如果四元组存在,更新四元组中的最近使用时间戳项为当前时间;响应Bloom过滤器控制单元的请求,查找包含128比特Hash值的四元组是否存在,并设置判决值。
2.一种可信白名单快速匹配方法,其特征在于,包括如下步骤:
(1)向用户态数据库单元填充可信白名单,将每条白名单数据的128比特Hash值分为四组,每组各32比特,形成一个四元组,每组各为32比特长的Hash值,将四元组中的每一位,作为数组索引,在比特数组索引对应位上置1,最后将此比特数组预存到Bloom过滤器控制单元;
(2)文件句柄监控单元在内核态对用户态文件打开操作进行拦截,并通知文件内容读取单元;
(3)文件内容读取单元利用内核态自身接口,在用户态文件打开之前,预先读取其内容,并送入SM3计算单元;
(4)SM3计算单元按国密SM3算法计算文件内容的128比特Hash值,并送入Bloom过滤器Hash单元,并将文件名和128比特Hash值组成二元组送入Hash暂存单元;
(5)Hash暂存单元在自身内存的四元组列表中建立一个新的四元组项,包括SM3计算单元的请求中的文件名和128比特Hash值两二元组中的两项;一项最近使用时间戳项,此项在新建时为当前时间;一项判决值项,此项在新建时为空;如果自身四元组列表超过一定大小,则丢弃按“最近使用时间戳项”标记,最久没有使用的四元组;
(6)Bloom过滤器Hash单元将步骤(4)中SM3计算单元发来的128比特Hash值分为四组,每组各32比特,最终形成一个四元组,每组各为32比特长的Hash值,将此Hash值四元组和原128比特Hash值送入Bloom过滤器控制单元;
(7)Bloom过滤器控制单元将步骤(6)中Bloom过滤器Hash单元发来的Hash值四元组中的每一位,作为索引,取出预存的比特数组对应位上的比特值,如果四个比特值不同时为1,则向用户反馈文件不在可信白名单中,如果四个比特值同时为1,则向Hash暂存单元询问前述128比特Hash值是否在四元组列表中,如果不存在,则向用户态数据库单元查询128比特Hash是否在可信白名单中,并将结果设置到Hash暂存单元,再从Hash暂存单元得到判决值并向用户反馈的判决结果,即“在可信白名单”或“不在可信白名单”;如果存在,则以Hash暂存单元反馈的判决值为Bloom过滤器控制单元向用户反馈的判决结果,即“在可信白名单”或“不在可信白名单”。
CN202010303063.XA 2020-04-17 2020-04-17 一种可信白名单快速匹配装置与方法 Active CN111538984B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010303063.XA CN111538984B (zh) 2020-04-17 2020-04-17 一种可信白名单快速匹配装置与方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010303063.XA CN111538984B (zh) 2020-04-17 2020-04-17 一种可信白名单快速匹配装置与方法

Publications (2)

Publication Number Publication Date
CN111538984A CN111538984A (zh) 2020-08-14
CN111538984B true CN111538984B (zh) 2023-04-25

Family

ID=71976809

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010303063.XA Active CN111538984B (zh) 2020-04-17 2020-04-17 一种可信白名单快速匹配装置与方法

Country Status (1)

Country Link
CN (1) CN111538984B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112714129B (zh) * 2020-12-30 2022-06-03 西安交通大学 一种用于网络安全芯片的内外网访问控制方法与该网络安全芯片
CN114499892B (zh) * 2022-03-31 2022-07-19 飞腾信息技术有限公司 固件启动方法、装置、计算机设备及可读存储介质
CN116450581B (zh) * 2023-04-10 2024-02-13 中国人民解放军61660部队 一种白名单本地快速匹配方法、系统和电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109783441A (zh) * 2018-12-24 2019-05-21 南京中新赛克科技有限责任公司 基于Bloom Filter的海量数据查询方法
CN110162529A (zh) * 2019-05-27 2019-08-23 广州华多网络科技有限公司 一种数据处理方法、业务服务器及数据处理系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010065271A2 (en) * 2008-11-25 2010-06-10 Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations Systems and methods for providing continuous file protection at block level
CN103581363B (zh) * 2013-11-29 2017-12-12 哈尔滨工业大学(威海) 对恶意域名和非法访问的控制方法及装置
CN105069358B (zh) * 2015-07-13 2018-09-04 杭州共享汇信息技术有限公司 基于带有存储结构的Bloom过滤器的关键词可搜索加密方法
CN108460074A (zh) * 2017-12-29 2018-08-28 天津南大通用数据技术股份有限公司 基于BloomFilter的多列索引在列存数据库中的创建及使用方法
CN110135151B (zh) * 2019-05-23 2020-12-01 北京计算机技术及应用研究所 基于lsm与系统调用拦截相配合的可信计算实现系统及方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109783441A (zh) * 2018-12-24 2019-05-21 南京中新赛克科技有限责任公司 基于Bloom Filter的海量数据查询方法
CN110162529A (zh) * 2019-05-27 2019-08-23 广州华多网络科技有限公司 一种数据处理方法、业务服务器及数据处理系统

Also Published As

Publication number Publication date
CN111538984A (zh) 2020-08-14

Similar Documents

Publication Publication Date Title
CN111538984B (zh) 一种可信白名单快速匹配装置与方法
US11693962B2 (en) Malware clustering based on function call graph similarity
CA2854433C (en) Fuzzy whitelisting anti-malware systems and methods
EP2195749B1 (en) Efficient file hash identifier computation
US8250325B2 (en) Data deduplication dictionary system
US20190179948A1 (en) Storing unstructured data in a structured framework
EP3631651B1 (en) Method for efficient primary key based queries using atomic rdma reads on cache friendly in-memory hash index
US11586735B2 (en) Malware clustering based on analysis of execution-behavior reports
US11061881B2 (en) Bounding cost of flushes in buffer trees
WO2016141887A1 (en) Hash table processing
US10853058B1 (en) Application similarity detection
JP7358396B2 (ja) 安全なデータセット管理
CN111797425B (zh) 利用字典编码的安全数据库
WO2022087237A1 (en) Code similarity search
KR20150054758A (ko) 1차 접속 테이블 및 2차 접속 테이블의 사용
US20230259660A1 (en) Integrity tree for memory security
US7325130B2 (en) Method for guaranteeing freshness of results for queries against a non-secure data store
CN110598467A (zh) 一种内存数据块完整性检验方法
US20190278479A1 (en) Detecting and managing collisions in storage
JP2020004127A (ja) コンピュータ資産管理システムおよびコンピュータ資産管理方法
JP7173165B2 (ja) 履歴管理装置、履歴管理方法及びプログラム
CN112597492B (zh) 一种基于Windows内核的二进制可执行文件更改监测方法
CN110046502B (zh) 一种基于虚拟化高效hash的可配置函数api监测方法
US10990297B1 (en) Checkpointing of user data and metadata in a non-atomic persistent storage environment
US20210089339A1 (en) Storage deduplication for virtual machines with encrypted storage

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant