针对恶意软件检测的动态隔离的制作方法
【技术领域】
[0001]本发明的实施例一般涉及计算机安全和恶意软件防护,更具体地涉及针对恶意软件检测的动态隔离。
【背景技术】
[0002]计算机以及其它电子设备上感染恶意软件是非常烦人并且难以检测和修复的。反恶意软件方案可能需要将恶意代码或文件的签名与已评估软件进行匹配,来确定该软件对于计算系统是有害的。恶意软件可以通过使用多态程序或可执行文件来伪装自身,其中恶意软件改变自身以避免被反恶意软件方案检测到。在这种情况下,反恶意软件方案可能在零日攻击中不能检测到新的或变形的恶意软件。恶意软件可以包括但不限于间谍软件、隐匿技术、密码窃取程序、垃圾邮件、钓鱼攻击源、拒绝服务攻击源、病毒、记录器、木马、广告软件、或任意其它产生不希望活动的数字内容。
【附图说明】
[0003]为了更全面理解本发明的实施例及其特征和优点,现在结合附图参考以下描述,在附图中:
[0004]图1是用于针对恶意软件检测的动态隔离的示例性系统的图示;
[0005]图2是示例性信誉服务器的配置和操作的图示;
[0006]图3是用于针对恶意软件检测的动态隔离的系统的示例性操作的图示;
[0007]图4是基于被配置为执行或扫描电子设备的监视器的系统的示例性实施例的图示;
[0008]图5是用于针对恶意软件检测的动态隔离的方法的示例性实施例的图示;
[0009]图6是用于分析数据的方法的示例性实施例的图示;以及
[0010]图7是用于比较恶意软件的量化可能性的方法的示例性实施例的图示。
【具体实施方式】
[0011]图1是用于针对恶意软件检测的动态隔离的示例性系统100的图示。系统100可以配置为执行监视器102以评估通过动态隔离的恶意软件的诸如数据112的信息。在一个实施例中,数据112可以驻留在监视器102配置为扫描恶意软件的电子设备上。在另一实施例中,监视器102可以配置为拦截或接收数据112。监视器102可以配置为评估数据112的恶意软件状态或信誉,将数据112放置进隔离区106,并在时延后重新评估数据112的恶意软件状态或信誉。在一个实施例中,监视器102可以被配置为将数据112放置进隔离区106,并且如果原始评估确定数据112的恶意软件状态未知或不能充分确定则重新评估数据112。在重新评估数据112期间,监视器102可以配置为确定数据112的恶意软件状态现在是否是已知的,或者已经改变,并且基于重新评估的结果而允许或阻挡数据112。此外,监视器102可以被配置为在数据112的恶意软件状态继续为未知的或未被充分确定时继续重复重新评估过程。
[0012]监视器102可以被配置为在系统100的任意适当部分上执行。监视器102可以被配置为例如在服务器、计算机、节点、网关、路由器、发送器或接收器上执行。在一个实施例中,监视器102可以在诸如网络网关104的网络管理设备上执行。
[0013]网络网关104可以被配置为提供对网络、广域网、内联网、移动网络、子网络或诸如局域网(LAN) 126的其它设施的访问。在一个实施例中,网络网关104可以包含于LAN 126中。在另一实施例中,网络网关104可以在LAN 126之外。网络网关104可以包括网络应用114,其被配置为代表LAN 126上的节点或其它设备执行网络网关服务。网络网关104可以被配置为提供LAN 126和其它网络(例如,内联网、网络、子网络或互联网)之间的访问。其部分可以包括如图1所示的网络122。网络网关104可以被配置为从LAN 126外部接收意图目的地在LAN 126内(例如,客户端电子设备108)的诸如数据112的业务量。业务量可以源自网络节点110,其可以包括网络、子网络、服务器、网站或其它适当的实体,并可以经过网络122到达网络网关104。客户端电子设备108可以包括例如计算机、膝上型计算机、服务器、手持计算设备、网络设备、或其它通信地耦合在LAN 126上的数字实体。
[0014]监视器102可以位于网络网关104上,或者在任意其它电子设备、服务器或其它扫描恶意软件的适当机构上。监视器102可以实现于例如任意应用、过程、脚本、模块、可执行文件、可执行程序、服务器、可执行对象、库、或其它适当的数字实体。监视器102可以包括逻辑或由处理器(如处理器118)执行的指令。监视器102的指令的逻辑可以驻留在通信的耦合到处理器118的存储器120内。
[0015]处理器118可以包括例如微处理器、微控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、或配置为解译和/或执行程序指令和/或处理数据的任意其它数字或模拟电路。在一些实施例中,处理器118可以解译和/或执行程序指令和/或处理存储于存储器120中的数据。存储器120可以被部分或整体地配置为应用存储器、系统存储器,或两者。存储器120可以包括被配置为保持和/或容纳一个或多个存储器模块的任意系统、设备或装置。每个存储器模块可以包括被配置为在一段时间内保留程序指令和/或数据的任意系统、设备或装置(例如,计算机可读介质)。
[0016]在一个实施例中,监视器102可以通信地耦合到网络应用114或耦合到网络网关104的其它部分,以便接收或扫描数据112。监视器102可以以任意适当方式访问数据112,例如通过直接拦截数据112或通过在接收到数据112时被网络应用114访问或调用。在另一实施例中,监视器102可以访问数据112,例如通过扫描存储器内或电子设备(如网络网关104或客户端电子设备108)的磁盘上的恶意软件。
[0017]数据112可以包括例如电子邮件、电子邮件附件、文件、可执行文件、可执行程序、脚本、代码、应用或其它实体。数据112的待被监视器102分析的部分可以包括例如诸如代码的可执行内容、诸如已知被恶意软件利用的敏感数据部分、到第三方的超链接或其它地址、发送方地址、消息文本、垃圾邮件指示符、或其它适当的信息。监视器102可以被配置为通过创建数字签名或基于内容的哈希值来唯一地识别数据112的一部分。唯一标识可以被监视器102用于查找信息源中针对恶意软件相关信息的数据112。
[0018]网络节点110可以包括服务器、网站或可由客户端电子设备108或系统100中的另一实体访问的其它网络实体。网络节点I1可以包含数据112形式的恶意内容。恶意内容可以用于伪装下载,并由客户端电子设备108上的恶意代理启动。例如,在客户端电子设备108上执行的恶意软件可以接触网络节点110来下载额外内容(数据112形式的),以利用客户端电子设备108的系统资源。网络节点110可以假冒合法数据、电子邮件、页面或用于客户端电子设备108的其它内容。客户端电子设备108可能试图下载恶意应用、电子邮件、电子邮件附件、数据、文件、代码或其它内容(数据112形式的)。例如,客户端电子设备108上的网络浏览器应用可以针对看似合法的网站访问网络节点110,但是作为数据112用于在客户端电子设备108上执行的部分下载的脚本可能包括恶意软件。在另一例子中,网络节点110可以发送看似合法但是具有恶意电子邮件附件的电子邮件或转移看似合法的文件。这种附件或文件例如可以包括可执行文件、可执行程序、脚本、或对于已知应用看起来无害的数据文件,例如文字处理文件、.PDF文件或JavaScript。因此,恶意软件可以感染客户端电子设备108,例如作为恶意应用执行或通过利用已知应用中的弱点。恶意软件可以通过使得应用打开、运行或执行文件或嵌有利用已知应用的弱点的指令的代码来利用已知应用中的弱点。这种恶意软件攻击可以包括那些利用堆栈、堆或其它缓冲区超限或溢出。
[0019]监视器102可以通信地耦合到反病毒数据库116,反病毒数据库116可以包括签名、库、启发式规则、白名单一包含关于已知安全的数据、软件或网站的信息、黑名单一包含关于已知与恶意软件相关联的数据、软件或网站的信息、或任意其它关于识别恶意软件的信息。监视器102可以被配置为比较诸如数据112的接收到的信息与反病毒数据库116,以确定接收到的信息是否是恶意的或与恶意软件相关联。反病毒数据库116可以本地存储于监视器102中,例如在网络网关114中。监视器102或其它适当的实体可以被配置为周期性地根据反病毒服务器更新反病毒数据库116的内容。反病毒数据库116可以任意适当方式实现,例如用文件、记录、数据结构、库、应用、脚本或数据库。
[0020]然而,假定反病毒数据库116在本地实现,其中所包含的内容和信息可能不是完全最新的。另外,反病毒数据库116可能没有关于恶意软件的“零日”攻击的信息,其中首次遭遇恶意软件的特定实例。此外,反病毒数据库116可能不能访问各种信息资源,例如来自各种反恶意软件客户端或反恶意软件实验室结果的领域报告。因此,监视器102可以被配置为通过计算云访问反恶意软件服务器,以确定最新的反恶意软件信息。这种反恶意软件服务器可以包括例如信誉服务器126。
[0021]监视器102可以被配置为访问信誉服务器126,以确定接收到的信息(例如,数据112)的恶意软件状态。信誉服务器126可以作为云计算机服务或网络124上的软件即服务而执行和运行。网络124可以包括例如,互联网、内联网、广域网、回程网络、对等网络、或其任意组合。如果监视器102尝试访问信誉服务器126并且信誉服务器126出于任意原因而不可用,则监视器102可以被配置为再次重复尝试。这种重复尝试可以在监视器102针对到信誉服务器126的给定数据片的第一次确定或在监视器102针对给定数据片的后续确定时做出。
[0022]针对给定信息片,例如数据112,信誉服务器126可以被配置为确定数据112是否与恶意软件相关联。在一个实施例中,信誉服务器126可以被配置为提供对数据112的分析,其中并不明确知道数据112是否与恶意软件相关联。如果明确知道例如数据112的内容的哈希值是否与恶意软件匹配,或者数据112的发送地址是已知的恶意软件网络服务器,那么将规则发送给例如监视器102的各种反恶意软件客户端。诸如监视器102的客户端随后将确定所接收到的数据112是恶意的并采取合适的校正动作。然而,在一些情况下,可能不能明确知道数据112是否与恶意软件相关联。例如,先前未遭遇过的哈希值、签名或网络地址可能包含于数据112中。在另一例子中,分析数据112的哈希值、签名或网络地址可能不会得到数据112是安全或是不安全的明确结论的确定。因此,信誉服务器126可以被配置为针对各种软件和网络地址来跟踪报告、实例以及相关联信息,以确定软件或网络地址是恶意的可能性。该可能性可以基于任意合适的标准,例如所报告的实例的分布、试图传输的源、证书状态、或其它可疑动作的指示。分别来说,这些可疑动作的指示并不能明确证明数据112的恶意软件状态。然而,信誉服务器126可以将其用作提供对数据112是恶意的可能性的估计的因素。此外,可疑活动的指示可以实时变化,例如当从各个客户端报告软件,或网络服务器被损坏时,使得其参与恶意软件攻击。信誉服务器126可以被配置为向监视器102提供数据112是恶意的可能性的量化。
[0023]图2是示例性信誉服务器126的配置和操作的图示。信誉服务器126可以包括信誉服务器应用232,其配置为处理用于恶意软件分析的请求