首页> 中国专利> 一种系统白名单的确定方法、系统及服务器

一种系统白名单的确定方法、系统及服务器

摘要

本发明公开了一种系统白名单的确定方法、系统及服务器,其中,提供有检索数据库,所述检索数据库中包括各个系统下的安全文件,所述安全文件具备对应的字符串数据,所述方法包括:针对待检测的目标系统中的目标文件,从表征所述目标文件的二进制序列中抽取字符串数据;将抽取的字符串数据与所述检索数据库中的目标字符串数据进行对比;若所述抽取的字符串数据与所述目标字符串数据相匹配,将所述目标文件添加至系统白名单中。本申请提供的技术方案,能够有效地确定系统白名单的文件,从而极大地提高扫描效率。

著录项

  • 公开/公告号CN112487427A

    专利类型发明专利

  • 公开/公告日2021-03-12

    原文格式PDF

  • 申请/专利权人 网宿科技股份有限公司;

    申请/专利号CN202011347103.7

  • 发明设计人 刘卓龙;童章森;

    申请日2020-11-26

  • 分类号G06F21/56(20130101);G06F16/903(20190101);

  • 代理机构11573 北京华智则铭知识产权代理有限公司;

  • 代理人陈刚

  • 地址 200030 上海市徐汇区斜土路2899号光启文化广场A幢5楼

  • 入库时间 2023-06-19 10:11:51

说明书

技术领域

本发明涉及互联网技术领域,特别涉及一种系统白名单的确定方法、系统及服务器。

背景技术

随着网络安全技术的不断发展,主机入侵检测系统、各种杀毒软件都能够对网络中的主机进行安全防护和病毒查杀。当前,在对系统内的可执行文件进行扫描时,为了减少扫描时间,通常可以将已经完成扫描并确认安全的文件添加至白名单,后续对于白名单内的文件可以不再扫描和查杀病毒。

白名单内的文件通常是通过哈希值(如MD5值)进行标注的,这就导致即使待检测的文件只是与白名单中的某个文件存在细小的差别,也无法跳过扫描的过程。例如,白名单中存储的是centos7.1系统下的某个文件,目前需要对centos7.5系统下的相同文件进行扫描,但由于版本不同,即使文件只有细微差别,也无法跳过扫描的过程。而在实际应用中,这种存在细微差别的文件多不胜数,因此现有技术中的这种白名单的确定方式,无法很好地提高扫描效率。

发明内容

本申请的目的在于提供一种系统白名单的确定方法、系统及服务器,能够有效地确定系统白名单的文件,从而极大地提高扫描效率。

为实现上述目的,本申请一方面提供一种系统白名单的确定方法,提供有检索数据库,所述检索数据库中包括各个系统下的安全文件,所述安全文件具备对应的字符串数据,所述方法包括:针对待检测的目标系统中的目标文件,从表征所述目标文件的二进制序列中抽取字符串数据;将抽取的字符串数据与所述检索数据库中的目标字符串数据进行对比;若所述抽取的字符串数据与所述目标字符串数据相匹配,将所述目标文件添加至系统白名单中。

为实现上述目的,本申请另一方面还提供一种系统白名单的确定系统,提供有检索数据库,所述检索数据库中包括各个系统下的安全文件,所述安全文件具备对应的字符串数据,所述系统包括:字符串数据抽取单元,用于针对待检测的目标系统中的目标文件,从表征所述目标文件的二进制序列中抽取字符串数据;对比单元,用于将抽取的字符串数据与所述检索数据库中的目标字符串数据进行对比;白名单添加单元,用于若所述抽取的字符串数据与所述目标字符串数据相匹配,将所述目标文件添加至系统白名单中。

为实现上述目的,本申请另一方面还提供一种服务器,所述服务器提供有检索数据库,所述检索数据库中包括各个系统下的安全文件,所述安全文件具备对应的字符串数据,所述服务器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的系统白名单的确定方法。

由上可见,本申请一个或者多个实施方式提供的技术方案,检索数据库中系统下的安全文件可以具备自身的字符串数据。针对待检测的目标系统下的目标文件,并非是通过哈希值与检索数据库中的安全文件进行匹配,而是先从目标文件的二进制序列中抽取字符串数据,然后将抽取的字符串数据与检索数据库中的目标字符串数据进行比对,如果这两个字符串数据相匹配,则可以判定目标文件可以加入系统白名单中,从而无需对该目标文件进行扫描。由于字符串数据的匹配过程可以允许文件发生小范围的改动,因此就算两个文件的哈希值不同,这两个文件还是可能相匹配。这样,对于同一个系统,检索数据库中无需收纳所有版本的安全文件,而是只需要收纳其中一个版本的安全文件,这样,其它待检测的文件通过字符串数据的匹配过程,可以自动加入白名单中,从而省去了扫描的过程,极大地提高了系统中文件的扫描效率。

附图说明

为了更清楚地说明本发明实施方式中的技术方案,下面将对实施方式描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施方式中系统白名单的确定方法步骤图;

图2本发明实施方式中系统白名单的确定系统的功能模块示意图;

图3是本发明实施方式中服务器的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施方式及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施方式仅是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本申请保护的范围。

本申请提供一种系统白名单的确定方法,在实施该方法时,可以先构建检索数据库,检索数据库中可以包括各个系统下的安全文件,在检索数据库中的安全文件都可以省略扫描过程。

在实际应用中,检索数据库中的安全文件可以是经过主机入侵检测系统或者杀毒软件扫描之后,确认安全的可执行文件。检索数据库可以不断地进行更新,检索数据库中的安全文件可以根据更新结果被移除或者被添加。在本实施方式中,由于操作系统的版本通常会不断迭代,如果将不同版本的系统下的安全文件都收纳进检索数据库,无疑会大幅增加检索数据库的构建成本和维护成本。鉴于此,在本实施方式中,只需要在检索数据库中收纳大版本的系统下的安全文件即可。举例来说,对于centos系统而言,大版本例如可以是7.1、7.2这样的版本,在每个大版本下,都可以具备更加细小的小版本。例如,在7.1版本下,可以具备7.1.1523这样的小版本。当然,在实际应用中,可以根据同一个系统的版本总量,灵活地决定大版本的版号。例如,假设一个系统只有1.0版本,在该1.0版本下,可以具备1.0.1和1.0.2这两个小版本,而在1.0.1这个版本下,又可以具备1.0.1.1544这样的更小的版本。在这种情况下,可以将1.0.1和1.0.2视为大版本,仅在检索数据库中收纳这两个版本的系统下的安全文件。也就是说,大版本的定义可以根据实际应用场景灵活设置,只要将检索数据库的构建成本和维护成本维持在一个允许的范围即可。

在本实施方式中,检索数据库中包含的各个系统下的安全文件,可以具备对应的版本号以及目录。例如,对于centos7.1版本的系统中,一个名为ps的安全文件位于/bin目录下,那么该安全文件对应的版本号可以是7.1,目录可以是/bin/ps。当然,在实际应用中,每个安全文件还可以具备更加详细的信息。例如,可以具备安全文件添加至检索数据库中的时间戳,还可以具备安全文件的容量大小等。

在本实施方式中,除了上述的版本号和目录,安全文件还可以具备对应的字符串数据,该字符串数据可以是从安全文件的二进制序列中抽取得到的。具体地,在计算机中,文件通常都是由二进制序列的形式存储的。利用系统中的预设指令,可以在安全文件的二进制序列中查找可打印字符串,该可打印字符串便可以作为从二进制序列中抽取的字符串数据。举例来说,在Linux系统中,可以通过strings指令,将二进制序列中的可打印字符串打印出来。打印出来的字符串数据可以逐行排列,每一行都有固定的长度限制。

当然,在实际应用中,随着系统类型的不同,上述的预设指令也可以不同,但只要能够从二进制序列中抽取出对应的字符串数据,均应当处于本申请的保护范围内。

根据上述方式,可以生成检索数据库中各个安全文件的字符串数据,该字符串数据可以与对应的安全文件进行绑定。

请参阅图1,本申请一个实施方式提供的系统白名单的确定方法,可以包括以下多个步骤。

S1:针对待检测的目标系统中的目标文件,从表征所述目标文件的二进制序列中抽取字符串数据。

在本实施方式中,待检测的目标系统可以是任意一个操作系统,该目标系统中的可执行文件可以作为待检测的目标文件,通过对该目标文件进行检测,可以判断该目标文件是否可以加入系统白名单中。

在实际应用中,目标文件可以具备两种方式来确定。第一种是以待检测的目标系统为依据,将该目标系统中的任意一个可执行文件作为目标文件,然后判断该目标文件是否能够加入系统白名单中。第二种是结合检索数据库中的安全文件,在目标系统中确定待检测的目标文件。

具体地,针对第二种情况,首先可以将任意一个需要检测的操作系统作为待检测的目标系统,然后在检索数据库中查询与所述目标系统相匹配的匹配系统。查询的依据可以是目标系统的系统名称。在该系统名称中,可以标注出目标系统当前的版本。例如,目标系统的系统名称可以是centos7.5。在检索数据库中查询匹配系统时,可以将具备相同大版本的系统作为匹配系统。例如,对于centos7.5而言,大版本可以是centos7,而在检索数据库中具备centos7.1,那么可以将centos7.1作为目标系统centos7.5的匹配系统。这样,通过查询,可以得到与目标系统相同或者相似的匹配系统。

在本实施方式中,得到匹配系统后,可以针对该匹配系统中的安全文件,来确定目标系统中待检测的目标文件。具体地,可以在该匹配系统中确定位于检索数据库中的任意一个安全文件,然后可以查询该安全文件在匹配系统中的目标目录。由于匹配系统和目标系统属于同一个系统(只是版本可能不同),因此两个系统中的目录都是一致的。这样,在查询得到目标目录后,可以将该目标目录在目标系统中指向的文件作为待检测的目标文件。举例来说,当前待检测的目标系统为centos7.5,在检索数据库中与该目标系统相似的匹配系统为centos7.1,在匹配系统centos7.1中,有一个名为ps的安全文件位于检索数据库中,该安全文件的完整目录为/bin/ps。这样,基于该目录,可以在目标系统centos7.5中查找目标目录/bin/ps指向的目标文件。这样,所述目标字符串数据对应的安全文件与所述目标文件便具备相同的目录。

在本实施方式中,当确定出待检测的目标文件后,便可以按照上述的方式,从表征该目标文件的二进制序列中抽取字符串数据,详细的过程可以参考前文的描述,这里便不再赘述。

S3:将抽取的字符串数据与所述检索数据库中的目标字符串数据进行对比。

在本实施方式中,在得到目标文件的字符串数据后,可以将该字符串数据与检索数据库中安全文件的目标字符串数据进行对比。例如,可以将centos7.5中的ps文件的字符串数据与检索数据库中centos7.1中的ps文件的目标字符串数据进行对比。

在将两个字符串数据进行对比时,可以计算两个字符串数据之间的相似度。具体地,可以提取所述抽取的字符串数据的第一特征向量,以及提取所述目标字符串数据的第二特征向量,并计算所述第一特征向量和所述第二特征向量之间的相似度,两个特征向量之间的相似度,便可以作为两个字符串数据之间的相似度。

在一个实施方式中,考虑到从二进制序列中抽取的字符串数据的长度可能较长,如果直接比对两个长字符串数据之间的相似度,一方面计算的数据量较大,另一方面可能会导致计算结果的不准确。鉴于此,在本实施方式中,在提取第一特征向量时,可以先将抽取的字符串数据划分为多个字符子串,并将每个所述字符子串作为一个单词,从而生成所述抽取的字符串数据对应的单词集合。显然,单词集合的数据量会小于字符串数据的数据量。后续,可以统计该单词集合的特征向量,并将统计的特征向量作为抽取的字符串数据对应的第一特征向量。其中,在划分字符子串时,可以预先设定每个字符子串的长度,然后按照该设定的长度将字符串数据分割为多个字符子串。

在一个实施方式中,若字符串数据是按照strings指令打印出的可打印字符串,那么该可打印字符串是逐行排列的,此时可以将每一行的字符串数据作为对应的一个字符子串。

类似地,在提取目标字符串数据的第二特征向量时,可以将所述目标字符串数据划分为多个字符子串,并将每个所述字符子串作为一个单词,以生成所述目标字符串数据对应的单词集合。然后,可以统计所述单词集合的特征向量,并将统计的所述特征向量作为所述目标字符串数据对应的第二特征向量。需要说明的是,为了保证后续计算的准确度,第一特征向量和第二特征向量的提取标准通常要保持一致。例如,在划分字符子串时,需要按照相同的标准进行划分。

在实际应用中,可以采用多种算法统计单词集合的特征向量。例如,可以采用词袋模型、TF-IDF(Term Frequency–Inverse Document Frequency,词频-逆文本频率指数)算法或者词嵌入算法对上述的单词集合进行分析,从而得到对应的特征向量,这里就不赘述了。

在本实施方式中,在提取了字符串数据的特征向量之后,可以通过皮尔森相关系数、卡方验证、余弦相似度等方式,计算两个特征向量之间的相似度。

通过以上方式,先检索数据库中相匹配的匹配系统,再确定待检测的目标文件,每个待检测的目标文件只与检索数据库中相同目录的安全文件进行对比匹配,计算量小,可靠性高。

当然,如果目标文件是按照步骤S1中的第一种方式确定的,那么可以将目标文件的字符串数据逐一与检索数据库中各个安全文件的字符串数据进行对比。在这种情况下,目标字符串数据便可以是当前进行对比的安全文件的字符串数据。只不过这种方式的计算量较大,可靠性较低。

S5:若所述抽取的字符串数据与所述目标字符串数据相匹配,将所述目标文件添加至系统白名单中。

在本实施方式中,在计算得到两个字符串数据之间的相似度之后,如果所述相似度大于或者等于指定相似度阈值,则可以判定抽取的字符串数据与目标字符串数据相匹配,此时可以直接将目标文件添加至系统白名单中,在进行病毒扫描检测时,无需对该目标文件进行扫描。其中,上述的相似度阈值可以基于实际情况灵活设置,例如,假设相似度的最大数值为1,那么该指定相似度阈值可以设置为0.9。

这样,针对待检测的目标系统中的目标文件,通过将目标文件转换为字符串数据的方式,可以判断该目标文件是否能够加入系统白名单中。这样不仅可以减少检索数据库中安全文件所需的数量,也能够提高系统的扫描效率。

请参阅图2,本申请还提供一种系统白名单的确定系统,提供有检索数据库,所述检索数据库中包括各个系统下的安全文件,所述安全文件具备对应的字符串数据,所述系统包括:

字符串数据抽取单元,用于针对待检测的目标系统中的目标文件,从表征所述目标文件的二进制序列中抽取字符串数据;

对比单元,用于将抽取的字符串数据与所述检索数据库中的目标字符串数据进行对比;

白名单添加单元,用于若所述抽取的字符串数据与所述目标字符串数据相匹配,将所述目标文件添加至系统白名单中。

请参阅图3,本申请还提供一种服务器,所述服务器提供有检索数据库,所述检索数据库中包括各个系统下的安全文件,所述安全文件具备对应的字符串数据,所述服务器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的系统白名单的确定方法。

在本申请中,所述存储器可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方法的媒体加以存储。所述存储器又可以包括:利用电能方式存储信息的装置,如RAM或ROM等;利用磁能方式存储信息的装置,如硬盘、软盘、磁带、磁芯存储器、磁泡存储器或U盘;利用光学方式存储信息的装置,如CD或DVD。当然,还有其他方式的存储器,例如量子存储器或石墨烯存储器等等。

在本申请中,所述处理器可以按任何适当的方式实现。例如,所述处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。

由上可见,本申请一个或者多个实施方式提供的技术方案,检索数据库中系统下的安全文件可以具备自身的字符串数据。针对待检测的目标系统下的目标文件,并非是通过哈希值与检索数据库中的安全文件进行匹配,而是先从目标文件的二进制序列中抽取字符串数据,然后通过将抽取的字符串数据与检索数据库中的目标字符串数据进行比对,如果这两个字符串数据相匹配,则可以判定目标文件可以加入系统白名单中,从而无需对该目标文件进行扫描。由于字符串数据的匹配过程可以允许文件发生小范围的改动,因此就算两个文件的哈希值不同,这两个文件还是可能相匹配。这样,对于同一个系统,检索数据库中无需收纳所有版本的安全文件,而是只需要收纳其中一个版本的文件,这样,其它待检测的文件通过字符串数据的匹配过程,可以自动加入白名单中,从而省去了扫描的过程,极大地提高了系统中文件的扫描效率。

本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。尤其,针对系统和服务器的实施方式来说,均可以参照前述方法的实施方式的介绍对照解释。

本领域内的技术人员应明白,本发明的实施方式可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施方式、完全软件实施方式、或结合软件和硬件方面的实施方式的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施方式的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上所述仅为本申请的实施方式而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号