[go: up one dir, main page]

CN110995679B - 一种文件数据流控制方法、装置、设备及存储介质 - Google Patents

一种文件数据流控制方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN110995679B
CN110995679B CN201911154063.1A CN201911154063A CN110995679B CN 110995679 B CN110995679 B CN 110995679B CN 201911154063 A CN201911154063 A CN 201911154063A CN 110995679 B CN110995679 B CN 110995679B
Authority
CN
China
Prior art keywords
file
segment
flow control
complete
partial
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
CN201911154063.1A
Other languages
English (en)
Other versions
CN110995679A (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.)
Hangzhou DPTech Technologies Co Ltd
Original Assignee
Hangzhou DPTech Technologies 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 Hangzhou DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN201911154063.1A priority Critical patent/CN110995679B/zh
Publication of CN110995679A publication Critical patent/CN110995679A/zh
Application granted granted Critical
Publication of CN110995679B publication Critical patent/CN110995679B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0245Filtering by information in the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种文件数据流控制方法、装置、设备及存储介质,其中方法包括:缓存当前接收到的第一文件的数据流;获取所述第一文件中预定位置的第一文件片段,所述第一文件片段可在缓存完所述第一文件前全部获取;若所述第一文件片段与文件信誉库中的第二文件片段匹配一致,所述第二文件片段属于与所述第一文件对应的第二文件,则确定所述第一文件与所述第二文件相同;根据所述第二文件对应的流控标签,对所述第一文件的数据流执行通行控制。以使防护设备不需要缓存完整的文件,就能完成当前文件的匹配并对当前文件数据流进行控制,从而降低了设备性能消耗,提高了网络恶意文件的识别效率。

Description

一种文件数据流控制方法、装置、设备及存储介质
技术领域
本申请涉及网络安全技术领域,尤其涉及一种文件数据流控制方法、装置、设备及存储介质。
背景技术
随着网络技术的发展,网络安全备受重视。网络恶意文件的识别与阻断,逐渐成为一个重要研究方向。现有技术中,以防火墙作为防护设备进行数据流量的初步识别,用沙箱设备对网络文件进行数据特征及文件行为特征等多维度的深度检测。具体为:防火墙设备用网络中的数据匹配病毒特征库,如果匹配成功,则确定数据存在风险并执行阻断操作;如果没有匹配成功,则将网络数据流还原为完整的文件数据并缓存。防火墙设备用缓存的完整文件数据匹配文件信誉库,如果匹配成功,则根据文件的信誉信息执行放通或阻断;如果匹配失败,则将完整文件数据发送至沙箱进行深度检测。防火墙设备根据沙箱返回的检测结果执行相应操作,同时将检测结果添加到文件信誉库。
现有技术的缺陷在于,防护设备需要将文件全部缓存完成才能进行文件信誉库匹配,完成对当前文件数据流的控制。缓存整个文件会较大的消耗设备性能,对网络恶意文件的识别效率较低。
发明内容
本说明书至少一个实施例提供了一种文件数据流控制方案,以在缓存完该文件前,对该文件数据流进行识别和控制。
第一方面,提供了一种文件数据流控制方法,包括:
缓存当前接收到的第一文件的数据流;
获取所述第一文件中预定位置的第一文件片段,所述第一文件片段可在缓存完所述第一文件前全部获取;
若所述第一文件片段与文件信誉库中的第二文件片段匹配一致,所述第二文件片段属于与所述第一文件对应的第二文件,则确定所述第一文件与所述第二文件相同;
根据所述第二文件对应的流控标签,对所述第一文件的数据流执行通行控制。
第二方面,提供了一种文件数据流控制装置,所述装置包括:
缓存模块,用于缓存当前接收到的第一文件的数据流;或,用于缓存所述第一文件的数据流为完整第一文件;
获取模块,用于获取所述第一文件中预定位置的第一文件片段,所述第一文件片段可在缓存完所述第一文件前全部获取;
确定模块,用于判断所述第一文件片段与文件信誉库中的第二文件片段匹配一致,所述第二文件片段属于与所述第一文件对应的第二文件,则确定所述第一文件与所述第二文件相同;或,用于判断所述第一文件片段与所述第二文件片段中至少一个文件片段匹配不一致,所述第二文件片段包括一个以上文件片段,则确定所述第一文件与所述第二文件不同;
控制模块,用于根据所述第二文件对应的流控标签,对所述第一文件的数据流执行通行控制。
第三方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本说明书任一实施例所述的文件数据流控制方法。
第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本说明书任一实施例所述方法的步骤。
由以上技术方案可以看出,本说明书至少一个实施例中,防护设备在缓存完当前文件之前,根据当前文件的文件片段与文件信誉库中对应文件的文件片段的匹配,确定当前文件的匹配结果,从而根据当前文件在信誉库中的标签信息,对当前文件数据流执行放通或阻断等控制操作。这种方案中,防护设备不需要缓存完整的文件,就能完成当前文件的匹配并对当前文件数据流进行控制,从而降低了设备性能消耗,提高了网络恶意文件的识别效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
图1是根据一示例性实施例示出的一种文件数据流控制方法流程图;
图2是根据一示例性实施例示出的另一种文件数据流控制方法流程图;
图3是根据一示例性实施例示出的又一种文件数据流控制方法流程图;
图4是根据一示例性实施例示出的一种文件数据流控制装置示意图;
图5是根据一示例性实施例示出的另一种文件数据流控制装置示意图;
图6是根据一示例性实施例示出的又一种文件数据流控制装置示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了使本说明书提供的文件数据流控制方案更加清楚,下面结合附图和具体实施例对本说明书提供的方案执行过程进行详细描述。
参见图1,图1是本说明书提供的实施例示出的一种文件数据流控制方法流程图。该方法可以但不局限于应用于网络防护设备。本实施例以网络防护设备为例进行说明。
如图1所示,该流程包括:
步骤101,缓存当前接收到的第一文件的数据流。
网络防护设备接收到当前的第一文件的数据流,并开始缓存数据流。
步骤102,获取所述第一文件中预定位置的第一文件片段,所述第一文件片段可在缓存完所述第一文件前全部获取。
第一文件预先在预定位置划分出第一文件片段,所划分出的文件片段均在第一文件的末端之前,保证划分出的最后一个文件片段后仍然有数据存在。这样,防护设备不需要缓存完整的第一文件,就可以获得所有预定位置的第一文件片段。举例说明:假设第一文件由首部5k数据、中部5k数据和尾部5k数据,共15k数据组成。预先将第一文件首部的前2k数据划分为第一文件片段1,并记录预定位置为0k;将第一文件中部的前2k数据划分为第一文件片段2,并记录预定位置为5k;将第一文件尾部的前2k数据划分为第一文件片段3,并记录预定位置为10k。防护设备在接收到第一文件的数据流时,在第一文件的0k位置处,获取2k的数据作为第一文件片段1’;在第一文件的5k位置处,获取2k的数据作为第一文件片段2’;在第一文件的10k位置处,获取2k的数据作为第一文件片段3’。防护设备缓存完第一文件片段3’后,则已经获取了所有的第一文件的文件片段,不需要缓存剩下的3k数据。也就是,防护设备在缓存完第一文件前获取全部的第一文件片段。
在一个例子中,所述获取所述第一文件中预定位置的第一文件片段,包括:
(a)获取所述第一文件的第一头部片段,所述第一头部片段是开始缓存所述第一文件的数据流时开始获取的预设大小的文件片段;
防护设备在收到第一文件的数据流时,同时开始获取第一文件的数据流缓存的文件数据,当获取的文件数据达到预设大小时,将这个预定大小的文件数据作为第一文件的第一头部片段。例如,防护设备在t1时刻开始接收第一文件的数据流,在t1时刻同时开始获取缓存的文件数据;在t2时刻缓存数据达到预设大小2k,则停止获取并将这2k文件数据作为第一文件的第一头部片段。
(b)将所述第一头部片段与所述文件信誉库中各个文件的第二头部片段进行匹配,并将与所述第一头部片段匹配一致的第二头部片段对应的文件,确定为所述第二文件;
防护设备将第一头部片段与文件信誉库中存储的各个文件的第二头部片段进行匹配,将文件信誉库中匹配一致的第二头部片段所属的文件确定为第二文件。举例说明:假设文件信誉库中存在文件A和文件B,防护设备将第一头部片段分别与文件A的头部片段和文件B的头部片段进行匹配,如果文件B的头部片段与第一头部片段匹配一致,则确定文件B为第二文件。
上述防护设备将缓存中获取的文件片段与文件信誉库中的文件片段进行匹配时,可以是文件片段与文件片段的直接匹配;可以是文件片段特征与文件片段特征的匹配;可以是文件片段散列值与文件片段散列值的匹配(文件片段散列值能够唯一表示一个文件片段),本说明书不作限制。
在一个例子中,当第一头部片段与多个第二头部片段均匹配一致,则将多个第二头部进行排序。依次将每一个第二头部所属的文件确定为第二文件。
(c)根据所述第二文件中包括的第二文件片段的片段位置,获取所述第一文件中对应所述片段位置的所述第一文件片段。
防护设备确定文件信誉库中的第二文件后,根据读取第二文件对应的第二文件片段的片段位置,根据第二文件片段位置在缓存中,获取对应位置的第一文件片段。例如,文件信誉库中,第二文件大小为15k,其中划分出三个2k的文件片段:第二文件片段1,位置为0k;第二文件片段2,位置为5k;第二文件片段3,位置为10k。防护设备获取第二文件中三个第二文件片段的位置,在缓存到0k位置时,获取2k文件数据,作为第一文件片段1;在缓存到5k位置时,获取2k文件数据,作为第一文件片段2;在缓存到10k位置时,获取2k文件数据,作为第一文件片段3。
步骤103,若所述第一文件片段与文件信誉库中的第二文件片段匹配一致,所述第二文件片段属于与所述第一文件对应的第二文件,则确定所述第一文件与所述第二文件相同。
如果文件信誉库中的第二文件片段仅包含一个文件片段,且该一个文件片段与第一文件片段匹配一致,则确定第一文件与第二文件相同;如果文件信誉库中的第二文件片段包含多个文件片段,且该多个文件均与第一文件的多个第一文件片段匹配一致,则确定第一文件与第二文件相同。例如,第一文件包括第一文件片段1、第一文件片段2和第一文件片段3;第二文件包括第二文件片段1、第二文件片段2和第二文件片段3;如果第一文件片段1与第二文件片段1配一致,且第一文件片段2与第二文件片段2匹配一致,且第一文件片段3与第二文件片段3匹配一致,则确定第一文件与第二文件相同。
在一个例子中,所述第一文件片段与文件信誉库中的第二文件片段匹配一致,包括:将所述第一文件片段进行散列运算,得到第一文件片段散列值;若所述第一文件片段散列值与所述文件信誉库中的第二文件片段散列值匹配一致,则确定所述第一文件片段与所述第二文件片段匹配一致;所述第二文件片段散列值是所述第二文件片段进行散列运算得到的散列值。其中散列运算可以采用国产哈希算法SM3算法实现。SM3算法是一种散列计算函数标准,能够通过输入的数据计算一个一一对应的摘要,且具有单向不可逆性。
步骤104,根据所述第二文件对应的流控标签,对所述第一文件的数据流执行通行控制。
文件信誉库中的第二文件对应一个流控标签,该流控标签用于作为是否放行文件数据流的依据信息,例如,该流控标签可以是表示文件是否是恶意文件的标识,或者还可以是表示文件破坏性大小的标识。在步骤103中已经确定第一文件与第二文件相同,所以利用第二文件对应的流控标签对第一文件的数据流执行通行控制。例如,第二文件流控标签表示该文件为恶意文件,则对第一文件进行阻断。
在一个例子中,所述根据所述第二文件对应的流控标签,对所述第一文件的数据流执行通行控制,包括:若所述第二文件对应的流控标签是第一标签,对所述第一文件的数据流进行放行;所述第一标签用于表示所述第二文件是非恶意文件;若所述第二文件对应的流控标签是第二标签,对所述第一文件的数据流进行阻断;所述第二标签用于表示所述第二文件是恶意文件。
本实施例的文件数据流控制方法,在缓存完第一文件的数据流得到完整的第一文件之前,获取第一文件中预定位置的文件片段与文件信誉库中对应第二文件的第二文件片段匹配,根据匹配结果判断第一文件与第二文件相同,利用文件信誉库中第二文件的标签,对第一文件的数据流执行阻断或放行控制。该方法不需要缓存完整的第一文件,就可以判断第一文件是否与文件信誉库中的第二文件相同。在判断第一文件与第二文件相同后,防护设备可以根据第二文件的标签执行控制操作,同时释放缓存,从而降低了对设备性能的消耗,提高对网络恶意文件的识别效率,实现对文件数据流的高效控制。
参见图2,图2是本说明书实施例示出的另一种文件数据流的控制方法流程图。
如图2所示,本实施例流程包括以下步骤:
步骤201,缓存当前接收到的第一文件的数据流。
步骤202,获取所述第一文件中预定位置的第一文件片段,所述第一文件片段可在缓存完所述第一文件前全部获取。
步骤201和步骤202的相关描述,参见图1对应的步骤101和步骤102的描述,在此不再赘述。
步骤203,若所述第一文件片段与所述第二文件片段中至少一个文件片段匹配不一致,则确定所述第一文件与所述第二文件不同;所述第二文件片段包括一个以上文件片段。
将第一文件的多个第一文件片段与对应的第二文件的多个第二文件进行匹配,如果存在至少一个文件片段匹配不一致,则确定第一文件与第二文件不同。举例说明:A文件中包括三个文件片段:A1、A2和A3;B文件中包括三个对应文件片段:B1、B2和B3。只有满足三个条件(a)A1与B1匹配一致;(b)A2与B2匹配一致;(c)A3与B3匹配一致时,确定第一文件与第二文件相同;不满足三个条件中任一个及一个以上的条件,均可以确定第一文件与第二文件不同。
在一个例子中,所述第一文件片段与所述第二文件片段中至少一个文件片段匹配不一致,则确定所述第一文件与所述第二文件不同,包括:若所述第一头部片段与所述文件信誉库中各个文件的第二头部片段均匹配不一致。
如果第一头部片段与文件信誉库中各个文件的头部片段均匹配不一致,则可以直接确定第一文件与第二文件不同,即确定文件信誉库中没有与第一文件相同的第二文件。
步骤204,缓存所述第一文件的数据流为完整第一文件。
确定第一文件与第二文件不同,则继续缓存第一文件的数据流,直到将第一文件缓存完整。
步骤205,根据对所述完整第一文件的检测结果,标记所述完整第一文件的流控标签。
将缓存完整的第一文件加密发送至沙箱,利用沙箱对第一文件进行检测,根据沙箱的检测结果标记第一文件的流控标签。沙箱是一种恶意文件检测技术,在沙箱内部可以通过文件数据特征、行为特征等对文件进行检测。恶意文件是指在计算机系统上能够执行恶意任务的文件,包括但不限于各种病毒和垃圾软件等。文件行为特征,是指打开或执行文件时,文件的执行情况,包括但不限于创建进程、修改注册列表等。
步骤206,从所述完整第一文件中划分出多个文件片段并记录片段位置。
从完整的第一文件中划分出多个文件片段并记录位置。举例说明:假设完整的第一文件为15k的文件,一共包括三个部分,首部5k、中部5k和尾部5k,将首部的前2k数据划分为文件片段1,记录位置为0k;将中部的前2k数据划分为文件片段2,记录位置为5k;将尾部的前2k数据划分为文件片段3,记录位置为10k。
在一个例子中,将完整文件的前预定大小的文件数据划分为头部片段,根据剩余文件大小,获取多个随机数作为剩余文件片段的位置;根据文件片段的位置划分出预定大小的文件片段。例如,假设完整第一文件为15k大小的文件,包括首部5k、中部5k和尾部5k,预先规定文件大小为2k;首先将完整文件15k的前2k文件数据划分为头部片段并记录位置为0k,根据剩余文件大小13k,随机获取两个随机数,例如随机数5和10,作为其余文件片段的位置;将完整第一文件的中部的前2k文件数据,划分为文件片段2并记录位置5k;将完整第一文件的尾部前2k文件数据,划分为文件片段3并记录位置10k。
在一个例子中,所述从所述完整第一文件中划分出多个文件片段并记录片段位置,包括:从所述完整第一文件中划分出头部片段,所述头部片段是开始缓存所述第一文件的数据流时开始截取的预设大小的文件片段;记录所述头部片段的位置。例如,假设完整第一文件是大小为5k的文件,划分前2k数据为头部片段。如果完整第一文件大小不足预定大小时,直接获取完整第一文件为头部片段。例如,假设完整第一文件是大小为1k的文件,直接将这1k数据作为头部片段。
步骤207,对于其中每一个文件片段,将所述文件片段、所述文件片段的片段位置和所述完整第一文件的流控标签三者对应存储在所述文件信誉库中。
在一个例子中,所述对于其中每一个文件片段,将所述文件片段、所述文件片段的片段位置和所述完整第一文件的流控标签三者对应存储在所述文件信誉库中,包括:对于其中每一文件片段,将所述文件片段进行散列运算,得到所述文件片段的散列值;记录所述文件片段的偏移量,所述偏移量是所述文件片段相对于所诉完整第一文件的位置;将所述文件片段的散列值、所述文件片段的偏移量和所述完整第一文件的流控标签三者对应存储在所述文件信誉库中。可以理解的是,凡是能够标识文件片段在所属完整第一文件中位置的信息,均可以作为文件片段的偏移量。例如,假设完整第一文件是大小为5k的文件,将完整第一文件后2k数据划分为第一文件片段,则第一文件片段的偏移量可以表示为3k,即第一文件初始位置向后3k的数据是第一文件片段的开始位置,从第一文件片段开始位置获取2k数据得到第一文件片段。
在另一个例子中,完整第一文件的整体散列值与文件信誉库中第二文件的整体散列值匹配一致,且,完整第一文件的大小与第二文件的大小相同,则用完整第一文件的信息替换第二文件在文件信誉库中的信息;所述完整文件的信息包括:完整第一文件片段、完整第一文件片段的片段位置和完整第一文件的流控标签。
本实施例的文件数据流控制方法,在判断第一文件与文件信誉库中第二文件均不同时,缓存完整的第一文件,并根据对完整第一文件的检测标记第一文件的流控标签;从完整第一文件中划分出不同的文件片段存储在文件信誉库中,从而使得文件信誉库中“第二文件”不断得到更新。这种方法使得文件信誉库拥有自我学习更新的能力,以在第二次接收到“第一文件”的数据流后,能够在当前的文件信誉库中匹配到相同的“第二文件”,从而无须缓存完整“第一文件”就完整对数据流的安全控制,提高对网络恶意文件的识别效率。
参见图3,图3是本说明书实施例示出的另一种文件数据流的控制方法流程图。
如图3所示,本实施例流程包括以下步骤:
步骤301,缓存当前接收到的第一文件的数据流。
步骤302,获取所述第一文件中预定位置的第一文件片段,所述第一文件片段可在缓存完所述第一文件前全部获取。
步骤303,若所述第一文件片段与所述第二文件片段中至少一个文件片段匹配不一致,则确定所述第一文件与所述第二文件不同;所述第二文件片段包括一个以上文件片段。
步骤304,缓存所述第一文件的数据流为完整第一文件。
步骤305,根据对所述完整第一文件的检测结果,标记所述完整第一文件的流控标签。
步骤306,从所述完整第一文件中划分出多个文件片段并记录片段位置。
步骤307,对于其中每一个文件片段,将所述文件片段、所述文件片段的片段位置和所述完整第一文件的流控标签三者对应存储在所述文件信誉库中。
上述步骤301至步骤307对应图2所示步骤201至步骤207的相关描述,在此不再赘述。
步骤308,确定所述文件信誉库中信息量大于限定值。
文件信誉库存储信息的能力是有限的,如果信息量大于某一个值或满足某一个条件后,则需要将文件信誉库中的一些内容进行删除,以避免文件信誉库数据量过多,影响文件信誉库的正常使用。例如,预设信息量的限定值为1G数据,或者预设信息量的限定值为1万条信息,或者预设信息量达到整个文件信誉库的80%。可以理解的是,能够表示相对整个文件信誉库存储能力的值均可以作为预设的限定值,本说明书不作限制。
步骤309,根据预定规则删除所述文件信誉库中部分文件的文件信息,所述文件信息包括如下至少之一:所述部分文件中文件片段的散列值、所述部分文件中文件片段的偏移量、所述部分文件的文件流控标签和所述部分文件的文件大小。
在一个例子中,所述根据预定规则删除所述文件信誉库中部分文件的文件信息,包括如下至少任一项:若所述部分文件的文件流控标签取值符合预设取值范围,所述取值范围表示文件恶意程度,则删除所述部分文件的文件信息;或者,若所述部分文件的命中次数达到预设次数阈值,所述命中次数为文件被匹配一致的次数,则删除所述部分文件的文件信息;或者,若所述部分文件的文件信息创建时间满足预设时间条件,则删除所述部分文件的文件信息。
文件信誉库中信息量大于限定值时,可以按照一定规则删除部分文件信息,例如按照文件恶意程度,优先删除恶意程度较低的文件信息;例如,按照文件命中次数,优先删除命中次数低的文件信息;例如,按照文件信息创建时间,优先删除创建时间早的文件信息;也可以是以上任意方法的组合。
本实施例的文件数据流控制方法,在更新文件信誉库中信息并确定文件信息库中信息量大于预定限制时,根据预定规则删除部分文件信息。这种方法,通过将相对不重要的文件信息删除,保证文件信誉库的存储能力,保证文件信誉库的正常使用,从而提高对网络恶意文件的识别效率。
图4所示,本说明书提供了一种文件数据流控制装置,该装置可以执行本说明书任一实施例的文件数据流控制方法。该装置可以包括缓存模块401、获取模块402、确定模块403和控制模块404。其中:
缓存模块401,用于缓存当前接收到的第一文件的数据流;或,用于缓存所述第一文件的数据流为完整第一文件;
获取模块402,用于获取所述第一文件中预定位置的第一文件片段,所述第一文件片段可在缓存完所述第一文件前全部获取;
确定模块403,用于判断所述第一文件片段与文件信誉库中的第二文件片段匹配一致,所述第二文件片段属于与所述第一文件对应的第二文件,则确定所述第一文件与所述第二文件相同;或,用于判断所述第一文件片段与所述第二文件片段中至少一个文件片段匹配不一致,所述第二文件片段包括一个以上文件片段,则确定所述第一文件与所述第二文件不同;
控制模块404,用于根据所述第二文件对应的流控标签,对所述第一文件的数据流执行通行控制。
可选的,所述获取模块402,用于获取所述第一文件中预定位置的第一文件片段时,包括:获取所述第一文件的第一头部片段,所述第一头部片段是开始缓存所述第一文件的数据流时开始截取的预设大小的文件片段;
将所述第一头部片段与所述文件信誉库中各个文件的第二头部片段进行匹配,并将与所述第一头部片段匹配一致的第二头部片段对应的文件,确定为所述第二文件;
根据所述第二文件中包括的第二文件片段的片段位置,获取所述第一文件中对应所述片段位置的所述第一文件片段。
可选的,所述确定模块403,用于判断所述第一文件片段与文件信誉库中的第二文件片段匹配一致时,包括:
将所述第一文件片段进行散列运算,得到第一文件片段散列值;
判断所述第一文件片段散列值与所述文件信誉库中的第二文件片段散列值匹配一致,则确定所述第一文件片段与所述第二文件片段匹配一致;所述第二文件片段散列值是所述第二文件片段进行散列运算得到的散列值。
可选的,所述确定模块403,用于判断所述第一文件片段与所述第二文件片段中至少一个文件片段匹配不一致,所述第二文件片段包括一个以上文件片段,则确定所述第一文件与所述第二文件不同时,包括:
当所述第一头部片段与所述文件信誉库中各个文件的第二头部片段均匹配不一致,则确定所述第一文件与所述第二文件不同。
可选的,所述控制模块404,用于根据所述第二文件对应的流控标签,对所述第一文件的数据流执行通行控制时,包括:
当所述第二文件对应的流控标签是第一标签,对所述第一文件的数据流进行放行;所述第一标签用于表示所述第二文件是非恶意文件;
当所述第二文件对应的流控标签是第二标签,对所述第一文件的数据流进行阻断;所述第二标签用于表示所述第二文件是恶意文件。
可选的,如图5所示,所述装置还包括标记模块501、划分模块502和存储模块503。
标记模块501,用于根据对所述完整第一文件的检测结果,标记所述完整第一文件的流控标签;
划分模块502,用于从所述完整第一文件中划分出多个文件片段并记录片段位置;
存储模块503,用于对于其中每一个文件片段,将所述文件片段、所述文件片段的片段位置和所述完整第一文件的流控标签三者对应存储在所述文件信誉库中。
可选的,所述划分模块502,用于从所述完整第一文件中划分出多个文件片段并记录片段位置时,包括:从所述完整第一文件中划分出头部片段,所述头部片段是开始缓存所述第一文件的数据流时开始截取的预设大小的文件片段;记录所述头部片段的位置。
可选的,所述存储模块503,用于对于其中每一个文件片段,将所述文件片段、所述文件片段的片段位置和所述完整第一文件的流控标签三者对应存储在所述文件信誉库中时,包括:对于其中每一文件片段,将所述文件片段进行散列运算,得到所述文件片段的散列值;记录所述文件片段的偏移量,所述偏移量是所述文件片段相对于所诉完整第一文件的位置;将所述文件片段的散列值、所述文件片段的偏移量和所述完整第一文件的流控标签三者对应存储在所述文件信誉库中。
可选的,如图6所示,所述装置还包括:信息量确定模块601和删除模块602。
信息量确定模块601,用于确定所述文件信誉库中信息量大于限定值;
删除模块602,用于根据预定规则删除所述文件信誉库中部分文件的文件信息,所述文件信息包括如下至少之一:所述部分文件中文件片段的散列值、所述部分文件中文件片段的偏移量、所述部分文件的文件流控标签和所述部分文件的文件大小。
可选的,所述删除模块602,用于根据预定规则删除所述文件信誉库中部分文件的文件信息时,包括如下至少任一项:当所述部分文件的文件流控标签取值符合预设取值范围,所述取值范围表示文件恶意程度,则删除所述部分文件的文件信息;或者,当所述部分文件的命中次数达到预设次数阈值,所述命中次数为文件被匹配一致的次数,则删除所述部分文件的文件信息;或者,当所述部分文件的文件信息创建时间满足预设时间条件,则删除所述部分文件的文件信息。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书至少一个实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本说明书还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时能够实现本说明书任一实施例的文件数据流控制方法。
本说明书还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时能够实现本说明书任一实施例的文件数据流控制方法。
其中,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等,本申请并不对此进行限制。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用于限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

Claims (20)

1.一种文件数据流控制方法,其特征在于,所述方法包括:
缓存当前接收到的第一文件的数据流;
获取所述第一文件中预定位置的第一文件片段,所述第一文件片段可在缓存完所述第一文件前全部获取;
若所述第一文件片段与文件信誉库中的第二文件片段匹配一致,所述第二文件片段属于与所述第一文件对应的第二文件,且所述第二文件片段包括一个以上文件片段,则确定所述第一文件与所述第二文件相同;
若所述第一文件片段与所述第二文件片段中至少一个文件片段匹配不一致,则确定所述第一文件与所述第二文件不同,缓存所述第一文件的数据流为完整第一文件;
根据对所述完整第一文件的检测结果,标记所述完整第一文件的流控标签;
从所述完整第一文件中划分出多个文件片段并记录片段位置,对于其中每一个文件片段,将所述文件片段、所述文件片段的片段位置和所述完整第一文件的流控标签三者对应存储在所述文件信誉库中;
根据所述第二文件对应的流控标签,对所述第一文件的数据流执行通行控制。
2.根据权利要求1所述的方法,其特征在于,所述获取所述第一文件中预定位置的第一文件片段,包括:
获取所述第一文件的第一头部片段,所述第一头部片段是开始缓存所述第一文件的数据流时开始截取的预设大小的文件片段;
将所述第一头部片段与所述文件信誉库中各个文件的第二头部片段进行匹配,并将与所述第一头部片段匹配一致的第二头部片段对应的文件,确定为所述第二文件;
根据所述第二文件中包括的第二文件片段的片段位置,获取所述第一文件中对应所述片段位置的所述第一文件片段。
3.根据权利要求1所述的方法,其特征在于,所述第一文件片段与文件信誉库中的第二文件片段匹配一致,包括:
将所述第一文件片段进行散列运算,得到第一文件片段散列值;
若所述第一文件片段散列值与所述文件信誉库中的第二文件片段散列值匹配一致,则确定所述第一文件片段与所述第二文件片段匹配一致;所述第二文件片段散列值是所述第二文件片段进行散列运算得到的散列值。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第二文件对应的流控标签,对所述第一文件的数据流执行通行控制,包括:
若所述第二文件对应的流控标签是第一标签,对所述第一文件的数据流进行放行;所述第一标签用于表示所述第二文件是非恶意文件;
若所述第二文件对应的流控标签是第二标签,对所述第一文件的数据流进行阻断;所述第二标签用于表示所述第二文件是恶意文件。
5.根据权利要求1所述的方法,其特征在于,所述第一文件片段与所述第二文件片段中至少一个文件片段匹配不一致,则确定所述第一文件与所述第二文件不同,包括:
若所述第一头部片段与所述文件信誉库中各个文件的第二头部片段均匹配不一致,则确定所述第一文件与所述第二文件不同。
6.根据权利要求1所述的方法,其特征在于,所述从所述完整第一文件中划分出多个文件片段并记录片段位置,包括:
从所述完整第一文件中划分出头部片段,所述头部片段是开始缓存所述第一文件的数据流时开始截取的预设大小的文件片段;
记录所述头部片段的位置。
7.根据权利要求1所述的方法,其特征在于,所述对于其中每一个文件片段,将所述文件片段、所述文件片段的片段位置和所述完整第一文件的流控标签三者对应存储在所述文件信誉库中,包括:
对于其中每一文件片段,将所述文件片段进行散列运算,得到所述文件片段的散列值;
记录所述文件片段的偏移量,所述偏移量是所述文件片段相对于所述完整第一文件的位置;
将所述文件片段的散列值、所述文件片段的偏移量和所述完整第一文件的流控标签三者对应存储在所述文件信誉库中。
8.根据权利要求1所述的方法,其特征在于,所述对于其中每一个文件片段,将所述文件片段、所述文件片段的片段位置和所述完整第一文件的流控标签三者对应存储在所述文件信誉库中之后,包括:
确定所述文件信誉库中信息量大于限定值;
根据预定规则删除所述文件信誉库中部分文件的文件信息,所述文件信息包括如下至少之一:
所述部分文件中文件片段的散列值、所述部分文件中文件片段的偏移量、所述部分文件的文件流控标签和所述部分文件的文件大小。
9.根据权利要求8所述的方法,其特征在于,所述根据预定规则删除所述文件信誉库中部分文件的文件信息,包括如下至少任一项:
若所述部分文件的文件流控标签取值符合预设取值范围,所述取值范围表示文件恶意程度,则删除所述部分文件的文件信息;
或者,若所述部分文件的命中次数达到预设次数阈值,所述命中次数为文件被匹配一致的次数,则删除所述部分文件的文件信息;
或者,若所述部分文件的文件信息创建时间满足预设时间条件,则删除所述部分文件的文件信息。
10.一种文件数据流控制装置,其特征在于,所述装置包括:
缓存模块,用于缓存当前接收到的第一文件的数据流;或,用于缓存所述第一文件的数据流为完整第一文件;
获取模块,用于获取所述第一文件中预定位置的第一文件片段,所述第一文件片段可在缓存完所述第一文件前全部获取;
确定模块,用于判断所述第一文件片段与文件信誉库中的第二文件片段匹配一致,所述第二文件片段属于与所述第一文件对应的第二文件,且所述第二文件片段包括一个以上文件片段,则确定所述第一文件与所述第二文件相同;或,用于判断所述第一文件片段与所述第二文件片段中至少一个文件片段匹配不一致,所述第二文件片段包括一个以上文件片段,则确定所述第一文件与所述第二文件不同;
标记模块,用于根据对所述完整第一文件的检测结果,标记所述完整第一文件的流控标签;
划分模块,用于从所述完整第一文件中划分出多个文件片段并记录片段位置;
存储模块,用于对于其中每一个文件片段,将所述文件片段、所述文件片段的片段位置和所述完整第一文件的流控标签三者对应存储在所述文件信誉库中;
控制模块,用于根据所述第二文件对应的流控标签,对所述第一文件的数据流执行通行控制。
11.根据权利要求10所述的装置,其特征在于,所述获取模块,用于获取所述第一文件中预定位置的第一文件片段时,包括:
获取所述第一文件的第一头部片段,所述第一头部片段是开始缓存所述第一文件的数据流时开始截取的预设大小的文件片段;
将所述第一头部片段与所述文件信誉库中各个文件的第二头部片段进行匹配,并将与所述第一头部片段匹配一致的第二头部片段对应的文件,确定为所述第二文件;
根据所述第二文件中包括的第二文件片段的片段位置,获取所述第一文件中对应所述片段位置的所述第一文件片段。
12.根据权利要求10所述的装置,其特征在于,所述确定模块,用于判断所述第一文件片段与文件信誉库中的第二文件片段匹配一致时,包括:
将所述第一文件片段进行散列运算,得到第一文件片段散列值;
判断所述第一文件片段散列值与所述文件信誉库中的第二文件片段散列值匹配一致,则确定所述第一文件片段与所述第二文件片段匹配一致;所述第二文件片段散列值是所述第二文件片段进行散列运算得到的散列值。
13.根据权利要求10所述的装置,其特征在于,所述控制模块,用于根据所述第二文件对应的流控标签,对所述第一文件的数据流执行通行控制时,包括:
当所述第二文件对应的流控标签是第一标签,对所述第一文件的数据流进行放行;所述第一标签用于表示所述第二文件是非恶意文件;
当所述第二文件对应的流控标签是第二标签,对所述第一文件的数据流进行阻断;所述第二标签用于表示所述第二文件是恶意文件。
14.根据权利要求10所述的装置,其特征在于,所述确定模块,用于判断所述第一文件片段与所述第二文件片段中至少一个文件片段匹配不一致,所述第二文件片段包括一个以上文件片段,则确定所述第一文件与所述第二文件不同时,包括:
当所述第一头部片段与所述文件信誉库中各个文件的第二头部片段均匹配不一致,则确定所述第一文件与所述第二文件不同。
15.根据权利要求10所述的装置,其特征在于,所述划分模块,用于从所述完整第一文件中划分出多个文件片段并记录片段位置时,包括:
从所述完整第一文件中划分出头部片段,所述头部片段是开始缓存所述第一文件的数据流时开始截取的预设大小的文件片段;
记录所述头部片段的位置。
16.根据权利要求10所述的装置,其特征在于,所述存储模块,用于对于其中每一个文件片段,将所述文件片段、所述文件片段的片段位置和所述完整第一文件的流控标签三者对应存储在所述文件信誉库中时,包括:
对于其中每一文件片段,将所述文件片段进行散列运算,得到所述文件片段的散列值;
记录所述文件片段的偏移量,所述偏移量是所述文件片段相对于所诉完整第一文件的位置;
将所述文件片段的散列值、所述文件片段的偏移量和所述完整第一文件的流控标签三者对应存储在所述文件信誉库中。
17.根据权利要求10所述的装置,其特征在于,所述装置还包括:
信息量确定模块,用于确定所述文件信誉库中信息量大于限定值;
删除模块,用于根据预定规则删除所述文件信誉库中部分文件的文件信息,所述文件信息包括如下至少之一:
所述部分文件中文件片段的散列值、所述部分文件中文件片段的偏移量、所述部分文件的文件流控标签和所述部分文件的文件大小。
18.根据权利要求17所述的装置,其特征在于,所述删除模块,用于根据预定规则删除所述文件信誉库中部分文件的文件信息时,包括如下至少任一项:
当所述部分文件的文件流控标签取值符合预设取值范围,所述取值范围表示文件恶意程度,则删除所述部分文件的文件信息;
或者,当所述部分文件的命中次数达到预设次数阈值,所述命中次数为文件被匹配一致的次数,则删除所述部分文件的文件信息;
或者,当所述部分文件的文件信息创建时间满足预设时间条件,则删除所述部分文件的文件信息。
19.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-9中任一所述的方法。
20.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1-9中任一项所述方法的步骤。
CN201911154063.1A 2019-11-22 2019-11-22 一种文件数据流控制方法、装置、设备及存储介质 Active CN110995679B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911154063.1A CN110995679B (zh) 2019-11-22 2019-11-22 一种文件数据流控制方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911154063.1A CN110995679B (zh) 2019-11-22 2019-11-22 一种文件数据流控制方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN110995679A CN110995679A (zh) 2020-04-10
CN110995679B true CN110995679B (zh) 2022-03-01

Family

ID=70085731

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911154063.1A Active CN110995679B (zh) 2019-11-22 2019-11-22 一种文件数据流控制方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN110995679B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111881448B (zh) * 2020-07-30 2022-10-14 山石网科通信技术股份有限公司 恶意文件的确定方法及装置
CN113468567B (zh) * 2021-07-02 2023-04-07 罗克佳华(重庆)科技有限公司 数据处理方法及数据处理设备
CN118827151A (zh) * 2024-06-17 2024-10-22 中信国际电讯(信息技术)有限公司 一种威胁流量数据的识别方法、装置、设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8683585B1 (en) * 2011-02-10 2014-03-25 Symantec Corporation Using file reputations to identify malicious file sources in real time
CN104410692A (zh) * 2014-11-28 2015-03-11 上海爱数软件有限公司 一种用于重复文件上传的方法和系统
CN105915516A (zh) * 2016-04-15 2016-08-31 杭州华三通信技术有限公司 基于安全检测的数据流获取方法及装置
US10255435B1 (en) * 2016-02-18 2019-04-09 Symantec Corporation Systems and methods for establishing a reputation for related program files
CN109960932A (zh) * 2017-12-22 2019-07-02 北京安天网络安全技术有限公司 文件检测方法、装置和终端设备
CN109981629A (zh) * 2019-03-19 2019-07-05 杭州迪普科技股份有限公司 病毒防护方法、装置、设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8732473B2 (en) * 2010-06-01 2014-05-20 Microsoft Corporation Claim based content reputation service
US10834099B2 (en) * 2017-05-23 2020-11-10 Juniper Networks, Inc. Identifying a file using metadata and determining a security classification of the file before completing receipt of the file

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8683585B1 (en) * 2011-02-10 2014-03-25 Symantec Corporation Using file reputations to identify malicious file sources in real time
CN104410692A (zh) * 2014-11-28 2015-03-11 上海爱数软件有限公司 一种用于重复文件上传的方法和系统
US10255435B1 (en) * 2016-02-18 2019-04-09 Symantec Corporation Systems and methods for establishing a reputation for related program files
CN105915516A (zh) * 2016-04-15 2016-08-31 杭州华三通信技术有限公司 基于安全检测的数据流获取方法及装置
CN109960932A (zh) * 2017-12-22 2019-07-02 北京安天网络安全技术有限公司 文件检测方法、装置和终端设备
CN109981629A (zh) * 2019-03-19 2019-07-05 杭州迪普科技股份有限公司 病毒防护方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN110995679A (zh) 2020-04-10

Similar Documents

Publication Publication Date Title
CN110995679B (zh) 一种文件数据流控制方法、装置、设备及存储介质
KR101303532B1 (ko) 암호 해싱을 이용한 바이러스 위치파악
EP2533495B1 (en) Apparatus and method preventing overflow of pending interest table in name based network system
CN107729752B (zh) 一种勒索软件防御方法及系统
JP5996145B1 (ja) プログラム、情報処理装置、及び情報処理方法
CN109981629A (zh) 病毒防护方法、装置、设备及存储介质
CN109600362B (zh) 基于识别模型的僵尸主机识别方法、识别设备及介质
US11201914B2 (en) Method for processing a super-hot file, load balancing device and download server
CN110868405B (zh) 恶意代码检测方法、装置、计算机设备及存储介质
CN113312615B (zh) 一种终端检测与响应系统
KR102105885B1 (ko) 랜섬웨어 탐지 방법 및 랜섬웨어 탐지 시스템
CN111090857A (zh) 防御恶意软件攻击文件的方法、计算机系统以及记录介质
CN105939328A (zh) 网络攻击特征库的更新方法及装置
CN111988322A (zh) 一种攻击事件展示系统
CN112351002B (zh) 一种报文检测方法、装置及设备
CN113596019B (zh) 高性能网络流量数据表示和提取方法和系统
CN108256327B (zh) 一种文件检测方法及装置
US11232202B2 (en) System and method for identifying activity in a computer system
CN110752996A (zh) 一种报文转发方法及装置
US11520884B2 (en) Dummy information insertion device, dummy information insertion method, and storage medium
Huayu et al. Research on fog computing based active anti-theft technology
KR101003502B1 (ko) 문자열의 유사성과 포함성을 바탕으로 하는 시그니처스트링 생성방법
CN106911678B (zh) 一种病毒检测方法及装置
KR20200065816A (ko) 매직넘버를 이용한 랜섬웨어 탐지 방법
JP3365372B2 (ja) イベントログ格納システム、イベントログ格納方法、および記録媒体

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