CN112149126A - 确定文件的信任级别的系统和方法 - Google Patents

确定文件的信任级别的系统和方法 Download PDF

Info

Publication number
CN112149126A
CN112149126A CN202010237451.2A CN202010237451A CN112149126A CN 112149126 A CN112149126 A CN 112149126A CN 202010237451 A CN202010237451 A CN 202010237451A CN 112149126 A CN112149126 A CN 112149126A
Authority
CN
China
Prior art keywords
file
files
developer
dominant
decision
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.)
Pending
Application number
CN202010237451.2A
Other languages
English (en)
Inventor
谢尔盖·G·扎戈尔斯基
德米特里·V·什韦佐夫
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.)
Kaspersky Lab AO
Original Assignee
Kaspersky Lab AO
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
Priority claimed from RU2019120220A external-priority patent/RU2750628C2/ru
Application filed by Kaspersky Lab AO filed Critical Kaspersky Lab AO
Publication of CN112149126A publication Critical patent/CN112149126A/zh
Pending legal-status Critical Current

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/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • 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/033Test or assess software

Landscapes

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

Abstract

本发明涉及确定文件的信任级别的系统和方法。本文中公开了用于确定计算设备上的文件的信任级别的系统和方法。在一个方面,一种示例性方法包括:选择稳定的文件名;从具有选择的所述文件名的至少两个文件生成至少一个文件组,所述至少两个文件是同一应用程序的组成部分;搜索主导开发者的存在,该主导开发者使得该主导开发者的至少一个私钥已用于对生成的所述文件组中的至少一个文件进行签名;当找到所述主导开发者时,根据与所述主导开发者相关联的判决确定所述组中的所有文件的信任级别;以及当未找到所述主导开发者时,基于已经分配给所述组中的文件的外部服务的判决确定所述组中的所有文件的信任级别。

Description

确定文件的信任级别的系统和方法
技术领域
本发明涉及计算机安全领域,更具体地涉及用于确定文件的信任级别的系统和方法,所述文件例如是作为存储在计算设备上的应用程序的组成部分的文件。
背景技术
计算机信息系统在当今社会中起着重要作用。同时,计算机威胁的数量急剧增加,其可以包括各种恶意应用程序(诸如因特网蠕虫、计算机病毒、特洛伊木马程序)构成的威胁以及黑客的网络攻击。
一种用于检测恶意软件的方法基于创建独特的代码签名或行为模式,然后在可疑软件的代码中搜索签名。但是,关于新恶意软件的信息到达防病毒公司通常会有一些延迟。此外,在很长的时间间隔之后才将包含新威胁的签名的更新发送到防病毒产品的用户的计算机。结果是,从出现新恶意软件的时刻到用户获得针对恶意软件的签名数据库的更新(诸如包括新威胁的签名)的时刻,已经过了相当长的时间。遗憾的是,在出现新恶意软件的时刻与更新签名数据库的时刻之间的时间间隔期间,可能感染大量的用户计算机设备。
另一种用于检测恶意软件的方法涉及使用启发式方法来分析应用程序的代码及其可执行命令的仿真。与签名方法不同,这种启发式方法适用于检测新的恶意软件。但是,这些启发式方法也有缺点。首先,启发式方法提供的检测水平不足。其次,启发式方法允许大量误报,有时会导致合法软件被指定为恶意的。
由于基于签名的方法和基于启发式算法的方法的缺点,使得利用基于云的服务(例如信誉服务)(诸如由卡巴斯基安全网络(Kaspersky Security Network,KSN)提供的服务)的计算机系统的保护机制变得受欢迎。这些基于云的保护机制在响应速度和保护级别方面都超过了上述其它方法。例如,基于云的信誉服务更善于检测新的恶意软件。
当使用基于云的方法时,可以同时采用多个信誉服务。这些信誉服务被存储在防病毒公司的一个或多个远程服务器上(在本发明中,为清楚起见,远程服务器可以称为云基础设施)。这类信誉服务基于自动采集和处理从用户获得的信息。例如,可以采集关于所有感染尝试以及关于在用户计算设备上下载并执行的未知可疑文件的信息,并将该信息提供给信誉服务。云信誉服务的使用允许防病毒公司快速地响应新威胁并减少误报次数。在收到从用户收集的信息接后,在防病毒公司的信誉服务中汇总并分析从用户收集的信息。基于许多因素宣判关于软件是安全还是有害的决定。例如,这些因素可以包括如下项中的一者或多者:数字签名(Digital Signature,DS)的存在性;应用程序的创建时间和首次检测到的时间;应用程序及其来源的信任级别(信誉),该信任级别是基于使用该应用程序的信誉服务的大量用户确定的;以及指示应用程序的用户的物理位置的该应用程序的使用地理位置。
注意,除了使用上述信誉服务之外,还可以例如使用防病毒公司的检测能力和病毒分析人员(例如,具有病毒分析方面的专业知识的专业人员)的分析能力来进一步分析应用程序。所有上述检测方法的结果是,针对应用程序关于该应用程序的类别做出判决,即,确定最有可能的类别,例如恶意软件、不需要的软件等。随后,将判决呈现给信誉服务的所有正在其各自的计算机上运行该应用程序、正在从网络下载该应用程序、或者两者都有的用户。
但是,使用上述基于云的技术也有缺点。例如,所有上述方法都无法减少和/或消除误报。此外,上述方法无法成功地对可信应用程序和文件的特定部分进行分类。为了分析云基础设施中的文件,大多数算法都需要对文件的代码进行分析,但是由于大量的新文件或以前未知的文件,使得将文件上传到云基础设施以及随后分析如此大量文件的代码的过程很困难(如果有可能的话)。通常,最受欢迎的文件(来自基于云的信誉服务的各个用户所使用的文件之中)是首先要分析的文件。因此,使用频率较低的文件可以继续被延迟,从而延迟了恶意应用程序的识别。
此外,为了消除或减少保护系统对于已知可信应用程序的新版本的误报,需要一种允许将已知可信应用程序的新版本分类为可信软件的技术。因此,上述所有方法在分类质量方面,例如在对可信软件分类方面,存在缺点。换句话说,上述方法在有效性方面存在缺点,并且在一些情况下,无法使用这些方法。
因此,需要一种提供计算机安全的有效方法,从而降低保存在用户的计算设备上的数据的风险。
发明内容
本发明的各个方面涉及信息安全领域,更具体地涉及用于确定应用程序的文件的信任级别的系统和方法。
在一个示例性方面,在包括硬件处理器的计算机中实现一种用于确定应用程序的文件的信任等级的方法,所述方法包括:选择稳定的文件名;从具有选择的所述文件名的至少两个文件生成至少一个文件组,所述至少两个文件是同一应用程序的组成部分;搜索主导开发者的存在,该主导开发者使得该主导开发者的至少一个私钥已用于对生成的所述文件组中的至少一个文件进行签名;当找到所述主导开发者时,根据与所述主导开发者相关联的判决确定所述组中的所有文件的信任级别;以及当未找到所述主导开发者时,基于已经分配给所述组中的文件的外部服务的判决确定所述组中的所有文件的信任级别。
根据本发明的一个方面,提供了一种用于确定应用程序的文件的信任级别的系统,所述系统包括硬件处理器,所述硬件处理器配置成:选择稳定的文件名;从具有选择的所述文件名的至少两个文件生成至少一个文件组,所述至少两个文件是同一应用程序的组成部分;搜索主导开发者的存在,该主导开发者使得该主导开发者的至少一个私钥已用于对生成的所述文件组中的至少一个文件进行签名;当找到所述主导开发者时,根据与所述主导开发者相关联的判决确定所述组中的所有文件的信任级别;以及当未找到所述主导开发者时,基于已经分配给所述组中的文件的外部服务的判决确定所述组中的所有文件的信任级别。
在一个示例性方面,提供了一种非暂时性计算机可读介质,所述非暂时性计算机可读介质上存储有用于确定应用程序的文件的信任级别的指令集,其中,所述指令集包括用于如下操作的指令:选择稳定的文件名;从具有选择的所述文件名的至少两个文件生成至少一个文件组,所述至少两个文件是同一应用程序的组成部分;搜索主导开发者的存在,该主导开发者使得该主导开发者的至少一个私钥已用于对生成的所述文件组中的至少一个文件进行签名;当找到所述主导开发者时,根据与所述主导开发者相关联的判决确定所述组中的所有文件的信任级别;以及当未找到所述主导开发者时,基于已经分配给所述组中的文件的外部服务的判决确定所述组中的所有文件的信任级别。
在一个方面,所述信任级别是根据与所述主导开发者相关联的如下判决所确定的:该判决基于已经分配给所述组中的文件的外部服务的判决。
在一个方面,所述信任级别是根据与所述主导开发者相关联的如下判决所确定的,该判决基于已经分配给用户的计算设备上的至少一个文件的外部服务的判决,所述至少一个文件不属于所述组但用所述主导开发者的所述私钥签名。
在一个方面,所述信任级别是根据与所述主导开发者相关联的如下判决所确定的:该判决基于已经分配给所述主导开发者的另一个组中的文件的外部服务的判决,所述另一个组中的文件在用户间的运行频率大于运行频率的预定阈值。
在一个方面,所述外部服务包括如下项中的至少一者:存储有所述文件的至少一个计算设备的至少一个保护系统、以及与所述至少一个计算设备通信地联接的云基础设施的任何数量的服务器。
在一个方面,所述云基础设施汇总并存储从所有计算设备接收的数据,其中,所述数据是给定计算设备的保护系统基于由所述给定计算设备的用户所选的机密性设置所收集的。
在一个方面,当所选的所述机密性设置指示制止数据收集时,选择所述制止所针对的计算设备的文件的本地数据库上的数据包括仅关于具有预定特性的文件的信息,所述预定特性包括如下项中的至少一者:文件是可执行的、文件沿着预定路径存储、文件具有一组预定扩展名。
在一个方面,本发明的方法确定了应用程序的文件的信任级别,同时减少了误报,并同时降低了将大量文件上传到云基础设施并对上传文件的所有代码执行代码分析的需求。例如,当分析已知可信应用程序的新版本的可信度时,确定应用程序的文件的信任级别,同时降低误报的次数和将大量文件上传到云基础设施的需求。该方法被设计成提高计算机安全性。因此,本发明的方法有利地实现了数据的信息安全。
附图说明
并入本说明书中并构成本说明书的一部分的附图示出了本发明的一个或多个示例性方面,以及连同详细的描述一起用来阐述这些示例性方面的原理和实现方式。
图1示出了根据本发明的方面的一种用于确定应用程序的文件的信任级别的系统的示例图。
图2示出了根据本发明的方面的一种用于确定应用程序的文件的信任级别的方法。
图3示出了根据本发明的方面的一种用于确定应用程序的文件的信任级别的计算设备的示例性保护系统。
图4示出了可实现本发明的各方面的通用计算机系统的示例。
具体实施方式
本文中在用于确定应用程序的文件的信任级别的系统、方法和计算机程序的背景下描述示例性方面。本领域的普通技术人员将认识到,以下描述仅仅是示例性的,而不旨在以任何方式进行限制。其它方面将很容易将其自身暗示给了解本发明的优点的本领域的技术人员。现在将详细地参考如附图中所示的示例性方面的实现方式。贯穿附图和以下描述将尽可能地使用相同的附图标记来指代相同或类似的项目。
当前,软件开发者使用具有公钥的密码系统来验证文件的完整性。使用软件开发者的数字签名(DS)对文件进行签名。该DS和确认公钥属于软件开发者的公钥证书(在本发明中也简称为证书)与文件保存在一起。知道受信任的认证中心(Certification Center,CC)的公钥,就可以轻松地验证文件的DS的真实性。
证书(即公钥证书)具有有限的有效期,在有效期结束之后需要更换证书。防病毒应用程序用来识别具有无效数字签名或已撤销证书的文件的初步方法之一是验证文件的数字签名的公钥证书的有效性。
根据加密标准X.509,证书包含以下字段:
·用于标识证书的序列号;
·代表被颁发证书方的主题;
·数字签名算法;
·证书的数字签名;
·证书的认证中心;
·证书的有效期;
·数字签名的公钥;
·公钥的散列和;
·公钥的散列算法。
此外,证书可以包含标识文件的开发者的“主题”字段。开发者可以具有几个不同的数字签名,以用于对不同的各个文件进行签名。
为了清楚地呈现本发明的教导,本文中定义了如在描述本发明的各个方面时所使用的许多术语和概念。
恶意应用程序为能够对计算系统或对计算系统(换言之,计算机、一组计算机、个人计算机、服务器、移动电话等)的用户的数据造成损害的应用程序,诸如:网络蠕虫、键盘记录器、计算机病毒。造成的损害可以为出于盗窃目的而非法访问计算机的资源(包括计算机上保存的数据)以及非法使用这些资源,包括存储数据、执行计算等。
可信应用程序为不对计算系统或该计算系统的用户造成损害的应用程序。可信应用程序可以包括由可信软件制造商开发的、从可信源(诸如在可信网站数据库中所列的网站)下载的应用程序,或者其标识符(或可唯一地标识应用程序的其它数据,例如应用程序的文件的散列值)被保存在可信应用程序数据库中的应用程序。也可以将制造商的标识符(诸如数字证书)保存在可信应用程序数据库中。
不可信应用程序为既未归类为恶意也未归类为可信的应用程序。然而,不可信应用程序之后可能被防病毒应用程序归类为恶意的。此外,不可信应用程序可以为包含漏洞的应用程序。
中间应用程序为既非恶意也非可信的应用程序,但是它可能执行不需要的功能,例如广告功能(广告软件)。中间应用程序也可以包括类别或风险软件,即非恶意的但是它可以被黑客用于恶意目的的应用程序(例如远程管理应用程序)。
未分类应用程序为不属于上述任何类别的应用程序。因此,未分类应用程序为不属于恶意、可信、不可信或中间应用程序类别的应用程序。
恶意文件是作为恶意应用程序的组成部分且包含程序代码(例如,可执行代码或解释代码)的文件。
不可信文件是作为不可信应用程序的组成部分且包含程序代码(例如,可执行代码或解释代码)的文件。
可信文件是作为可信应用程序的组成部分的文件。
中间文件是作为中间应用程序的组成部分的文件。
未分类文件是作为未分类应用程序的组成部分的文件。
应用程序通常由存储在计算设备的一个或多个目录中的许多文件组成;关于应用程序的某些信息也保存在注册表中。存储在不同计算设备上的具有相同名称的应用程序文件(诸如“Chrome.exe”)可以例如在其散列和方面有所不同。这是因为不同的应用程序版本可能被安装在不同的计算设备上。不同版本可以包含不同的库且具有不同的用户设置。但是,无论哪种软件,大多数应用程序文件都沿同一路径分组。同时,为了隐藏恶意软件,黑客经常将恶意文件添加到可信软件的目录。但是,信誉服务可能没有立即检测到新的恶意软件。注意,这类信誉服务基于自动收集和处理来自用户的信息。从用户接收的信息包括关于感染尝试的信息、以及关于在用户计算机上下载并执行的未知可疑文件的信息。因此,需要一种能够更快地对文件进行分类同时减少误报的技术,例如,通过将更新版本的可信应用程序正确分类为可信的,从而减少误报的数量。
在一个方面,本发明描述了一种在计算系统(例如,服务器,计算机等)上实现的用于确定应用程序的文件的信任级别的系统,所述计算系统包括真实的设备、系统、组件、和组件组,这些设备、系统、组件、和组件组利用硬件(诸如集成微电路(专用集成电路,ASIC)或现场可编程门阵列(FPGA))或例如以软件和硬件的组合(诸如微处理器系统和一组程序指令)的形式、以及也在神经突触芯片上实现。这类系统部件的功能可以仅仅通过硬件来实现,也可以以组合的形式来实现,其中,系统部件的一些功能通过软件来实现,以及一些功能通过硬件来实现。在特定方面中,可以在通用计算机(诸如在图4中所示的通用计算机)的处理器上运行一些或全部的组件、系统等。此外,系统组件可以在单一计算设备内实现或散布在多个互连计算设备之中。
图1示出了根据本发明的方面的一种用于确定应用程序的文件的信任级别的系统100的示例图。
用于确定应用程序的文件的信任级别的系统100包括云基础设施110和任意数量的用户计算设备120。
用户计算设备120可以包括计算机、平板电脑、笔记本电脑、智能手机等。用户计算设备120可以包括任意数量的如下项:保护系统101、本地信任级别数据库102、本地文件数据库103、和本地病毒数据库104。保护系统101可以包括防病毒应用程序。另外,用户计算设备120的保护系统101可以连接到本地信任级别数据库102、计算设备120的本地文件数据库103和本地病毒数据库104。
云基础设施110连接到用户计算设备120,例如,借助局域网或因特网进行连接。此外,云基础设施构成一个或多个远程服务器并且可以由保护系统的开发者(例如,至少安装在两个用户计算设备120上的保护系统101的开发者)使用。云基础设施110包括:用于生成文件组的组生成器111、主导开发者识别器112、信任级别识别器113、信任级别数据库114、文件数据库115、和病毒数据库116。组生成器111连接到主导开发者识别器112,该主导开发者识别器112又连接到信任级别识别器113。
本地文件数据库103包含关于用户计算设备120的文件系统以及关于文件系统包含的文件和应用程序的信息(例如,名称、散列和、磁盘上文件目录的路径、文件的大小、属性和元数据、文件的数字签名、文件的数字签名的公钥证书、目录的列表和树等)。例如可以通过读取主文件表(Master File Table,MFT)中的记录来获得关于文件系统的信息。此外,本地文件数据库103包含外部服务的判决,尤其是保护系统101和云基础设施110关于正在验证的文件的判决。例如,本地文件数据库103可以接收先前由保护系统101及其各个单独模块宣判的判决以及由云基础设施110及其各个单独模块宣判的判决。此外,本地文件数据库103可以接收在文件在用户计算设备120上运行时收集的统计信息。例如,该统计信息可以包括文件运行的次数、文件运行的频率以及启动的次数。在一特定方面,外部服务的判决和关于在计算设备120上运行的文件所收集的统计信息可以被包含在单独的数据库中(诸如在云基础设施110的病毒数据库116上以及在用户计算设备120的本地病毒数据库104上)。对于每个用户计算设备120,本地文件数据库103的数据由用户计算设备120的相应保护系统101发送到云基础设施110。云基础设施110汇总并保存从所有用户计算设备120接收的本地文件数据库103的数据。
注意,位于不同用户计算设备120上的保护系统101可以收集不同数据。由特定计算设备120的给定保护系统101收集的数据取决于该特定计算设备120的用户的机密性设置以及该特定计算设备120上的保护系统101的设置。
在一个方面,特定计算设备120的用户可以选择用于制止数据收集的设置。因此,在一个方面,在某些用户计算设备120上可能根本不采集这类数据。当选择制止数据收集时,本地文件数据库103包含仅关于具有定义特性的文件的信息,诸如仅关于可执行文件的信息。在另一方面,本地文件数据库103包含仅关于沿某些路径(例如,%ProgramFiles%、%AppData%)存储的文件的信息。在另一方面,本地文件数据库103包含关于具有预定扩展名(诸如:‘.dll’、‘.exe’、‘.vbs’等)的文件的信息。
在一个方面,可以根据来自云基础设施110的命令来更新本地文件数据库103中包含的信息,例如,如果本地文件数据库103最初仅包含关于不可信文件的信息,则在进一步分析(例如,由专家或云基础设施的附加模块进行)之后,可以将云基础设施110处的文件列表扩展为包括关于其它类型的文件或其它目录的信息。当从用户计算设备120采集的用于存储在本地文件数据库103中的信息增加时,误报的数量可以减少,并且可信软件的分类质量可以提高。显然,需要遵守在文件系统上采集的数据的数量和类型之间的平衡,以便不降低用户计算设备120的性能且不在云基础设施110上形成不可接受的计算负荷(处理)。
在一个方面,组生成器111用于为用户计算设备120的指定部分选择存储在指定路径上的文件的名称(在下文中为稳定的文件名)。应当注意,在一个方面,考虑了用户设备上的磁盘的文件系统的所有路径(所有目录都存储在这些路径上)。
在另一方面,仅分析根据计算设备120的用户的设置或保护系统101的设置指定的路径。在一个方面,在文件系统中,一文件可以通过该文件的至少一个用户的该文件的路径、通过文件名以及通过该文件的散列和而被识别。在一个方面,文件名包括完整的文件名,其包括文件的路径以及文件名。在另一方面,文件名仅包括文件名而没有路径(即,文件名不是完整的文件名)。
还应该注意,文件的路径可以由正则表达式或模板来指定,例如,在Windows OS中,由指示应用程序经常使用的目录的位置的与系统无关的唯一标识符(CSIDL(“C:\Windows”、“C:\Winnt”等))来指定。因此,如果用户的目录程序文件被存储在不同的绝对路径(例如,C:\Program files和D:\Program files)上,则对于本发明的方法,绝对路径将对应于单个路径%Program files%。
因此,例如,文件“Chrome.exe”(它是Google Chrome应用程序的可执行文件)可以根据应用程序的版本而具有不同的散列和。
在一个方面,如果在其各自的设备上具有先前指定路径的所有用户中,针对所有用户设备的文件名的出现位于该指定路径上的所有用户设备中最常遇到的文件名的给定邻区内,则确定文件名是稳定的。
在一个方面,文件名的出现率表示用户中存在指定的文件名的一部分,该部分选自于存在指定组的所有用户。例如,90%的用户在目录“C:\Program Files(x86)\Google\Chrome\Application”中具有文件“Chrome.exe”、以及Chrome应用程序的其它文件,诸如“chrome.dll”、“debug.log”等。因此,只有10%的用户在该目录中没有文件“Chrome.exe”(例如,它可能已被意外删除)。这些文件是稳定的且它们具有相同的出现率。因此,这些文件可以形成为单一组。
在另一方面,文件名的出现率表示具有该文件名的文件在指定组中运行的次数。
应当注意,在一般情况下,不同的文件可以具有相同的文件名,即,具有不同散列和的文件可以具有相同的文件名(例如,同一应用程序的不同版本可以具有不同的散列和,但具有相同的文件名)。在确定文件名的出现率时也考虑了这些情况。
在一个方面,组生成器111还用于从具有稳定文件名的至少两个文件生成至少一个文件组(下文中称为“组”),其中,所述至少两个文件是同一应用程序的组成部分。所生成的组被保存(存储)在文件数据库115中。
在一个方面,主导开发者识别器112用于识别针对每组的主导开发者。特定组的主导开发者为其一个或多个私钥被用于对该特定组中的至少一个文件进行签名的开发者。在一个方面,一组的主导开发者为其私钥被用于对该组中的文件进行签名的至少一个开发者,其中,用户针对该组运行应用程序文件的频率超过给定阈值(例如,该组的用户的80%运行那些文件)。因此,组是针对属于同一应用程序的文件的汇总生成的。通过用主导开发者的私钥签名的该组中最常运行的文件识别该主导开发者,其中,该组中最常运行的文件选自于该组中的所有文件。
例如,开发者Microsoft可以具有多对公钥和私钥来对文件进行签名。每个公钥对应于开发者(即,Microsoft)的一公钥证书。对于不同的公钥/私钥对,证书可以具有“主题”数据字段(Microsoft Corporation、Microsoft Windows等)的不同值。然而,所有那些证书都属于同一开发者Microsoft。
在一个方面,关于证书是否属于同一开发者的确定可以基于对证书字段的分析。例如,该确定可以基于证书的“主题”数据字段。在另一方面,可以使用先前生成的开发者证书列表来进行证书是否属于同一开发者的确定。在一个方面,先前生成的开发者列表可以被存储在位于云基础设施110中的数据库(图中未示出)中。
在一个方面,组生成器111用于生成文件组,其中,文件的路径和名称的出现满足预定的精度水平(例如,精度为30%)。在另一方面,生成该组,同时考虑到文件的路径和名称在预定时间窗(诸如1天)期间的出现。文件可以存在于同一目录或不同目录中。
在生成该文件组之后,信任级别识别器113确定该组中的所有文件的信任级别。在一个方面,基于如下项中的至少一者确定该组中的所有文件的信任级别:由外部服务对该组中的文件做出的判决;由外部服务对用户设备上不属于该组的至少一个文件做出的判决,其中,该至少一个文件用与该文件组相关联的主导开发者的私钥进行签名;以及由外部服务对另一个组中的文件做出的判决,该另一个组也和与所述文件组相关联的主导开发者相关联,其中,在用户间运行由主导开发者开发的应用程序的频率超过预定阈值。
在一个方面,外部服务包括计算设备120的保护系统101,特别是保护系统101的各个模块。在另一方面,外部服务包括云基础设施110,特别是云基础设施的各个模块。在一个方面,文件的判决可以被存储在用户100的计算设备120上,例如,存储在本地病毒数据库104中。在另一方面,文件的判决可以被存储在云基础设施110中,例如,存储在病毒数据库116中。
在一个方面,信任级别识别器113将确定的文件的信任级别保存(即存储)在信任级别数据库114中。在一个方面,周期性地或按照更新将信任级别数据库114中存储的数据备份在本地信任级别数据库102中。此外,在一个方面,本地信任级别数据库102仅存储用户的特定计算设备120所需的数据。即,给定的本地信任级别数据库可以不保存信任级别数据库114中存储的所有数据,而是仅保存用户的特定计算设备120所需的数据。例如,本地信任级别数据库102中存储的信任级别可以仅用于用户100的特定计算设备120上存储的那些文件。当保护系统101正在关于针对文件要采取的动作进行确定时,信任级别(就像保护系统101的判决一样)可以用作保护系统101的指示符。换言之,在一个方面,保护系统101基于对文件的判决和/或文件的信任级别来确定对文件要采取的动作。
在一个方面,文件的信任级别和对文件的判决以变坏的次序采取如下值中的至少一者(但不限于这些):
·可信,其中,允许该文件在用户的计算设备上运行;
·未分类,其中,该文件在用户的计算设备上的运行根据对未分类文件的设置确定;
·中间,其中,该文件在用户的计算设备上的运行根据对中间文件的设置确定;以及
·不可信,其中,禁止该文件在用户的计算设备上运行。
在一个方面,保护系统101防止运行具有不可信信任级别的文件。在一个方面,当保护系统101防止运行具有不可信信任级别的文件时,保护系统101还采取如下动作中的至少一者:移除该文件或隔离该文件。在一个方面,将被隔离的文件放在受保护的存储库中,禁止运行来自该存储库的文件。在一个方面,当文件具有中间信任级别时,保护系统101向用户请求关于是否运行该文件的确认。例如,保护系统101的设置可以包括关于在文件具有中间信任级别时要采取的适当动作的指示。在一个方面,运行可信的文件而无需来自用户的确认。在一个方面,当文件具有未分类信任级别时,保护系统101根据保护系统101的设置对该文件采取动作。例如,如果保护系统101的设置默认建立禁止(默认拒绝),则该文件将仅在其被视为可信文件时运行(例如,使用白名单,如下所述)。相反,如果文件默认为允许运行,则允许运行所有文件,除了被视为不可信的文件(例如,不可信文件可以被存储在黑名单中,如下所述)之外。注意,也允许保护系统101的设置的其它变型。例如,保护系统101的设置可以具有禁止运行中间文件的选项,在这种情况下,将禁止运行中间文件,同时将允许运行未分类文件。在另一个示例中,可以在所谓的“受限模式”下执行中间文件的运行,其中,保护系统101监控中间文件的执行,以及在执行被禁止动作(诸如可疑网络活动、将文件保存到磁盘、改变注册表等)的情况下,保护系统101请求来自设备的用户的确认。例如,该确认可以用来确定是否继续运行该文件、终止等等。
应当注意,在文件的防病毒扫描期间,保护系统101首先访问本地信任级别数据库102或云基础设施110中的信任级别数据库114。在一个方面,云基础设施110是确定文件的信任级别(例如使用散列和)并将该信任级别存储在信任级别数据库114中的地方。根据文件的信任级别,保护系统101对该文件进行处理(即,允许或禁止运行该文件的代码、将该文件移除或放置在隔离区、等等)。在一个方面,当还未确定文件的信任级别时,保护系统101使用以下项执行文件的防病毒扫描:保护系统101的各个模块(例如,防病毒程序)和本地病毒数据库104。还应当注意,如使用本发明的方法确定的文件的信任级别然后可以被云基础设施110的各个模块使用,例如,以用于改变云基础设施110的相应模块的判决。
在一个方面,白名单包含关于已知可信文件的信息。黑名单包含关于已知不可信文件的信息。在一个方面,白名单和黑名单可以被包含在云基础设施110的病毒数据库116和/或本地病毒数据库104中。在另一方面,白名单和黑名单可以被保存在单独的数据库(在图中未指示)中。
在一个方面,本发明的方法确定无法识别一组的主导开发者。例如,假设主导开发者是其私钥被用于对该组中的文件进行签名的开发者,其中,该开发者在用户间运行文件的频率也必须大于预定阈值。然后,当不存在(未发现)其私钥被用于对该组中的文件进行签名且在用户间的运行频率大于预定阈值的开发者时,本发明的方法得出的结论是没有主导开发者。在这种情况下,信任级别识别器113用于基于由外部服务对组中的在用户间的运行频率大于给定阈值的文件的判决来确定该组中的文件的信任级别。
在特定方面,外部服务的判决被分配给如下项中的至少一者:
·a)使用该组的主导开发者的私钥签名的文件;
·b)具有稳定文件名且属于主导开发者的组的文件;
·c)在指定组中具有稳定名称的文件;
·d)在指定路径上具有指定稳定名称的文件;
·e)具有稳定名称的存储在来自可信路径列表的指定路径上的文
件,该指定文件以指定名称存储在指定路径上且超过存在该文件的部分用户的给定阈值;和
·f)文件;
其中,外部服务至少包括:保护系统101的各个模块或云基础设施110的各个模块。
在一个方面,可信路径列表可以被存储在云基础设施110的文件数据库115中。
应当注意,根据用于确定文件的信任级别的本发明的方面,可以仅使用判决a)至判决f)之一,或者可以使用判决a)至判决f)的任何组合。还应当注意,本发明的方法不限于所指示的判决,此外,相关技术中已知的任何方法均可用于确定外部服务进行的判决。此外,对于未识别出主导开发者或尚未识别出主导开发者的方面,仅使用在c)至f)项中所描述的判决来确定组中的文件的信任级别。
在另一方面,将组中的文件的信任级别确定为外部服务的判决的最差值。例如,如果使用判决b)至判决f)的组合且判决b)至判决e)指示该文件是可信的而判决f)指示该文件是不可信的(例如,专家系统最近发现该文件是恶意的),则在这种情况下将该组中的该文件的信任级别确定为不可信。
在另一方面,通过对外部服务的判决进行加权来确定组中的文件的信任级别。例如,判决a)的权重可以大于判决b)的权重;以及如果判决b)指示该文件是可信的而判决a)指示该文件是不可信的,则基于具有较大权重的判决a)将该文件的信任级别确定为不可信。
在另一方面,在如下情况下,将文件确定为可信文件:通过使用指示的方法(方法的组合)确定的不可信文件、未分类文件和中间文件的数量不大于给定阈值(例如,不大于1%),其中,可信信任级别使用多种方法的组合中的至少一种方法被确定,并且文件在用户计算设备上的出现率达到或超过预定阈值(例如,大于80%)。
在另一方面,在如下情况下,将文件确定为可信的:不可信判决、未分类判决和中间判决的数量低于预定阈值(例如,不大于1%),其中,至少一个可信判决被确定,并且文件在用户计算设备上的出现率达到或超过预定阈值(例如,80%)。
在另一方面,当来自外部服务的判决改变时,根据来自外部服务的对文件的判决改变该文件的信任级别。例如,如果对文件的判决已从用户计算设备120的保护系统101或云基础设施110、或在防病毒数据库114中、或在黑白名单中发生改变,则根据判决的改变更新文件的信任级别。例如,黑客在启动新恶意文件之后可能在一段时间内不执行恶意功能,从而最大可能数量的用户将下载该恶意文件。结果是,该文件最初可能被识别为可信的或中间的。然后,一段时间之后(例如一个月之后),可以从黑客的命令中心发出命令来激活该文件的恶意功能。在激活恶意功能之后,防病毒公司的某些专家系统或分析人员发现该文件是恶意的。因此,在一个方面,组中的该文件的信任级别将变为不可信。
在另一方面,如果在给定时间段(诸如1个月)中,来自外部服务的对一不可信文件的判决还未改变但是该文件已在用户设备上运行至少一次,则该不可信文件的信任级别变为未分类。采用该方式,如果例如有一次将非不可信的文件错误地分类为不可信,但是之后该信任级别未被确认,则可以减少误报的数量。
应当注意,在其它方面,也可以在确定文件的信任级别时使用其它判决,特别是可以使用机器学习(例如,决策树、人工神经网络、支持向量法等)来确定判决。因此,例如,可以使用决策树来组合判决a)至判决f),以确定文件的信任级别。
还应当注意,黑客可能在一些用户中用恶意(即不可信)文件替换可信文件。但是在一些用户中,可信文件将被存储在指定路径上且具有指定名称,而在其它用户中将存在不可信文件。因此,在一个方面,如果文件在用户间的运行频率大于第一阈值(诸如90%),则得到的该文件的信任级别将为可信;如果运行频率低于第一阈值且高于第二阈值,则该文件的信任级别将为中间;如果运行频率低于第二阈值(诸如80%),则该文件的信任级别将为不可信。
在一个方面,使用如下项中的至少一者确定文件是否属于同一应用程序:注册表、被比较的文件的文件系统的结构、文件的时间戳(指示同时创建这些文件且这些文件最可能属于同一应用程序)、以及文件路径的出现——存在该路径的这部分用户。即,如果文件属于不同路径、具有接近的出现率(例如大于60%)和接近的针对其创建的时间戳(例如,它们的创建相差10秒),则确定这些文件属于同一应用程序。
在另一方面,以如下方式形成组:文件存储在至少在给定数量的用户计算设备中的同一目录中。在另一方面,当生成该组时,如果子目录的文件已经在该给定数量的用户计算设备上运行,则该方法包括来自该目录的至少一个子目录的文件。
图2示出了根据本发明的方面的一种用于确定应用程序的文件的信任级别的方法200。该方法200可以在包括任何数量的设备的系统(例如系统100)上实现。
在步骤201中,方法200选择稳定的文件名。
在步骤202中,方法200通过组生成器从具有选择的文件名的至少两个文件生成至少一个文件组(后文中称为组),所述至少两个文件是同一应用程序的组成部分。
在步骤203中,方法200搜索主导开发者的存在,该主导开发者使得该主导开发者的至少一个私钥已用于对生成的文件组中的至少一个文件进行签名。
在步骤204中,方法200确定是否找到主导开发者。当找到主导开发者时,方法200前进到步骤205。否则,该方法前进到步骤206。
在步骤205中,方法200根据与主导开发者相关联的判决确定该组中的所有文件的信任级别。在一个方面,所述信任级别是根据与所述主导开发者相关联的如下判决所确定的,该判决基于已经分配给该组中的文件的外部服务的判决。在一个方面,所述信任级别是根据与所述主导开发者相关联的如下判决所确定的,该判决基于已经分配给用户的计算设备上的至少一个不属于所述组但用所述主导开发者的所述私钥签名的文件的外部服务的判决。在一个方面,所述信任级别是根据与所述主导开发者相关联的如下判决所确定的,该判决基于已经分配给所述主导开发者的另一个组中的文件的外部服务的判决,所述另一个组中的文件在用户间的运行频率大于运行频率的预定阈值。
在步骤206中,方法200基于已经分配给该组中的文件的外部服务的判决确定该组中的所有文件的信任级别。应当注意,在一个方面,执行步骤203-步骤204。在另一方面,在步骤202中生成组之后,在不使用该组的主导开发者的情况下确定该组中的文件的信任级别,如步骤206中所述。
在一个方面,所述信任级别是根据与所述主导开发者相关联的如下判决所确定的,该判决基于已经分配给该组中的文件的外部服务的判决。
在一个方面,所述信任级别是根据与所述主导开发者相关联的如下判决所确定的,该判决基于已经分配给用户的计算设备上的至少一个不属于所述组但用所述主导开发者的所述私钥签名的文件的外部服务的判决。
在一个方面,所述信任级别是根据与所述主导开发者相关联的如下判决所确定的,该判决基于已经分配给所述主导开发者的另一个组中的文件的外部服务的判决,所述另一个组中的文件在用户间的运行频率大于运行频率的预定阈值。
在一个方面,所述外部服务包括如下项中的至少一者:存储有所述文件的至少一个计算设备的至少一个保护系统、以及与所述至少一个计算设备通信地联接的云基础设施的任何数量的服务器。
在一个方面,所述云基础设施汇总且存储从所有计算设备接收的数据,其中,数据是给定计算设备的保护系统基于由所述给定计算设备的用户所选的机密性设置所收集的。
在一个方面,当所选的机密性设置指示制止数据收集时,选择该制止所针对的计算设备的文件的本地数据库上的数据包括仅关于具有预定特性的文件的信息。
在一个方面,该预定特性包括如下项中的至少一者:文件是可执行的、文件沿着预定路径存储、和文件具有一组预定扩展名。
在一个方面,当在其各自的计算设备上具有先前指定路径的所有用户中,文件名的针对所有计算设备的出现位于具有该指定路径的所有用户的所有计算设备中最常遇到的文件名的预定邻区内时,该文件名是稳定的。
在一个方面,文件的信任级别和对该文件的判决以变坏的次序采取如下值中的至少一者:可信,其中,允许在用户的计算设备上运行该文件;未分类,其中,根据对未分类文件的设置确定该文件在用户的计算设备上的运行;中间,其中,根据对中间文件的设置确定该文件在用户的计算设备上的运行;和不可信,其中,禁止在用户的计算设备上运行该文件。
在一个方面,当文件具有不可信信任级别时,该方法还包括:采取如下动作中的至少一者:移除该文件和隔离该文件,其中,将被隔离的文件放在计算设备的受保护的存储库中,禁止运行来自该存储库的文件。
在一个方面,当文件具有中间信任级别时,该方法还包括:向用户请求关于是否运行该文件的确认。
在一个方面,当文件具有未分类信任级别时,对未分类文件的设置指示如下项中的至少一者:默认禁止运行该文件,除非该文件在白名单上;默认允许运行该文件,除非该文件在黑名单上。
因此,本发明的方法200和系统100提高了可信软件的分类质量,并且提高了可信软件的分类质量。
图3示出了根据本发明的各方面的一种用于确定应用程序的文件的信任级别的计算设备120的保护系统101的示例300。保护系统101可以包含设计成提供用户计算设备120的信息安全的模块:访问扫描仪、按需扫描仪、电子邮件防病毒软件、网络防病毒软件、行为分析器(主动保护模块)、HIPS(Host Intrusion Prevention System,主机入侵防御系统)模块、DLP(Data Loss Prevention,数据丢失防护)模块、漏洞扫描仪、模拟器、防火墙等。在一个方面,这些模块可以是保护系统101的一部分。在另一方面,这些模块可以被实现为单独的程序组件。
访问扫描仪包含用于检测正在打开、运行和保存在用户计算设备上的所有文件的恶意活动的功能。按需扫描仪与访问扫描仪的不同之处在于,它按照用户的需求扫描用户指定的文件和目录。
需要电子邮件防病毒软件来检查传入和传出的电子邮件是否包含恶意文件。网络防病毒软件用于防止执行用户访问的网站上可能包含的恶意代码,并且还用于阻止打开网站。HIPS模块用于检测不需要且恶意的程序活动,并在执行时阻止该程序活动。DLP模块用于检测和防止来自计算机或网络的机密数据的丢失。需要漏洞扫描仪来检测用户计算设备120上的漏洞(例如,保护系统101的某些组件已被关闭、废弃病毒数据库、网络端口已被关闭,等等)。防火墙根据指定规则提供对网络流量的监控和过滤。模拟器的操作包括在模拟器中执行代码期间模拟主机系统。行为分析器使用行为规则检测正在执行的文件的行为并按信任级别对这些文件分类——在文件的执行期间,行为分析器搜索已被登记调用的日志中的至少关于与威胁数据库中的行为规则相对应的API函数调用的记录。在一个方面,调用日志和威胁数据库被存储在用户计算设备120上。
行为规则包括在满足该规则的情况下调用至少一个API函数的记录和判决(例如,计算机病毒、因特网蠕虫、特洛伊木马程序或有条件的不需要软件)。
行为规则还对应在满足该规则时宣判的判决,即,与该规则相对应的最可能的恶意或不需要软件的类别。该判决例如可以如下:计算机病毒、因特网蠕虫、特洛伊木马程序或有条件的不需要软件。
这些模块在检测到恶意软件(可疑行为、垃圾邮件和计算机威胁的其它迹象)时创建相应的消息(该消息之后可以被转换为保护系统101的判决),该消息通知保护系统所检测到的威胁和采取动作(诸如移除或更改文件、禁止文件执行、等等)来消除该威胁的需求。在一个方面,已经检测到恶意软件的该模块可以执行消除威胁的动作。在另一个示例中,判决可以是不准确的或试验的判决(因为该判决可能产生误报),在这种情况下,保护系统可以不采取动作来消除威胁,而是将消息传递给云基础设施110。在一个方面,恶意软件包括类似信任级别的类别(判决对应于类别)——不可信、可信、中间、未分类。在另一方面,类别可以如下:恶意软件和有条件的不需要软件。恶意软件可以具有子类别——病毒、蠕虫、特洛伊木马、打包程序、恶意实用程序。有条件的不需要软件可以包括广告软件(广告程序)、涉及色情内容的软件(色情软件)、其使用可对计算机造成损害的合法软件(风险软件)等。
图4为示出了根据示例性方面的其上可实施用于确定文件的信任级别的系统和方法的各方面的计算机系统20的框图。应当注意,计算机系统20可以对应于例如前文所描述的系统100。计算机系统20可以为多个计算设备的形式、或单一计算设备的形式,例如:台式电脑、笔记本电脑、手提电脑、移动计算设备、智能手机、平板电脑、服务器、大型机、嵌入式设备和其它形式的计算设备。
如图所示,计算机系统20包括中央处理单元(Central Processing Unit,CPU)21、系统存储器22和连接各种系统部件的系统总线23,各种系统部件包括与中央处理单元21相关联的存储器。系统总线23可以包括总线存储器或总线存储器控制器、外围总线、以及能够与任何其它的总线架构交互的本地总线。总线的示例可以包括PCI、ISA、串行总线(PCI-Express)、超传输TM、无限带宽TM、串行ATA、I2C、和其它合适的互连。中央处理单元21(也称为处理器)可以包括单组或多组具有单核或多核的处理器。处理器21可以执行实现本发明的技术的一种或多种计算机可执行代码。系统存储器22可以为用于存储本文中所使用的数据和/或可由处理器21执行的计算机程序的任何存储器。系统存储器22可以包括易失性存储器(诸如随机存取存储器(Random Access Memory,RAM)25)和非易失性存储器(诸如只读存储器(Read-Only Memory,ROM)24、闪存等)或其任意组合。基本输入/输出系统(BasicInput/Output System,BIOS)26可以存储用于在计算机系统20的元件之间传输信息的基本程序,例如在使用ROM 24加载操作系统时的那些基本程序。
计算机系统20可以包括一个或多个存储设备,诸如一个或多个可移除存储设备27、一个或多个不可移除存储设备28、或其组合。一个或多个可移除存储设备27和一个或多个不可移除存储设备28借助存储器接口32连接到系统总线23。在一个方面,存储设备和相应的计算机可读存储介质为用于存储计算机系统20的计算机指令、数据结构、程序模块、和其它数据的电源独立的模块。系统存储器22、可移除存储设备27和不可移除存储设备28可以使用各种各样的计算机可读存储介质。计算机可读存储介质的示例包括:机器存储器,诸如缓存、SRAM(静态随机存取存储器)、DRAM(动态随机存取存储器)、零电容RAM、双晶体管RAM、eDRAM(增强型动态随机存取存储器)、EDO RAM(扩展数据输出随机存取存储器)、DDRRAM(双数据速率随机存取存储器)、EEPROM(电可擦可编程只读存储器)、NRAM(纳米管随机存取存储器)、RRAM(电阻式随机存取存储器)、SONOS(基于氧化硅-氮氧化硅的存储器)、PRAM(相变随机存取存储器);闪存或其它存储技术,诸如在固态驱动器(Solid StateDrive,SSD)或闪盘驱动器中;磁带盒、磁带、和磁盘存储器,诸如在硬盘驱动器或软盘驱动器中;光学存储器,诸如在光盘(CD-ROM)或数字通用光盘(Digital Versatile Disk,DVD)中;以及可用于存储期望数据且可被计算机系统20访问的任何其它介质。
计算机系统20的系统存储器22、可移除存储设备27和不可移除存储设备28可以用于存储操作系统35、附加应用程序37、其它程序模块38和程序数据39。计算机系统20可以包括用于传送来自输入设备40的数据的外围接口46,该输入设备40诸如键盘、鼠标、触针、游戏控制器、语音输入设备、触点输入设备、或其它外围设备,诸如借助一个或多个I/O端口的打印机或扫描仪,该一个或多个I/O端口诸如串行端口、并行端口、通用串行总线(Universal Serial Bus,USB)、或其它外围接口。显示设备47(诸如一个或多个监控器、投影仪或集成显示器)也可以通过输出接口48(诸如视频适配器)连接到系统总线23。除了显示设备47之外,计算机系统20还可以装配有其它外围输出设备(未示出),诸如扬声器和其它视听设备。
计算机系统20可以使用与一个或多个远程计算机49的网络连接而工作在网络环境中。所述一个或多个远程计算机49可以为本地计算机工作站或服务器,其包括前面在描述计算机系统20的性质时所述的元件中的大多数元件或全部元件。其它设备也可以存在于计算机网络中,诸如但不限于路由器、网站、对等设备或其它的网络节点。计算机系统20可以包括用于借助一个或多个网络而与远程计算机49通信的一个或多个网络接口51或网络适配器,该一个或多个网络诸如局域计算机网络(Local-Area computer Network,LAN)50、广域计算机网络(Wide-Area computer Network,WAN)、内联网、和因特网。网络接口51的示例可以包括以太网接口、帧中继接口、SONET(同步光纤网)接口、和无线接口。
本发明的方面可以为系统、方法和/或计算机程序产品。计算机程序产品可以包括一个或多个计算机可读存储介质,其上具有用于引起处理器执行本发明的方面的计算机可读程序指令。
计算机可读存储介质可以为有形设备,该有形设备可以保持且存储指令或数据结构的形式的程序代码,该程序代码可以被计算设备(诸如计算系统20)的处理器访问。计算机可读存储介质可以为电子存储设备、磁性存储设备、光学存储设备、电磁存储设备、半导体存储设备、或其任何合适组合。通过示例方式,这类计算机可读存储介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、EEPROM、便携式光盘只读存储器(CD-ROM)、数字通用光盘(DVD)、闪存、硬盘、便携式电脑磁盘、记忆棒、软盘、或甚至机械编码设备,诸如在其上记录有指令的凹槽中的打孔卡或凸起结构。如在本文中所使用,计算机可读存储介质不应被视为短暂信号本身,诸如无线电波或其它自由传播的电磁波、通过波导或传输介质传播的电磁波、或通过电线传输的电信号。
可以将本文中所描述的计算机可读程序指令从计算机可读存储介质下载到各个计算设备、或借助网络(例如,因特网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。该网络可以包括铜传输电缆、光学传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。在每个计算设备中的网络接口从网络接收计算机可读程序指令并转发该计算机可读程序指令,用以存储在相应计算设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以为汇编指令、指令集架构(Instruction-Set-Architecture,ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或以一种或多种编程语言(包括面向对象的编程语言和传统程序化编程语言)的任意组合编写的源代码或目标代码。计算机可读程序指令可以完全地在用户的计算机上、部分地在用户的计算机上(作为独立的软件包)、部分地在用户的计算机上且部分地在远程计算机上、或完全地在远程计算机或服务器上执行。在后一种场景中,远程计算机可以通过任何类型的网络(包括LAN或WAN)连接到用户的计算机,或可以进行与外部计算机的连接(例如通过因特网)。在一些方面,电子电路(包括例如可编程逻辑电路、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA))可以通过利用计算机可读程序指令的状态信息而执行计算机可读程序指令从而使该电子电路个性化,以便执行本发明的方面。
在各个方面,本发明中所描述的系统和方法可以按照模块来处理。本文中所使用的术语“模块”指的是例如现实世界的设备、部件、或使用硬件(例如通过专用集成电路(Application Specific Integrated Circuit,ASIC)或FPGA)实现的组件的布置,或者指的是硬件和软件的组合,例如通过微处理器系统和实现模块功能的指令集(该指令集在被执行时将微处理器系统转换成专用设备)来实现这样的组合。一个模块还可以被实施为两个模块的组合,其中单独地通过硬件促进某些功能,并且通过硬件和软件的组合促进其它功能。在某些实现方式中,模块的至少一部分(以及在一些情况下,模块的全部)可以在计算机系统(例如上文在图4中更详细描述的计算机系统)的处理器上运行。因此,每个模块可以以各种适合的配置来实现,而不应受限于本文中所例示的任何特定的实现方式。
为了清楚起见,本文中没有公开各个方面的所有例行特征。应当领会的是,在本发明的任何实际的实现方式的开发中,必须做出许多特定于实现方式的决定,以便实现开发者的特定目标,并且这些特定目标将对于不同的实现方式和不同的开发者变化。应当理解的是,这种开发努力会是复杂的且费时的,但对于了解本发明的优点的本领域的普通技术人员来说仍然是工程的例行任务。
此外,应当理解的是,本文中所使用的措辞或术语出于描述而非限制的目的,从而本说明书的术语或措辞应当由本领域技术人员根据本文中所提出的教导和指导结合(一个或多个)相关领域技术人员的知识来解释。此外,不旨在将本说明书或权利要求中的任何术语归于不常见的或特定的含义,除非明确如此阐述。
本文中所公开的各个方面包括本文中以说明性方式所引用的已知模块的现在和未来已知的等同物。此外,尽管已经示出并描述了各个方面和应用,但是对于了解本发明的优点的本领域技术人员将显而易见的是,在不脱离本文中所公开的发明构思的前提下,相比于上文所提及的内容而言的更多修改是可行的。

Claims (21)

1.一种用于确定文件的信任级别的方法,所述方法包括:
选择稳定的文件名;
从具有选择的所述文件名的至少两个文件生成至少一个文件组,所述至少两个文件是同一应用程序的组成部分;
搜索主导开发者的存在,该主导开发者使得该主导开发者的至少一个私钥已用于对生成的所述文件组中的至少一个文件进行签名;
当找到主导开发者时,根据与所述主导开发者相关联的判决确定所述组中的所有文件的信任级别;以及
当未找到所述主导开发者时,基于已经分配给所述组中的文件的外部服务的判决确定所述组中的所有文件的信任级别。
2.根据权利要求1所述的方法,其中,所述信任级别是根据与所述主导开发者相关联的如下判决所确定的:该判决基于已经分配给所述组中的文件的外部服务的判决。
3.根据权利要求1所述的方法,其中,所述信任级别是根据与所述主导开发者相关联的如下判决所确定的:该判决基于已经分配给用户的计算设备上的至少一个文件的外部服务的判决,所述至少一个文件不属于所述组但用所述主导开发者的所述私钥签名。
4.根据权利要求1所述的方法,其中,所述信任级别是根据与所述主导开发者相关联的如下判决所确定的:该判决基于已经分配给所述主导开发者的另一个组中的文件的外部服务的判决,所述另一个组中的文件在用户间的运行频率大于运行频率的预定阈值。
5.根据权利要求1所述的方法,其中,所述外部服务包括如下项中的至少一者:存储有所述文件的至少一个计算设备的至少一个保护系统、以及与所述至少一个计算设备通信地联接的云基础设施的任何数量的服务器。
6.根据权利要求5所述的方法,其中,所述云基础设施汇总且存储从所有计算设备接收的数据,其中,数据是给定计算设备的保护系统基于由所述给定计算设备的用户所选的机密性设置所收集的。
7.根据权利要求6所述的方法,其中,当所选的所述机密性设置指示制止数据收集时,选择所述制止所针对的计算设备的文件的本地数据库上的数据包括仅关于具有预定特性的文件的信息,所述预定特性包括如下项中的至少一者:文件是可执行的、文件是沿着预定路径存储的、和文件具有一组预定扩展名。
8.一种用于确定文件的信任级别的系统,所述系统包括:
至少一个处理器,所述至少一个处理器配置成:
选择稳定的文件名;
从具有选择的所述文件名的至少两个文件生成至少一个文件组,所述至少两个文件是同一应用程序的组成部分;
搜索主导开发者的存在,该主导开发者使得该主导开发者的至少一个私钥已用于对生成的所述文件组中的至少一个文件进行签名;
当找到主导开发者时,根据与所述主导开发者相关联的判决确定所述组中的所有文件的信任级别;以及
当未找到所述主导开发者时,基于已经分配给所述组中的文件的外部服务的判决确定所述组中的所有文件的信任级别。
9.根据权利要求8所述的系统,其中,所述信任级别是根据与所述主导开发者相关联的如下判决所确定的:该判决基于已经分配给所述组中的文件的外部服务的判决。
10.根据权利要求8所述的系统,其中,所述信任级别是根据与所述主导开发者相关联的如下判决所确定的:该判决基于已经分配给用户的计算设备上的至少一个文件的外部服务的判决,所述至少一个文件不属于所述组但用所述主导开发者的所述私钥签名。
11.根据权利要求8所述的系统,其中,所述信任级别是根据与所述主导开发者相关联的如下判决所确定的:该判决基于已经分配给所述主导开发者的另一个组中的文件的外部服务的判决,所述另一个组中的文件在用户间的运行频率大于运行频率的预定阈值。
12.根据权利要求8所述的系统,其中,所述外部服务包括如下项中的至少一者:存储有所述文件的至少一个计算设备的至少一个保护系统、以及与所述至少一个计算设备通信地联接的云基础设施的任何数量的服务器。
13.根据权利要求12所述的系统,其中,所述云基础设施汇总且存储从所有计算设备接收的数据,其中,数据是给定计算设备的保护系统基于由所述给定计算设备的用户所选的机密性设置所收集的。
14.根据权利要求13所述的系统,其中,当所选的所述机密性设置指示制止数据收集时,选择所述制止所针对的计算设备的文件的本地数据库上的数据包括仅关于具有预定特性的文件的信息,所述预定特性包括如下项中的至少一者:文件是可执行的、文件是沿着预定路径存储的、和文件具有一组预定扩展名。
15.一种非暂时性计算机可读介质,所述非暂时性计算机可读介质上存储有用于确定文件的信任级别的计算机可执行指令,所述计算机可执行指令包括用于如下操作的指令:
选择稳定的文件名;
从具有选择的所述文件名的至少两个文件生成至少一个文件组,所述至少两个文件是同一应用程序的组成部分;
搜索主导开发者的存在,该主导开发者使得该主导开发者的至少一个私钥已用于对生成的所述文件组中的至少一个文件进行签名;
当找到主导开发者时,根据与所述主导开发者相关联的判决确定所述组中的所有文件的信任级别;以及
当未找到所述主导开发者时,基于已经分配给所述组中的文件的外部服务的判决确定所述组中的所有文件的信任级别。
16.根据权利要求15所述的非暂时性计算机可读介质,其中,所述信任级别是根据与所述主导开发者相关联的如下判决所确定的:该判决基于已经分配给所述组中的文件的外部服务的判决。
17.根据权利要求15所述的非暂时性计算机可读介质,其中,所述信任级别是根据与所述主导开发者相关联的如下判决所确定的:该判决基于已经分配给用户的计算设备上的至少一个文件的外部服务的判决,所述至少一个文件不属于所述组但用所述主导开发者的所述私钥签名。
18.根据权利要求15所述的非暂时性计算机可读介质,其中,所述信任级别是根据与所述主导开发者相关联的如下判决所确定的:该判决基于已经分配给所述主导开发者的另一个组中的文件的外部服务的判决,所述另一个组中的文件在用户间的运行频率大于运行频率的预定阈值。
19.根据权利要求15所述的非暂时性计算机可读介质,其中,所述外部服务包括如下项中的至少一者:存储有所述文件的至少一个计算设备的至少一个保护系统、以及与所述至少一个计算设备通信地联接的云基础设施的任何数量的服务器。
20.根据权利要求19所述的非暂时性计算机可读介质,其中,所述云基础设施汇总且存储从所有计算设备接收的数据,其中,数据是给定计算设备的保护系统基于由所述给定计算设备的用户所选的机密性设置所收集的。
21.根据权利要求20所述的非暂时性计算机可读介质,其中,当所选的所述机密性设置指示制止数据收集时,选择所述制止所针对的计算设备的文件的本地数据库上的数据包括仅关于具有预定特性的文件的信息,所述预定特性包括如下项中的至少一者:文件是可执行的、文件是沿着预定路径存储的、和文件具有一组预定扩展名。
CN202010237451.2A 2019-06-28 2020-03-30 确定文件的信任级别的系统和方法 Pending CN112149126A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
RU2019120220 2019-06-28
RU2019120220A RU2750628C2 (ru) 2019-06-28 2019-06-28 Система и способ определения уровня доверия файла
US16/669,798 US11275836B2 (en) 2019-06-28 2019-10-31 System and method of determining a trust level of a file
US16/669,798 2019-10-31

Publications (1)

Publication Number Publication Date
CN112149126A true CN112149126A (zh) 2020-12-29

Family

ID=70921786

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010237451.2A Pending CN112149126A (zh) 2019-06-28 2020-03-30 确定文件的信任级别的系统和方法

Country Status (1)

Country Link
CN (1) CN112149126A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113282921A (zh) * 2021-06-11 2021-08-20 深信服科技股份有限公司 一种文件检测方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090083731A1 (en) * 2007-09-24 2009-03-26 Sobel William E Software publisher trust extension application
EP2169583A1 (en) * 2008-09-26 2010-03-31 Symantec Corporation Method and apparatus for reducing false positive detection of malware
CN102822839A (zh) * 2009-12-31 2012-12-12 迈克菲股份有限公司 经由信誉系统的恶意软件检测
US8650649B1 (en) * 2011-08-22 2014-02-11 Symantec Corporation Systems and methods for determining whether to evaluate the trustworthiness of digitally signed files based on signer reputation
US20140283065A1 (en) * 2013-03-15 2014-09-18 John Teddy Server-assisted anti-malware client
CN109684832A (zh) * 2017-10-19 2019-04-26 卡巴斯基实验室股份制公司 检测恶意文件的系统和方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090083731A1 (en) * 2007-09-24 2009-03-26 Sobel William E Software publisher trust extension application
EP2169583A1 (en) * 2008-09-26 2010-03-31 Symantec Corporation Method and apparatus for reducing false positive detection of malware
CN102822839A (zh) * 2009-12-31 2012-12-12 迈克菲股份有限公司 经由信誉系统的恶意软件检测
US8650649B1 (en) * 2011-08-22 2014-02-11 Symantec Corporation Systems and methods for determining whether to evaluate the trustworthiness of digitally signed files based on signer reputation
US20140283065A1 (en) * 2013-03-15 2014-09-18 John Teddy Server-assisted anti-malware client
CN109684832A (zh) * 2017-10-19 2019-04-26 卡巴斯基实验室股份制公司 检测恶意文件的系统和方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113282921A (zh) * 2021-06-11 2021-08-20 深信服科技股份有限公司 一种文件检测方法、装置、设备及存储介质

Also Published As

Publication number Publication date
EP3758330A1 (en) 2020-12-30

Similar Documents

Publication Publication Date Title
US11677764B2 (en) Automated malware family signature generation
US11055411B2 (en) System and method for protection against ransomware attacks
EP3474176B1 (en) System and method of detecting a malicious file
US9846776B1 (en) System and method for detecting file altering behaviors pertaining to a malicious attack
JP7084778B2 (ja) 標的型攻撃をクラウド型検出、探索および除去するシステムおよび方法
US10476894B2 (en) Evaluating installers and installer payloads
EP3814961B1 (en) Analysis of malware
US11409862B2 (en) Intrusion detection and prevention for unknown software vulnerabilities using live patching
US10009370B1 (en) Detection and remediation of potentially malicious files
US11829467B2 (en) Dynamic rules engine in a cloud-based sandbox
CN110119619B (zh) 创建防病毒记录的系统和方法
US10262131B2 (en) Systems and methods for obtaining information about security threats on endpoint devices
US8640242B2 (en) Preventing and detecting print-provider startup malware
US11275836B2 (en) System and method of determining a trust level of a file
CN112149126A (zh) 确定文件的信任级别的系统和方法
US9075989B2 (en) Identifying misuse of legitimate objects
CN113824678B (zh) 处理信息安全事件的系统、方法和非暂时性计算机可读介质
CN110659478A (zh) 在隔离的环境中检测阻止分析的恶意文件的方法
US20220058261A1 (en) System and method for identifying a cryptor that encodes files of a computer system
EP3758330B1 (en) System and method of determining a trust level of a file
US11886584B2 (en) System and method for detecting potentially malicious changes in applications
EP4095727A1 (en) System and method for detecting potentially malicious changes in applications
US20240214399A1 (en) System and method for filtering events for transmission to remote devices
EP3961449B1 (en) System and method for identifying a cryptor that encodes files of a computer system
US20230259612A1 (en) Exploit detection in a cloud-based sandbox

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