CN113287105A - 良性文件列表生成 - Google Patents

良性文件列表生成 Download PDF

Info

Publication number
CN113287105A
CN113287105A CN201880100241.XA CN201880100241A CN113287105A CN 113287105 A CN113287105 A CN 113287105A CN 201880100241 A CN201880100241 A CN 201880100241A CN 113287105 A CN113287105 A CN 113287105A
Authority
CN
China
Prior art keywords
client
benign
signatures
file
global
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.)
Withdrawn
Application number
CN201880100241.XA
Other languages
English (en)
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.)
Beijing Didi Infinity Technology and Development Co Ltd
Original Assignee
Beijing Didi Infinity Technology and Development 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 Beijing Didi Infinity Technology and Development Co Ltd filed Critical Beijing Didi Infinity Technology and Development Co Ltd
Publication of CN113287105A publication Critical patent/CN113287105A/zh
Withdrawn legal-status Critical Current

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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/565Static detection by checking file integrity
    • 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
    • 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
    • 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/55Detecting local intrusion or implementing counter-measures
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

可以通过组合标准列表和客户端列表来生成例外列表。可以获得标识一组标准良性文件的标准良性文件信息。可以获得用于所述一组标准良性文件的一组标准签名。可以获得标识用于客户端的一组客户端良性文件的客户端良性文件信息。可以获得用于所述客户端的所述一组客户端良性文件的一组客户端签名。可以基于所述一组标准签名和所述一组客户端签名,来生成用于所述客户端的客户端例外列表。

Description

良性文件列表生成
相关申请
本申请要求2018年12月17日提交的名称为“Benign File List Generation(良性文件列表生成)”的美国非临时申请No.16/221,799的优先权权益,所述美国非临时申请的内容通过引用以其全文并入本文。
技术领域
本公开总体上涉及生成良性文件列表。
背景技术
恶意软件检测软件的两个目标是对实际的恶意软件具有高检测率并且具有低误报率。当良性文件被视为恶意软件时,会出现误报。通常使用单级方法进行恶意软件检测。使用单级方法时,这两个目标彼此矛盾,因为调整检测以增大一个比率会导致另一个比率也增大。通过使用混合两级方法,可以在保持实际检测率的同时降低误报率。
发明内容
本公开的一个方面涉及一种用于生成良性文件列表的系统。所述系统可以包括一个或多个处理器以及一个或多个非暂态计算机可读存储器,所述一个或多个非暂态计算机可读存储器耦接到所述一个或多个处理器并且配置有能够由所述一个或多个处理器执行的指令。执行所述指令可以使所述系统执行包括以下各项的操作:获得标识一组标准良性文件的标准良性文件信息;获得用于所述一组标准良性文件的一组标准签名;将所述标准良性文件信息添加到标识一组全局良性文件的全局良性文件信息中,其中,所述全局良性文件信息与一组全局签名相关联;获得标识用于第一客户端的第一组客户端良性文件的第一客户端良性文件信息;针对用于所述第一客户端的客户端良性文件,确定所述全局良性文件信息是否标识所述客户端良性文件;响应于确定所述全局良性文件信息未标识所述客户端良性文件,将与所述客户端良性文件相对应的新签名添加到所述一组全局签名;修改所述全局良性文件信息以将所述客户端良性文件与第一客户端标识符相关联;获得用于所述第一客户端的所述第一组客户端良性文件的一组第一客户端签名;以及,基于所述一组标准签名和所述一组第一客户端签名,生成用于所述第一客户端的第一客户端例外列表。
在一些实施例中,所述一组第一客户端签名可以基于所述一组全局签名和所述第一客户端标识符而获得。
本公开的另一方面涉及一种用于生成良性文件列表的系统。所述系统可以包括一个或多个处理器以及一个或多个非暂态计算机可读存储器,所述一个或多个非暂态计算机可读存储器耦接到所述一个或多个处理器并且配置有能够由所述一个或多个处理器执行的指令。执行所述指令可以使所述系统执行包括以下各项的操作:获得用于一组标准良性文件的一组标准签名;获得标识用于第一客户端的第一组客户端良性文件的第一客户端良性文件信息;获得用于所述第一客户端的所述第一组客户端良性文件的一组第一客户端签名;以及,基于所述一组标准签名和所述一组第一客户端签名,生成用于所述第一客户端的第一客户端例外列表。
本公开的又一方面涉及一种用于生成良性文件列表的方法,所述方法包括:获得标识一组标准良性文件的标准良性文件信息;获得用于所述一组标准良性文件的一组标准签名;获得标识用于第一客户端的第一组客户端良性文件的第一客户端良性文件信息;获得用于所述第一客户端的所述第一组客户端良性文件的一组第一客户端签名;以及,基于所述一组标准签名和所述一组第一客户端签名,生成用于所述第一客户端的第一客户端例外列表。
在一些实施例中,获得所述标准良性文件信息可以包括从创建安全标准的组织获得所述标准良性文件信息。
在一些实施例中,可以基于从相应文件提取的核心信息来确定所述第一客户端例外列表中的至少一个签名,其中,从所述相应文件提取的所述核心信息与从类似文件提取的核心信息相匹配。
在一些实施例中,可以获得标识用于第二客户端的第二组客户端良性文件的第二客户端良性文件信息;可以获得用于所述第二客户端的所述第二组客户端良性文件的一组第二客户端签名;可以基于所述一组标准签名和所述一组第二客户端签名生成用于所述第二客户端的第二客户端例外列表。
在一些实施例中,可以将所述标准良性文件信息添加到标识一组全局良性文件的全局良性文件信息中,其中,所述全局良性文件信息与一组全局签名相关联。
在一些实施例中,可以确定所述全局良性文件信息是否标识用于所述第一客户端的客户端良性文件的客户端良性文件。响应于确定所述全局良性文件信息未标识所述客户端良性文件,可以将与所述客户端良性文件相对应的新签名添加到所述一组全局签名。无论所述确定结果如何,都可以修改所述全局良性文件信息以将所述客户端良性文件与第一客户端标识符相关联。
在一些实施例中,所述一组第一客户端签名是基于所述一组全局签名和所述第一客户端标识符获得的。
在一些实施例中,可以基于用于一组恶意软件文件的一组签名获得恶意软件列表。可以接收对于包含在所述恶意软件列表和所述第一客户端例外列表这两者中的签名的选择。所述选择可以用于从所述恶意软件列表或所述第一客户端例外列表中移除所述签名。可以基于所述选择来移除所述签名。
在一些实施例中,可以向所述第一客户端提供所述第一客户端例外列表。
在参考附图考虑以下描述和所附权利要求时,本文所公开的系统、方法和非暂态计算机可读介质的这些和其他特征、以及相关结构元件和部件组合的操作方法和功能以及制造的经济性,将变得更加显而易见,所有附图形成本说明书的一部分,在附图中,相似的附图标记指示各个附图中相应的部件。然而,要明确理解的是,附图仅出于说明和描述的目的,而不意在定义对本发明的限制。应当理解的是,前述概括性描述和以下详细描述仅仅是示例性和解释性的,并非限制所要求保护的发明。
附图说明
通过参考附图可以更容易地理解本发明的优选和非限制性实施例,在附图中:
图1示出了根据本公开的各实施例的用于生成良性文件列表的示例环境。
图2示出了根据本公开的各实施例的用于管理签名和例外列表的示例系统200。
图3示出了根据本公开的各实施例的用于管理全局良性文件数据库230的示例过程300。
图4示出了根据本公开的各实施例的示例方法400的流程图。
图5示出了可以在其上实施本文描述的实施例中的任何一个实施例的计算机系统500的框图。
具体实施方式
现在将参考附图对本发明的具体的非限制性实施例进行描述。应当理解的是,本文公开的任何实施例的特定特征和方面可以与本文公开的任何其他实施例的特定特征和方面一起使用和/或组合。还应当理解的是,这些实施例是示例性的,并且仅仅对本发明范围内的少量实施例进行了说明。本发明所涉及的、对本领域技术人员而言显而易见的各种改变和修改被视为是处于如所附权利要求中进一步限定的本发明的精神、范围和意图内。
本文公开的方法改进了生成或使用良性文件列表的计算系统的功能。恶意软件检测的三种常见方法是基于签名的方法、基于行为的方法和基于机器学习的方法。基于签名的方法具有较低的确定误报率,但是该方法可能难以检测零日漏洞。基于行为的方法和基于机器学习的方法更善于检测新威胁。然而,这些方法可能导致诸如清除良性文件等误报。可以通过使用混合两级方法来改进恶意软件检测。此方法的第二级使用良性文件的例外列表。然而,要求客户端自己创建例外列表可能对于客户端来说非常耗时且麻烦。使用通用型例外列表的替代方案的缺点是创建非常大的例外列表,其中许多文件不适用于特定客户端,难以通过该例外列表跟踪特定事件,并且该例外列表对文件版本的变化不具有耐受性。可以通过使用将标准列表和客户端列表进行组合而生成的例外列表来进一步改进恶意软件检测。
图1示出了根据各实施例的用于生成良性文件列表的示例环境100。示例环境100可以包括计算系统102。计算系统102可以包括一个或多个处理器以及存储器(例如,永久性存储器、暂时性存储器)。(多个)处理器可以被配置为通过解释存储在存储器中的机器可读指令来执行各种操作。计算系统102可以包括其他计算资源。计算系统102可以访问(例如,经由一个或多个连接、经由一个或多个网络)其他计算资源。
计算系统102可以包括良性文件组件112、签名组件114、全局信息组件116和例外列表组件118。在一些实施例中,计算系统102可以进一步包括恶意软件组件120。计算系统102可以包括其他组件。虽然图1中将计算系统102示出为单个实体,但是这仅仅是为了便于参考,并不意味着是限制性的。本文描述的计算系统102的一个或多个组件或者一个或多个功能可以在单个计算设备或多个计算设备中实施。在一些实施例中,本文描述的计算系统102的一个或多个组件或者一个或多个功能可以在一个或多个网络(例如,企业网络)、一个或多个端点、一个或多个服务器、或者一个或多个云中实施。服务器可以包括管理对于网络中的集中式资源或服务的访问的硬件或软件。云可以包括服务器集群以及跨网络分布的其他设备。
良性文件组件112可以被配置为获得标识一组良性文件的文件信息。文件信息可以包括标准良性文件信息和客户端良性文件信息。文件信息可以包括标识特定文件的文件标识符(文件ID)的列表。例如,文件ID可以包括文件名、整个文件和文件元数据。多组良性文件可以包括标准良性文件和客户端良性文件。一组良性文件中的良性文件可以指已经被标识为有益的、非恶意软件的、或者其他应当被允许执行的文件。文件可以指存储在一个单元中的数据或信息的集合。文件可以包括数据文件或程序文件。数据或信息可以在文件中存储为文本、代码或二进制。例如,文件可以包括文本文档、图像、pdf、可执行文件、bash文件或脚本。
获得文件信息可以包括以下操作中的一个或多个:访问、获取、分析、确定、检查、标识、加载、定位、打开、接收、取得、回顾、存储或以其他方式获得文件信息。良性文件组件112可以从一个或多个位置获得良性文件信息。例如,良性文件组件112可以从存储位置获得良性文件信息,诸如计算系统102的电子存储装置、可经由网络访问的设备(例如,服务器)的电子存储装置、一个或多个客户端设备(例如,台式机、膝上型计算机、智能电话、平板计算机、移动设备)或其他位置。
在一些实施例中,获得良性文件信息的位置可以与所获得的良性文件信息的类型相对应。例如,良性文件组件112可以从创建安全标准的组织获得标识多组标准良性文件的标准良性文件信息。例如,商业组织可以是商业非营利组织、专业协会、或政府机构,诸如国家标准与技术研究所(NIST)。在另一示例中,良性文件组件112可以获得标识用于特定客户端的多组客户端良性文件的客户端良性文件信息。这可以包括从两个或更多个不同的客户端获得各自的良性文件信息。例如,可以从第一客户端获得标识用于第一客户端的第一组客户端良性文件的第一客户端良性文件信息,并且可以从第二客户端获得标识用于第二客户端的第二组客户端良性文件的第二客户端良性文件信息。
签名组件114可以被配置为获得用于多组良性文件的多组签名。多组签名可以包括多组标准签名和多组客户端签名。签名组件114可以从一个或多个位置获得多组签名。例如,可以针对文件提取数据以在另一计算设备/系统(例如,台式机、膝上型计算机、智能电话、平板计算机、移动设备、服务器)上创建多组签名,并且签名组件114可以通过通信网络获得多组签名。在另一示例中,计算系统102的一个或多个处理器可以从文件中提取数据以创建多组签名。
在一些实施例中,计算系统102通过良性文件组件112获得整个文件。例如,客户端可以发送包含整个文件的文件信息列表。在该实施例中,签名组件114可以从所接收的文件中获得签名。例如,签名组件114可以通过分析所接收文件的内容来生成签名。在其他实施例中,良性文件组件112不获得整个文件。例如,组织最初可以将良性文件的名称列表发送到计算系统102。在该实施例中,计算系统102必须在签名组件114能够获得(例如,生成)用于文件的签名之前获得实际文件。在该实施例中,签名组件114可以取得实际文件。例如,签名组件114可以从文件信息的发送方请求实际文件。在另一示例中,签名组件114可以从诸如软件供应商等外部源请求实际文件。在其他实施例中,签名组件114可以从外部组件获得已经生成的签名。
在一些实施例中,可以基于从相应文件提取的核心信息来确定签名。核心信息可以包括字符串、元数据或哈希值(hash value)。例如,可以从文件中提取字符串或元数据以获得签名。在另一示例中,可以对诸如整个文件或文件的一部分的字符序列进行哈希处理以获得用于文件的签名。哈希函数可以包括MD5和SHA-1。在又一示例中,可以组合两个或更多个纯文本字符串、哈希值或其组合来形成签名。
在一些实施例中,从相应文件提取的核心信息可以与从类似文件提取的核心信息相匹配。核心信息可以指文件内的遍及文件的不同版本或在同一系列的文件内保持相同的信息。这可以使得签名能够耐受文件的变化。例如,可以从文件和文件的后续版本中提取出相同的核心信息。在另一示例中,可以从一系列软件产品中的所有文件中提取出相同的核心信息。在一些实施例中,可以根据2018年7月10日提交的名称为“Improved FileFingerprint Generation(改进的文件指纹生成)”的美国专利申请No.16/031,364中描述的方法从文件生成签名,所述美国专利申请通过引用以其全文并入本文。
全局信息组件116可以被配置为存储全局良性文件信息,该全局良性文件信息标识与一组全局签名相关联的一组全局良性文件。当获得标准良性文件信息时,全局信息组件116可以将部分或全部标准良性文件信息添加到全局良性文件信息。全局信息组件116可以存储用于每个文件的源信息。源信息可以包括发送标准良性文件信息的外部组织、以及已经标识出特定良性文件的客户端。例如,全局信息组件116可以存储用于已经被标识的每个文件的条目。每个条目可以存储文件ID、用于文件的签名、已经发送了将文件标识为标准良性文件的信息的所有组织的列表、以及已经将文件标识为良性文件的所有客户端的列表。
在一些实施例中,当针对客户端获得标识一组客户端良性文件的良性文件信息时,全局信息组件116可以确定全局良性文件信息是否标识出客户端良性文件。例如,全局信息组件116可以循环遍历一组客户端良性文件中的每个文件,并检查文件是否已经包括在全局良性文件信息中。如果全局良性文件信息未标识客户端良性文件,则可能意味着尚未生成用于该文件的签名。如果是这种情况,则可以将与客户端良性文件相对应的新签名添加到全局信息数据库(例如,下文关于图2描述的全局良性文件数据库230)中的一组全局签名。例如,可以在全局信息数据库中创建与文件ID相对应的新条目,可以将新签名添加到该条目,并且该条目可以与良性文件信息的源相关联。如果全局信息数据库已经包含了具有该文件ID的条目,则可能意味着已经存在用于该文件的签名。在这种情况下,良性文件信息的源可以与现有条目相关联。例如,如果良性文件信息的源是第一客户端,则第一客户端标识符可以与全局良性文件信息中的条目相关联。客户端可以在其注册时接收到客户端标识符。在另一示例中,如果良性文件信息的源是外部组织,则该组织可以与全局良性文件信息中的条目相关联。
在一些实施例中,可以基于一组全局签名和客户端标识符来获得多组客户端签名。例如,可以通过确定全局信息数据库中与作为文件信息的源的第一客户端相关联的所有签名来生成一组第一客户端签名。
例外列表组件118可以被配置为基于一组标准签名和一组客户端签名生成用于客户端的客户端例外列表。可以通过组合一组标准签名和一组客户端签名来创建客户端例外列表。例如,在签名存储在全局信息数据库中的实施例中,可以通过获得与第一客户端标识符相关联的所有签名以及与标准组织相关联的所有签名来生成第一客户端例外列表。
在一些实施例中,第一客户端例外列表可以被提供给第一客户端或被提供以相对于第一客户端来使用。例如,第一客户端例外列表可以通过通信网络发送到第一客户端的客户端设备。作为另一示例,第一客户端例外列表可以通过通信网络发送到为第一客户端执行恶意软件检测的设备或组件。
在一些实施例中,恶意软件组件120可以被配置为基于用于一组恶意软件文件的一组签名来获得恶意软件列表。恶意软件可以指执行用户不期望的操作的(多个)文件。恶意软件可以是能够恶意地复制、添加、删除或修改自身或设备上的其他文件的文件。恶意软件可以包括病毒、蠕虫、特洛伊木马或其他恶意程序。例如,恶意软件可能会在设备上创建后门程序(backdoor),该后门程序授予未经授权的用户对设备的访问。恶意软件可能会将设备转变为作为僵尸网络(bot net)的一部分的僵尸程序(bot),并耗尽设备的计算资源。
可以将恶意软件列表(例如,标识恶意软件,包括用于恶意软件的签名)内的信息与客户端例外列表(例如,第一客户端例外列表)内的信息进行比较以检测列表之间的潜在冲突。如果恶意软件列表和客户端例外列表两者中都列出了某一文件,则在这些列表之一中对该文件进行的列出可能是错误的。可以接收对于包含在恶意软件列表和客户端例外列表两者中的签名的选择。例如,可以向用户呈现在恶意软件列表与客户端例外列表之间存在冲突的警告,并且可以向用户提供选择从恶意软件列表或客户端例外列表、或者从这两个列表中移除相应签名的选项。可以基于所述选择来移除签名。恶意软件签名列表可以与良性签名列表分开存储。
图2示出了根据本公开的各实施例的用于管理签名和客户端例外列表的示例系统200。下文呈现的系统200的操作旨在是说明性的。根据实施方式,系统200可以包括附加的、更少的或替代性的操作。该系统可以在包括一个或多个处理器的各种计算系统或设备中实施。例如,所呈现的组件中的多个组件可以位于同一计算设备上。在另一示例中,所呈现的组件可以表示通过网络连接的分开的多个计算设备。
在各实施例中,系统200可以包括后端服务器202。后端服务器202可以分别从(多个)组织210、客户端A 220和客户端B 222接收文件信息260、262和264。例如,文件信息260可以包括标识一组标准良性文件的标准良性文件信息,文件信息262可以包括标识用于第一客户端(例如,客户端A 220)的第一组客户端良性文件的第一客户端良性文件信息,并且文件信息264可以包括标识用于第二客户端(例如,客户端B 222)的第二组客户端良性文件的第二客户端良性文件信息。例外列表270和272可以由后端服务器202分别发送到客户端A220和客户端B 222。例如,可以通过将由客户端A 220标识的用于良性文件的签名与由(多个)组织210标识的用于良性文件的签名进行组合来生成例外列表270。在已经生成例外列表270之后,可以将其传送到客户端A 220。
后端服务器202可以另外地连接到全局良性数据库230、恶意软件服务器240和专用客户端组件250。全局良性数据库230、恶意软件服务器240和专用客户端组件250可以位于与后端服务器202相同的设备、与后端服务器202相同的本地网络、与后端服务器202相同的云计算环境、分开的多个计算设备或多个代理服务器上。多个代理服务器可以位于系统200的组件中的一个或多个附近。另外,专用客户端组件250可以位于与客户端A 220或客户端B 222相同的设备上、或者位于与客户端A 220或客户端B 222相同的本地网络上。
全局良性数据库230可以存储与标识良性文件的文件信息相关联的良性文件的签名,以及关于已经将文件标识为良性的源的信息。恶意软件签名240可以是与全局良性数据库230分开的单独数据库,并且存储已经被标识为恶意软件的文件的签名。恶意软件文件可以由恶意软件源280标识。恶意软件源280可以将文件标识符以及实际的恶意软件文件发送到后端服务器202。在一些实施例中,(多个)组织210、客户端A 220或客户端B 222可以是恶意软件源280。
专用客户端组件250可以包括扫描引擎252。扫描引擎252可以被配置为确定实际的恶意软件文件以及被误报的可疑文件。可疑文件可以是已被标识为潜在的恶意软件的文件。可以使用基于签名的方法、基于行为的方法或机器学习方法来标识潜在的恶意软件。基于签名的方法可以将用于文件的签名与恶意软件签名254中的签名进行比较。基于行为的恶意软件检测可以在虚拟机中执行文件并观察可疑文件的行为。可以将可疑文件的行为与行为规则进行比较,以确定该文件是潜在恶意的还是良性的。在一些实施例中,机器学习可以用于标识潜在的恶意文件。可以使用恶意软件的样本集来训练机器学习组件。可以基于经训练的组件来扫描文件以确定该文件是否是潜在恶意的。
误报是被错误地标识为潜在恶意的良性文件。为了降低误报率,专用客户端组件250可以进一步从潜在的恶意文件中提取签名。可以将该签名与专用良性签名256中的良性文件签名列表进行比较。良性文件签名列表可以是专用于特定客户端的签名列表。例如,良性文件签名列表可以是例外列表270或272。如果来自潜在的恶意文件的签名与专用良性签名256中的签名相匹配,则该文件可以被标识为误报,并且被标识为良性文件。在一些实施例中,可以更新基于行为的规则或机器学习组件。如果潜在的恶意文件与专用良性签名256中的签名不匹配,则该文件可以被标识为恶意软件。一旦将文件标识为恶意软件,就可以防止该文件被执行,并且可以删除或隔离该文件。另外,可以生成用于恶意软件文件的签名并将其添加到恶意软件签名254。
在一些实施例中,用户可能能够在已经将文件标识为恶意软件之后将该文件标识为良性。在这个实施例中,可以允许执行文件。另外,可以将用于该文件的签名添加到与用户相关联的良性文件列表,并从任何恶意软件签名列表中移除用于该文件的签名。
图3示出了根据本公开的各实施例的用于管理全局良性文件数据库230的示例过程300。全局良性文件数据库230可以接收标准文件信息260、客户端A文件信息262和客户端B文件信息264。标准文件信息260可以包括文件信息321、322、323和324,这些文件信息中的每一个可以对应于单个文件。客户端A文件信息262可以包括将文件信息与客户端A相关联的客户端A ID 330。客户端A文件信息262可以另外地包括文件信息322和325。例如,客户端A可能不知道由文件信息322标识的文件被包括在一组标准文件中,并且因此可以在客户端A文件信息262中包括文件信息322。客户端B文件信息264可以包括将文件信息与客户端B相关联的客户端B ID 332。客户端B文件信息264可以另外地包括文件信息325和326。
全局良性文件数据库230可以存储用于所有所接收到的文件信息的条目,其中文件信息与相应的签名相关联。例如,文件信息321、322、323、324、325和326可以与签名341、342、343、344、345和346相关联。另外,每个条目可以与文件信息的源相关联。文件信息321、322、323和324可以与标准ID 311相关联,因为该文件信息是标准文件信息260的一部分。文件信息325可以与客户端A ID 330和客户端B ID 332两者相关联,因为文件信息325被包括在客户端A文件信息262和客户端B文件信息264两者中。
可以使用包含在全局良性文件数据库230中的信息来生成用于客户端A的例外列表270和用于客户端B的例外列表272。可以通过组合与标准ID 311相关联的所有签名和与客户端A ID 330相关联的所有签名来生成客户端A例外列表270。可以通过组合与标准ID311相关联的所有签名和与客户端B ID 332相关联的所有签名来生成客户端B例外列表272。
图4示出了根据本公开的各实施例的示例方法400的流程图。方法400可以在包括例如图1的环境100或图2的系统200的各种环境中实施。下文呈现的方法400的操作旨在是说明性的。取决于实施方式,方法400可以包括以各种顺序执行或并行执行的附加的、更少的或替代性的步骤。方法400可以在包括一个或多个处理器的各种计算系统或设备中实施。
关于方法400,在块410处,可以获得标识一组标准良性文件的标准良性文件信息。在块420处,可以获得用于一组标准良性文件的一组标准签名。在块430处,可以获得标识用于第一客户端的第一组客户端良性文件的第一客户端良性文件信息。在块440处,可以获得用于第一客户端的第一组客户端良性文件的一组第一客户端签名。在块450处,可以基于一组标准签名和一组第一客户端签名生成用于第一客户端的第一客户端例外列表。
图5是示出可以在其上实施本文描述的实施例中的任何一个实施例的计算机系统500的框图。计算机系统500包括总线502或用于传送信息的其他通信机制、与总线502耦接以用于处理信息的一个或多个硬件处理器504。(多个)硬件处理器504可以是例如一个或多个通用微处理器。
计算机系统500还包括耦接到总线502以用于存储要由(多个)处理器504执行的信息和指令的主存储器506,诸如随机存取存储器(RAM)、缓存和/或其他动态存储设备。主存储器506还可以用于存储在执行要由(多个)处理器504执行的指令期间的临时变量或其他中间信息。这些指令当存储在(多个)处理器504可访问的存储介质中时,使计算机系统500成为被定制成执行指令中指定的操作的专用机器。主存储器506可以包括非易失性介质和/或易失性介质。非易失性介质可以包括例如光盘或磁盘。易失性介质可以包括动态存储器。介质的常见形式可以包括例如软盘、软磁盘、硬盘、固态驱动器、磁带或任何其他磁性数据存储介质、CD-ROM、任何其他光学数据存储介质、具有孔图案的任何物理介质、RAM、DRAM、PROM和EPROM、FLASH-EPROM、NVRAM、任何其他存储器芯片或存储器盒、以及上述形式的网络化版本。
计算机系统500可以使用自定义硬接线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑来实施本文所描述的技术,所述自定义硬接线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑与计算机系统相结合使计算机系统500成为专用机器或将其编程为专用机器。根据一个实施例,响应于(多个)处理器504执行包含在主存储器506中的一个或多个指令的一个或多个序列,计算机系统500执行本文中的技术。这样的指令可以从诸如存储设备508等另一存储介质读取到主存储器506中。包含在主存储器506中的指令序列的执行使(多个)处理器504执行本文所描述的过程步骤。
例如,计算系统500可以用于实施图1中所示出的计算系统102或计算系统102的一个或多个组件。作为另一示例,在图4中示出并且结合此图描述的过程/方法可以通过存储在主存储器506中的计算机程序指令来实施。当这些指令由(多个)处理器504执行时,其可以执行如图4中所示并且如上文所描述的步骤。在替代性实施例中,可以使用硬接线电路代替软件指令或与软件指令组合。
计算机系统500还包括耦接到总线502的通信接口510。通信接口510提供耦接到一个或多个网络链路的双向数据通信,一个或多个网络链路连接到一个或多个网络。作为另一示例,通信接口510可以是用于提供到兼容LAN的数据通信连接的局域网(LAN)卡(或者是用于与WAN通信的WAN组件)。还可以实施无线链路。
可以将某些操作的执行分配到多个处理器之中,使其不是仅驻留在单个机器内,而是跨多个机器部署。在一些示例实施例中,处理器或处理器实施的引擎可以位于单个地理位置中(例如,在家庭环境、办公室环境或服务器区内)。在其他示例实施例中,处理器或处理器实施的引擎可以跨多个地理位置分布。
本文将某些实施例描述为包括逻辑或多个组件。组件可以构成软件组件(例如,在机器可读介质上实施的代码)或硬件组件(例如,能够执行可以以某种物理方式配置或安排的某些操作的有形单元)。如本文所使用的,为方便起见,当计算系统102的组件可以包括可以将计算系统102编程或配置为执行操作的指令时,所述组件可以被描述为执行或被配置为执行操作。
虽然本文描述了所公开原理的示例和特征,但是在不脱离所公开实施例的精神和范围的情况下,修改、适配和其他实施方式是可能的。而且,词语“包括(comprising)”、“具有(having)”、“包含(containing)”和“包括(including)”以及其他类似形式在含义上是等同的并且是开放式的,其中在这些词中的任何一个之后的一个或多个项并不意味着是这一个或多个项的穷举性列表,或不意味着仅受限于所列出的一个或多个项。还必须注意的是,除非上下文明确地另有说明,否则如在本文中和所附权利要求中所使用的单数形式“一(a)”、“一个(an)”以及“所述(the)”包括复数个指代物。
以足以使得本领域技术人员能够实践所公开的教导的细节描述了本文所示的实施例。其他实施例可以被使用并且可以从本文所示的实施例得到,从而使得可以在不脱离本公开的范围的情况下做出结构和逻辑替换和改变。因此,具体实施方式不应被视为具有限制意义,并且各实施例的范围仅由所附权利要求以及这些权利要求所赋予的等同物的全部范围来限定。

Claims (20)

1.一种用于生成良性文件列表的系统,所述系统包括一个或多个处理器以及一个或多个非暂态计算机可读存储器,所述一个或多个非暂态计算机可读存储器耦接到所述一个或多个处理器并且配置有指令,所述指令能够由所述一个或多个处理器执行以使得所述系统执行包括以下各项的操作:
获得标识一组标准良性文件的标准良性文件信息;
获得用于所述一组标准良性文件的一组标准签名;
将所述标准良性文件信息添加到标识一组全局良性文件的全局良性文件信息中,其中,所述全局良性文件信息与一组全局签名相关联;
获得标识用于第一客户端的第一组客户端良性文件的第一客户端良性文件信息;
针对用于所述第一客户端的客户端良性文件,确定所述全局良性文件信息是否标识所述客户端良性文件;
响应于确定所述全局良性文件信息未标识所述客户端良性文件,将与所述客户端良性文件相对应的新签名添加到所述一组全局签名;
修改所述全局良性文件信息以将所述客户端良性文件与第一客户端标识符相关联;以及
获得用于所述第一客户端的所述第一组客户端良性文件的一组第一客户端签名;
基于所述一组标准签名和所述一组第一客户端签名,生成用于所述第一客户端的第一客户端例外列表。
2.如权利要求1所述的系统,其中,所述一组第一客户端签名是基于所述一组全局签名和所述第一客户端标识符获得的。
3.一种用于生成良性文件列表的系统,所述系统包括一个或多个处理器以及一个或多个非暂态计算机可读存储器,所述一个或多个非暂态计算机可读存储器耦接到所述一个或多个处理器并且配置有指令,所述指令能够由所述一个或多个处理器执行以使得所述系统执行包括以下各项的操作:
获得标识一组标准良性文件的标准良性文件信息;
获得用于所述一组标准良性文件的一组标准签名;
获得标识用于第一客户端的第一组客户端良性文件的第一客户端良性文件信息;
获得用于所述第一客户端的所述第一组客户端良性文件的一组第一客户端签名;以及
基于所述一组标准签名和所述一组第一客户端签名,生成用于所述第一客户端的第一客户端例外列表。
4.如权利要求3所述的系统,其中,获得所述标准良性文件信息包括从创建安全标准的组织获得所述标准良性文件信息。
5.如权利要求3所述的系统,其中,基于从相应文件提取的核心信息来确定所述第一客户端例外列表中的至少一个签名,其中,从所述相应文件提取的所述核心信息与从类似文件提取的核心信息相匹配。
6.如权利要求3所述的系统,所述操作进一步包括:
获得标识用于第二客户端的第二组客户端良性文件的第二客户端良性文件信息;
获得用于所述第二客户端的所述第二组客户端良性文件的一组第二客户端签名;以及
基于所述一组标准签名和所述一组第二客户端签名,生成用于所述第二客户端的第二客户端例外列表。
7.如权利要求3所述的系统,所述操作进一步包括:
将所述标准良性文件信息添加到标识一组全局良性文件的全局良性文件信息中,其中,所述全局良性文件信息与一组全局签名相关联。
8.如权利要求7所述的系统,所述操作进一步包括:
针对用于所述第一客户端的客户端良性文件,确定所述全局良性文件信息是否标识所述客户端良性文件;
响应于确定所述全局良性文件信息未标识所述客户端良性文件,将与所述客户端良性文件相对应的新签名添加到所述一组全局签名;以及
修改所述全局良性文件信息以将所述客户端良性文件与第一客户端标识符相关联。
9.如权利要求8所述的系统,其中,所述一组第一客户端签名是基于所述一组全局签名和所述第一客户端标识符获得的。
10.如权利要求3所述的系统,所述操作进一步包括:
基于用于一组恶意软件文件的一组签名获得恶意软件列表;
针对包含在所述恶意软件列表和所述第一客户端例外列表这两者中的签名,接收要从所述恶意软件列表或所述第一客户端例外列表中移除所述签名的选择;以及
基于所述选择移除所述签名。
11.如权利要求3所述的系统,所述操作进一步包括:
向所述第一客户端提供所述第一客户端例外列表。
12.一种用于生成良性文件列表的方法,所述方法包括:
获得标识一组标准良性文件的标准良性文件信息;
获得用于所述一组标准良性文件的一组标准签名;
获得标识用于第一客户端的第一组客户端良性文件的第一客户端良性文件信息;
获得用于所述第一客户端的所述第一组客户端良性文件的一组第一客户端签名;以及
基于所述一组标准签名和所述一组第一客户端签名,生成用于所述第一客户端的第一客户端例外列表。
13.如权利要求12所述的方法,其中,获得所述标准良性文件信息包括从创建安全标准的组织获得所述标准良性文件信息。
14.如权利要求12所述的方法,其中,基于从相应文件提取的核心信息来确定所述第一客户端例外列表中的至少一个签名,其中,从所述相应文件提取的所述核心信息与从类似文件提取的核心信息相匹配。
15.如权利要求12所述的方法,进一步包括:
获得标识用于第二客户端的第二组客户端良性文件的第二客户端良性文件信息;
获得用于所述第二客户端的所述第二组客户端良性文件的一组第二客户端签名;以及
基于所述一组标准签名和所述一组第二客户端签名,生成用于所述第二客户端的第二客户端例外列表。
16.如权利要求12所述的方法,进一步包括:
将所述标准良性文件信息添加到标识一组全局良性文件的全局良性文件信息中,其中,所述全局良性文件信息与一组全局签名相关联。
17.如权利要求16所述的方法,进一步包括:
针对用于所述第一客户端的客户端良性文件,确定所述全局良性文件信息是否标识所述客户端良性文件;
响应于确定所述全局良性文件信息未标识所述客户端良性文件,将与所述客户端良性文件相对应的新签名添加到所述一组全局签名;以及
修改所述全局良性文件信息以将所述客户端良性文件与第一客户端标识符相关联。
18.如权利要求17所述的方法,其中,所述一组第一客户端签名是基于所述一组全局签名和所述第一客户端标识符获得的。
19.如权利要求12所述的方法,进一步包括:
基于用于一组恶意软件文件的一组签名获得恶意软件列表;
针对包含在所述恶意软件列表和所述第一客户端例外列表这两者中的签名,接收要从所述恶意软件列表或所述第一客户端例外列表中移除所述签名的选择;以及
基于所述选择移除所述签名。
20.如权利要求12所述的方法,进一步包括:
向所述第一客户端提供所述第一客户端例外列表。
CN201880100241.XA 2018-12-17 2018-12-31 良性文件列表生成 Withdrawn CN113287105A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/221,799 US10642977B1 (en) 2018-12-17 2018-12-17 Benign file list generation
US16/221,799 2018-12-17
PCT/US2018/068147 WO2020131135A1 (en) 2018-12-17 2018-12-31 Benign file list generation

Publications (1)

Publication Number Publication Date
CN113287105A true CN113287105A (zh) 2021-08-20

Family

ID=70461684

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880100241.XA Withdrawn CN113287105A (zh) 2018-12-17 2018-12-31 良性文件列表生成

Country Status (3)

Country Link
US (1) US10642977B1 (zh)
CN (1) CN113287105A (zh)
WO (1) WO2020131135A1 (zh)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6757675B2 (en) 2000-07-24 2004-06-29 The Regents Of The University Of California Method and apparatus for indexing document content and content comparison with World Wide Web search service
US7503035B2 (en) 2003-11-25 2009-03-10 Software Analysis And Forensic Engineering Corp. Software tool for detecting plagiarism in computer source code
US10043008B2 (en) 2004-10-29 2018-08-07 Microsoft Technology Licensing, Llc Efficient white listing of user-modifiable files
US7698744B2 (en) 2004-12-03 2010-04-13 Whitecell Software Inc. Secure system for allowing the execution of authorized computer program code
US7516130B2 (en) 2005-05-09 2009-04-07 Trend Micro, Inc. Matching engine with signature generation
US8549022B1 (en) 2007-07-02 2013-10-01 Datascout, Inc. Fingerprint generation of multimedia content based on a trigger point with the multimedia content
US8131751B1 (en) 2008-01-18 2012-03-06 Google Inc. Algorithms for selecting subsequences
US8161552B1 (en) 2009-09-23 2012-04-17 Trend Micro, Inc. White list creation in behavior monitoring system
US8359472B1 (en) 2010-03-25 2013-01-22 Trend Micro Incorporated Document fingerprinting with asymmetric selection of anchor points
US9262624B2 (en) * 2011-09-16 2016-02-16 Mcafee, Inc. Device-tailored whitelists
US10542014B2 (en) 2016-05-11 2020-01-21 International Business Machines Corporation Automatic categorization of IDPS signatures from multiple different IDPS systems

Also Published As

Publication number Publication date
US10642977B1 (en) 2020-05-05
WO2020131135A1 (en) 2020-06-25

Similar Documents

Publication Publication Date Title
US11924233B2 (en) Server-supported malware detection and protection
US8479296B2 (en) System and method for detecting unknown malware
KR101654099B1 (ko) 악성 프로세스들의 비서명 기반 검출을 위한 시스템 및 방법
EP2452287B1 (en) Anti-virus scanning
US8844059B1 (en) Method and apparatus for preventing data loss through screen capture
US8683216B2 (en) Identifying polymorphic malware
US10546143B1 (en) System and method for clustering files and assigning a maliciousness property based on clustering
US9614866B2 (en) System, method and computer program product for sending information extracted from a potentially unwanted data sample to generate a signature
US20120002839A1 (en) Malware image recognition
US10783239B2 (en) System, method, and apparatus for computer security
US10243977B1 (en) Automatically detecting a malicious file using name mangling strings
US11288368B1 (en) Signature generation
US9984234B2 (en) Secure document importation via portable media
US20120330863A1 (en) System and Method for Sharing Malware Analysis Results
US20190044958A1 (en) System, Method, and Apparatus for Computer Security
WO2015081791A1 (zh) 内核级恶意软件查杀的方法和装置
US8726377B2 (en) Malware determination
CN111183620B (zh) 入侵调查
US20210026951A1 (en) System, Method, and Apparatus for Computer Security
US8474038B1 (en) Software inventory derivation
US8655844B1 (en) File version tracking via signature indices
US8938807B1 (en) Malware removal without virus pattern
US20130247182A1 (en) System, method, and computer program product for identifying hidden or modified data objects
US10642977B1 (en) Benign file list generation
US20230022044A1 (en) ANALYSIS DEVICE, AND METHOD FOR DETECTING MALWARE IN AN iOS DEVICE

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20210820

WW01 Invention patent application withdrawn after publication