用于检测恶意命令和控制通道的系统和方法.pdf

上传人:000****221 文档编号:624644 上传时间:2018-02-26 格式:PDF 页数:17 大小:1.14MB
返回 下载 相关 举报
摘要
申请专利号:

CN201280053582.9

申请日:

2012.09.28

公开号:

CN104067280A

公开日:

2014.09.24

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 21/55申请日:20120928|||公开

IPC分类号:

G06F21/55(2013.01)I

主分类号:

G06F21/55

申请人:

迈可菲公司

发明人:

R.巴鲁帕里; V.马哈迪克; B.马德胡苏丹; C.H.沙

地址:

美国加利福尼亚州

优先权:

2011.10.18 US 13/276244

专利代理机构:

中国专利代理(香港)有限公司 72001

代理人:

张金金;汤春龙

PDF下载: PDF下载
内容摘要

在一个示例实施例中提供方法,其包括检测从源节点到目的地节点的重复连接、基于这些连接对源节点计算分数以及如果分数超出阈值分数则采取策略动作。在更特定的实施例中,重复连接使用超文本传输协议并且可包括通向少量唯一域的连接、通向与目的地节点关联的少量唯一资源的连接和/或通向域中的资源的大量连接。此外,启发法可用于对源节点记分并且识别指示威胁的行为,例如爬虫软件(bot)或其他恶意软件(malware)。

权利要求书

1.   一种方法,包括:
检测从空闲源节点到目的地节点的重复连接;
基于所述重复连接的行为对所述空闲源节点计算分数;
如果所述分数超出阈值则采取策略动作。

2.
   如权利要求1所述的方法,其中所述重复连接使用超文本传输协议。

3.
   如权利要求1所述的方法,其中检测所述重复连接包括:
检测通向超过X个地址的连接;
在预定时间段内检测通向少于Y个唯一地址的连接;以及
检测通向与所述唯一地址中的至少一个关联的少于Z个唯一资源标识符的连接;
其中X、Y和Z是指示与不是由人员用户产生的重复连接一致的模式的参数。

4.
   如权利要求1所述的方法,其中计算所述分数包括使用启发法来识别指示威胁的行为。

5.
   如权利要求1所述的方法,其中计算所述分数包括使用启发法来识别指示bot命令和控制通道的行为。

6.
   如权利要求1所述的方法,其中计算所述分数包括如果所述目的地节点与在一年内注册的域关联则使所述分数增加。

7.
   如权利要求1所述的方法,其中计算所述分数包括如果所述重复连接中的至少一个不具有引用字段并且不具有根资源标识符则使所述分数增加。

8.
   如权利要求1所述的方法,其中计算所述分数包括如果所述重复连接中的至少一个未识别已知用户代理则使所述分数增加。

9.
   如权利要求1所述的方法,其中计算所述分数包括如果所述重复连接中的至少一个通过公共网络地址识别所述目的地节点则使所述分数增加。

10.
   如权利要求1所述的方法,其中计算所述分数包括如果所述重复连接具有小于X个平均请求首标行则使所述分数增加,其中X是指示通向所述目的地节点的malware连接的参数。

11.
   如权利要求1所述的方法,其中计算所述分数包括如果所述重复连接具有小于X的平均响应大小则使所述分数增加,其中X是指示来自命令和控制服务器的响应的参数。

12.
   如权利要求1所述的方法,其中计算所述分数包括请求与所述目的地节点关联的信誉值并且如果所述信誉值指示所述目的地节点与威胁关联则使所述分数增加。

13.
   如权利要求1所述的方法,其中计算所述分数包括如果所述目的地节点具有在与威胁关联的地带中的网络地址则使所述分数增加。

14.
   一种方法,包括:
检测由源节点发起的重复连接;
如果所述重复连接包括在一段时间内通向至少X个资源、在所述时间段内通向小于Y个唯一地址以及在所述时间段内对于所述唯一地址中的至少一个通向小于Z个唯一资源的连接,则基于所述重复连接对所述源节点计算分数,其中X、Y和Z是指示与威胁一致的行为的参数;以及
如果所述分数超出阈值分数则采取策略动作。

15.
   如权利要求14所述的方法,其中计算所述分数包括使用启发法来识别指示所述威胁的行为。

16.
   如权利要求14所述的方法,其中所述重复连接使用超文本传输协议。

17.
   如权利要求14所述的方法,其中所述威胁是连接到命令和控制服务器的bot。

18.
   如权利要求14所述的方法,其中X大于或等于10,Y小于或等于5并且Z小于或等于5。

19.
   如权利要求14所述的方法,其中所述时间段是至少八个小时。

20.
   如权利要求14所述的方法,其中:
所述威胁是使用超文本传输协议连接到命令和控制服务器的bot;
X大于或等于10,Y小于或等于5并且Z小于或等于5;
所述时间段是至少八个小时;
计算所述分数包括使用启发法来识别指示所述威胁的行为;以及
所述策略动作是向管理员发送警告。

说明书

用于检测恶意命令和控制通道的系统和方法
技术领域
该说明书大体上涉及网络安全,并且更特定地,涉及用于检测恶意命令和控制通道的系统和方法。
背景技术
网络安全的领域在现今的社会中已变得越来越重要。因特网遍布全世界实现不同计算机网络的互连。然而,有效保护并且维持稳定的计算机和系统的能力对于部件制造商、系统设计师和网络运营商呈现出重大障碍。该障碍由于由恶意操作者实施的不断发展的一系列战术而变得甚至更复杂。如果某些类型的恶意软件可能感染主计算机,它还可能够进行许多有敌意、侵入或骚扰动作,例如从主计算机发出垃圾邮件或恶意email、从与主计算机关联的企业或个体窃取敏感信息、传播到其他主计算机和/或帮助分布式拒绝服务攻击。另外,恶意操作者可以向其他恶意操作者出售或用别的方式准许其他恶意操作者访问,由此扩大主计算机的利用。因此,对于开发创新工具来对抗允许恶意操作者利用计算机的战术仍然存在重大挑战。
附图说明
为了提供对本公开及其特征和优势的更完整理解,结合附图参考下面的描述,其中类似的标号代表类似的部件,其中:
图1是图示根据该说明书的网络环境(其中可检测恶意命令和控制通道)的示例实施例的简化框图;
图2是图示可与网络环境的关联的额外细节的简化框图;
图3是图示可与网络环境关联的潜在操作的简化流程图;
图4是图示可与网络环境关联的额外操作的简化流程图;
图5是图示可与网络环境关联的再其他操作的简化流程图。
具体实施方式
综览
在一个示例实施例中提供方法,其包括检测从源节点到目的地节点的重复连接、基于这些连接对源节点计算分数以及如果分数超出阈值分数则采取策略动作。
在更特定的实施例中,重复连接使用超文本传输协议并且可包括到少量唯一域的连接、到与目的地节点关联的少量唯一资源的连接和/或到域中的资源的大量连接。此外,启发法可用于对源节点记分并且识别指示威胁的行为,例如爬虫软件(bot)或其他恶意软件(malware)。
示例实施例
转向图1,图1是其中可检测恶意命令和控制通道的网络环境100的示例实施例的简化框图。网络环境100可包括具有例如主机110a-110d等节点的局域网105,这些节点可通过具有僵尸网络检测模块(botnet detection module)122的传感器120连接到因特网115。节点一般是任何系统、机器、装置、网络元件、客户端、服务器、对等装置、服务、应用或能够在网络上发送并且接收数据的其他对象。网络环境100中的节点之间的链路代表两个节点可以通过其而通信的任何介质。该介质可以是例如导线或光纤缆线等有形介质,或例如用于无线通信的无线电波等无形介质。
从而,主机110a-110d中的每个可彼此通信并且与连接到因特网115的远程节点(例如web服务器125或邮件服务器130)通信。主机110a-110d还可例如通过邮件服务器130与远程主机135交换email消息。一般,主机110a-110d可以是能够运行程序并且与操作者交互的任何类型的节点。在它最常见的意义上,主机大体上包括附连的输入装置和附连的输出装置,但额外或备选地可包括用于与操作者远程交互的接口。例如,主机可以是台式计算机、工作站计算机、服务器、便携式电脑、平板计算机(例如,iPad)或移动电话(例如,iPhone)。在该示例网络环境100中,例如主机110b等主机可被bot 140损害,bot 140大体上代表可在远程软件、装置、机器或系统(例如命令和控制(C&C)服务器145)的控制之下的任何恶意软件(“malware”)。
图1的元件中的每个可通过简单的网络接口或通过任何其他适合的连接(有线或无线)而耦合于彼此,这对网络通信提供可行路径。另外,这些元件中的任何一个或多个可基于特定配置需要而组合或从架构去除。网络环境100可包括能够进行传输控制协议/因特网协议(TCP/IP)通信以用于在网络中传送或接收包的配置。网络环境100还可连同用户数据报协议/IP(UDP/IP)或任何其他适合的协议(在适合的情况下)并且基于特定需要而操作。
为了说明用于检测恶意命令和控制通道(例如可由基于web的僵尸网络使用)的系统和方法的技术的目的,重要的是理解某些活动在给定网络内出现。下面的基本信息可视为本公开可正确地从其解释的基础。这样的信息最早仅为了说明目的而提供,因此,不应采用任何方式解释来限制本公开和它的潜在应用的广泛范围。
在组织中以及由个体使用的典型的网络环境包括与其他网络电子通信的能力。例如,因特网可用于访问在远程服务器上托管的web页面、发送或接收电子邮件(即,email)消息或交换文件。然而,用于干扰正常操作并且获得对机密信息的访问的新战术持续出现。威胁包括能够通过对计算机、网络和/或数据的未经授权的访问、未经授权的销毁、披露和/或修改数据和/或拒绝服务而干扰计算机或网络的正常操作的任何活动。
僵尸网络特别地代表对计算机安全的日益增加的威胁。在许多情况下,它们采用精密的攻击方案,其包括众所周知和新的致命性的组合。僵尸网络大体上使用客户端-服务器架构,其中一类恶意软件(即,bot)被放置在主计算机上并且与命令和控制服务器通信,该命令和控制服务器可由僵尸网络操作者控制。通常,僵尸网络由大量的bot组成,其操作者通过各种通道(其包括因特网中继对话(IRC)和对等(P2P)通信)使用命令和控制协议而控制。Bot可从命令和控制服务器接收命令来进行特定恶意活动,并且因此,可执行这样的命令。Bot还可将任何结果或偷窃的信息发送回到命令和控制服务器。
僵尸网络攻击大体上遵循相同的生命周期。首先,主机(例如,台式计算机)可被malware损害。“Malware”通常用作对于任何有敌意的、侵入的或骚扰软件(例如计算机病毒、Trojan、worm、bot、间谍软件、广告软件等)的标签,但还可包括其他恶意软件。Malware可颠覆受损方,从而给予bot操作者对它的控制。bot操作者然后可使用这样的计算机用于恶意活动,例如拒绝服务攻击。除接收命令来进行恶意活动外,bot典型地还包括一个或多个传播矢量,其使它能够在组织的网络内或跨其他网络到其他组织或个体蔓延。常见的传播矢量包括利用本地网络内的主机上的已知致命性并且发送具有附连的恶意程序的恶意email或在这些email内提供恶意链接。
现有的防火墙和网络入侵防护技术通常不足以识别并且遏制许多僵尸网络。Bot通常设计成发起与命令和控制服务器的通信并且伪装成正常的web浏览器业务。现代的僵尸网络(其包括高级持续性威胁(APT))可利用隐写技术以隐藏在普通场景中,例如使用使得bot似乎进行到web服务器的正常网络连接的命令和控制协议。例如,bot可使用典型地与web服务器通信的端口。这些通信对于管理员可非常难以与合法的网络业务区分。因此,这样的bot在不进行web业务的更详细包检查的情况下可不被现有的技术检测到。此外,一旦发现bot,僵尸网络操作者可简单地找到由bot伪装网络业务的另一个方式来继续呈现为正常web业务。最近,僵尸网络操作者还精心制作bot来使用例如安全套接层(SSL)等加密协议,由此对恶意网络业务加密。这样的加密业务可使用超文本传输协议安全(HTTPS)端口使得仅加密会话中牵涉的端点可以解密数据。从而,现有的防火墙和其他网络入侵防护技术不能进行web业务的任何有意义检查。因此,Bot继续感染网络内的主计算机。
一些信誉系统还可以对特定僵尸网络提供可行的防御。一般,信誉系统监视活动并且基于过去的行为分配信誉值或分数。该信誉值可在从善良到恶意的图谱上指示不同的信赖度水平。例如,可基于与地址或起源于地址的email进行的网络连接对网络地址计算连接信誉值(例如,最小风险、未经证实、高风险,等),其中“网络地址”在广泛意义上使用来包括任何形式的对节点或资源寻址,其包括例如媒体访问控制(MAC)地址、IP地址或域名。连接信誉系统可用于拒绝与具有不可接受的连接信誉(例如指示IP地址已知与或可能与恶意活动关联的那个)的网络地址的email或网络连接。其他信誉系统可以阻断具有已知与或可能与恶意活动关联的哈希的应用的活动。
然而,连接信誉查找大体上仅对于提供对具有一些历史的malware或僵尸网络的预防有效,并且可不能提供对零日威胁的有效防御。例如,具有很少没有历史的域名可通过向互联网公司对于分配的名字和号码(ICANN)所授权的注册器注册域名而创建。从而,bot操作者可注册新的好像无害的域名(例如,“futbol.com”)并且使用普通超文本传输协议(HTTP)连接以使用新的域名在bot与基于web的命令和控制服务器之间交换信息。因为域名是新的并且可能没有信誉,信誉系统可不能将这样的业务与合法业务区分。
聚焦在防止未经授权的程序文件在主机计算机上执行上的其他安全技术对最终用户或企业或其他组织实体的雇员可具有不可取的副效应。网络或信息技术(IT)管理员可承担精心制作与企业实体的所有方面相关的广泛策略以使雇员能够从可取且可信的网络资源获得软件和其他电子数据的责任。在广泛策略没有到位的情况下,可阻止雇员从未被专门授权的网络资源下载软件和其他电子数据,即使这样的软件和其他数据促进合法且必需的业务活动也如此。另外,这样的系统可如此有限制性使得如果在主机计算机上发现未经授权的软件,任何主机计算机活动在网络管理员介入之前可被暂停。对于企业,该类型的系统可干扰合法且必需的业务活动,从而导致工人停工、失去收入、明显的信息技术开销及类似物。
根据本文公开的实施例,网络环境100可以通过检测恶意命令和控制通道而克服这些缺点(及其他)。特别地,网络环境100可提供行为分析、逻辑和启发法来检测僵尸网络(其包括APT)和在0日的其他威胁。此外,网络环境100可检测试图隐藏在普通场景中的僵尸网络,而没有对签名更新的任何需要。
在某些实施例中,例如传感器(例如,在入侵防护系统、防火墙、网关等)可寻找从主机(当该主机空闲时)的重复HTTP连接(甚至处于低/隐匿等级)。如果在给定时间段期间(例如晚上或周末一至两小时窗口)没有操作者主动使用主机,该主机在该背景中假定为空闲的。一旦识别出这样的重复HTTP连接,这些连接可被启发式记分,并且可基于策略和与该分数关联的置信水平采取适当的动作。例如,主机可被隔离或者可以向管理员发送具有关联的置信水平的警报。本文公开和描述的实施例可以提供对malware开发者难以回避的行为的高比率bot检测,连同该检测的高置信水平。
可以检测产生重复HTTP连接的主机同时确保主机另外空闲或睡眠来避免由用户活动创建的连接。在还未连接到其他域和/或相同域上的其他文件时,合法用户(即,人)典型地未打开浏览器并且反复地仅对特定文件产生业务。例如,即使在访问相对简单的web页面(例如google.com)时,浏览器通常连接到该域中的大量文件。Web站点很少只具有一个不带嵌入脚本或图像(用户反复刷新/重载的)的页面。从而,在网络环境100的一个实施例中,在主机已连接到大量资源X(例如,X≥10)但唯一域的总数量Y是小的数字(例如,Y≤ 5)并且这些域中的至少一个域的唯一文件路径的总数量Z是小数字(例如,Z≤ 5)时,该主机可识别为具有可疑的重复连接。在主机空闲期间的八小时窗口可用于检测甚至隐秘的bot,但更短或更长的时间窗口对于一些环境可以是适合的。
额外的启发法可应用于来自具有可疑、重复HTTP连接的这样的主机(其另外是空闲或睡眠来减少假肯定并且提高肯定检测的置信度)的业务。例如,记分系统可用于指示低、中或高置信水平。
转向图2,图2是图示可与传感器120的示例环境关联的额外细节的简化框图。传感器120可包括处理器205、存储器元件210和各种硬件和/或软件元件。更特定地,传感器120可包括僵尸网络检测模块122,其可提供连接监视器215、行为分析模块220和记分引擎225。僵尸网络检测模块122可进一步包括各种数据元素,其包括白名单230、黑名单235、忽略名单240、跟踪名单245和灰名单250。
在适当的情况下并且基于特定需要,传感器120可使信息保持在任何适合的存储器元件(例如,随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、专用集成电路(ASIC),等)、软件、硬件中,或在任何其他适合的部件、装置、元件或对象中。本文论述的存储器项目中的任一个(例如,存储器210)应该解释为包含在广义术语'存储器元件'内。被传感器120跟踪或发送的信息(例如,白名单230、黑名单235等)可以在任何数据库、寄存器、队列、表格、控制列表或存储结构中提供,其中的全部可以在任何适合的时帧被引用。任何这样的存储选项可包括在如本文使用的广义术语'存储器元件'内。
在某些示例实现中,本文概述的功能可由在一个或多个有形介质(可包括非暂时介质)中编码的逻辑(例如,在ASIC中提供的嵌入式逻辑、数字信号处理器(DSP)指令、要由处理器或其他相似的机器执行的软件(潜在地包括对象代码和源代码),等)实现。在这些实例中的一些中,存储器元件(如在图2中示出的)可以存储用于本文描述的操作的数据。这包括能够存储软件、逻辑、代码或处理器指令(其被执行来实施本文描述的活动)的存储器元件。
处理器可以执行与数据关联的任何类型的指令来实现本文详述的操作。在一个示例中,处理器(如在图2中示出的)可以将元素或项目(例如,数据)从一个状态或事物变换成另一个状态或事物。在另一个示例中,本文概述的活动可用固定逻辑或可编程逻辑(例如,由处理器执行的软件/计算机指令)实现,并且本文识别的元件可以是某类型的可编程处理器、可编程数字逻辑(例如,现场可编程门阵列(FPGA)、EPROM、EEPROM)或包括数字逻辑、软件、代码、电子指令或其任何适合的组合的ASIC。本文描述的潜在处理元件、模块和机器中的任一个应解释为包含在广义术语'处理器'内。网络元件中的每个还可以包括用于在网络环境中接收、传送和/或用别的方式传达数据或信息的适合的接口。
在一个示例实现中,传感器120是网络元件,其代表任何网络电器、服务器、路由器、交换机、网关、网桥、负载平衡器、防火墙、指令防护系统、处理器、模块或能操作成在网络环境中交换信息的任何其他适合的装置、部件、元件或对象。网络元件可包括便于其操作的任何适合的硬件、软件、部件、模块、接口或对象。这可包括适当的算法和允许数据或信息的有效交换的通信协议。
在一个示例实现中,传感器120可包括用于实现或用于促进如本文概述的操作的软件(例如,僵尸网络检测模块122)。在其他实施例中,这样的操作可由硬件实施、在这些元件外部实现或包括在某种其他网络装置中来实现规定的功能性。备选地,这些元件可包括可以协作以便实现操作的软件(或往复软件),如本文概述的。在再其他实施例中,这些装置中的一个或全部可包括便于其操作的任何适合的算法、硬件、软件、部件、模块、接口或对象。
图3是图示用于使用给定协议来识别网络连接的潜在操作(其可与网络环境100的示例环境关联)的简化流程图300。在一些实施例中,这样的操作可由传感器120(例如,僵尸网络检测模块,其包括连接监视器215、行为分析模块220、记分引擎225,等)实现来识别使用HTTP的连接。
一般,HTTP便于客户端与附连到网络的服务器之间的数据交换。如通常实现的,HTTP是请求/响应应用级协议,其可以使用例如TCP等传输层协议来创建连接并且在例如客户端与服务器等两个网络节点(每个具有唯一网络地址)之间传递数据。在该上下文中,“服务器”可以是网络中的任何节点(或节点的软件部件),其对其他节点提供资源。“客户端”可以是网络中的任何节点(或节点的软件部件),其请求资源。从而,客户端(也称为“用户代理”)可以建立到服务器的连接(通常在众所周知的端口上)并且使用该连接来请求来自服务器的资源。服务器可以监视连接并且在接收请求后发送响应。该响应可包括请求的资源、错误消息或其他信息。
许多类型的资源(其包括文档、图像、程序和服务)通过HTTP而大体上可用。一般,资源是可以被识别以及通过网络连接而被访问的任何对象、数据、信息、服务或其他抽象概念。资源可以由字符和/或数字的任何串识别,例如统一资源标识符(URI)方案。URI可归类为定位符、名称或两者。统一资源名称(URN)是可以通过给定命名空间内的唯一名称而识别资源的资源标识符的一个示例,而统一资源定位符(URL)是可以规定资源的位点的资源标识符的示例。URI还可以规定用于检索资源的机制(例如,协议)。URI方案通常设计成与特定协议一起起作用。用于明确识别网络资源的常见URL方案例如由服务标识符(例如,“HTTP”)、后跟服务资源(其可以是主机名称(或IP地址))结合有到资源(例如,文件或程序)的路径来组成。路径的顶部大体上称为“根”,并且在根处的资源在本文称作“根资源”。参数也可包括在一些标识符(例如对于程序的HTTP URL)中。
如本文使用的,“源”包括可以通过传感器120发起与另一个节点的连接的任何客户端、主机或其他节点。源的连接或其他活动可以在各种类型的名单、表格或相似的结构中被跟踪来便于本文描述的另外的操作。例如,白名单(例如,白名单230)可识别已经确定为合法且安全的源,而黑名单(例如,黑名单235)可识别之前确定为恶意的源。忽略名单(例如,忽略名单240)可识别展现一些可疑连接模式但也展现指示合法活动的某种活动的源。灰名单(例如,灰名单250)可识别展现可疑连接模式或批准进一步的行为分析的其他活动的源。跟踪名单(例如,跟踪名单245)可识别展现可疑连接模式或未在另一名单中识别(例如,之前未识别的)的其他活动的源。
再次参考图3,在一个示例实施例中,在305,连接监视器215可监视并且检查包。如果在310包指示使用超文本传输协议(HTTP)的连接,该连接的源可在315识别。源可在320与忽略名单、在325与黑名单、在330与白名单以及在335与跟踪名单比较。如果源未在这些名单中的任一个中识别,源可在340被添加到跟踪名单,例如通过添加源的网络地址。也可添加与连接关联的其他信息,例如URI、URL、URN、网络地址、主机名称或与目的地关联的其他标识符。
图4是图示用于在没有活动用户的情况下识别使用超本文传输协议来产生重复连接的空闲源的潜在操作(其可与网络环境100的示例实施例关联)的简化流程图400。在一些实施例中,这样的操作可由传感器120(例如,僵尸网络检测模块,其包括连接监视器215、行为分析模块220、记分引擎225,等)实现。
在405对于跟踪名单中(例如,在跟踪名单245中)的每个源,可检查许多度量来识别不是由人员用户产生的HTTP连接。作为阈值问题,可以检查由源进行的连接的数量来确保源已经产生足量的业务。在某些实施例中,连接的数量可通过对源所请求的资源标识符(例如,URI)的数量计数而测量。然而,如果资源标识符的数量(例如,“URI计数”)在410未超出阈值X,则活动可不足以以期望的置信水平确定源是否空闲。然而,如果资源标识符的数量在410超出阈值X,则可测量额外的度量来确定源是否空闲以及业务是否由非人员用户产生。
例如,bot典型地仅连接到少量的域。从而,如果对唯一域所进行的连接的数量(即,“唯一域计数”)在415超出可配置阈值Y,活动可指示合法用户(即,人)活动。源在420可从跟踪名单去除并且以具有T1的生存期(TTL)添加到忽略名单(例如,忽略名单240)。如果唯一域计数在415未超出Y,活动可指示malware或系统产生的活动。
因为bot典型地仅连接到命令和控制服务器的域中的少量资源,额外的度量可包括在给定域中请求的唯一资源标识符的总数量。然而,一些bot可试图通过改变标识符中(例如在URI或URL中)的参数而隐瞒该行为。在某些实施例中,可通过在去除参数值后对每个资源标识符计算哈希值(例如,“URI哈希”)而对抗这样的战术。从而,在425对于源所连接的每个唯一域,可在430计算URI哈希。如果唯一URI哈希的数量在435在阈值Z以下,源可在440添加到灰名单(例如,灰名单250)用于进一步检查。如果唯一URI哈希的数量不小于阈值Z,活动可指示合法进程(例如,脚本)并且源可在420从跟踪名单去除并且以具有T2的TTL添加到忽略名单(例如,忽略名单240)。
阈值X、Y和Z大体上是可配置的,但可被选择来调整灵敏度。例如,使X的值增加应减小假警报,但也使灵敏度降低。X ≥ 10、1≤ Y≤ 5和1≤ Z≤ 5的阈值分别地在许多实施例中可以是适当的。TTL值T1和T2也可以是可配置的,但一小时和四小时的值分别地在许多实施例中可以是适当的。
图5是图示可与网络环境100的某些实施例关联的潜在操作的简化流程图500。在一些实施例中,这样的操作可由传感器120(例如,僵尸网络检测模块,其包括连接监视器215、行为分析模块220、记分引擎225,等)实现。操作可包括用于对源的可疑活动(例如在流程图400中添加到灰名单的源的活动)记分的启发法,并且由此进一步提高置信水平并且减少假肯定。
在图5的示例操作中,记分系统可基于例如0-8等数字标度,其中分数2、4和8分别对应于低、中和高置信水平。从而,8或以上的高分可指示几乎没有假肯定,4-7的中间分数可暗指一些假肯定和较高的灵敏度的可能性,而3或以下的低分可以暗指审计级灵敏度(即,高度灵敏且易于假肯定)。加性方案(例如,低+低=中间并且中间+中间=高)可在这样的实施例中使用,使得三个灵敏度/置信水平(例如,低<4、中间=4-7和高≥ 8)可用。
从而,在图5中,灰名单(例如,灰名单250)中的每个源可在505识别。灰名单中每个源的活动可使用某些启发法来记分。对于每个源的分数可在510初始设置成0。启发法大体上是高度可配置且动态的,但可包括例如在515a确定源是否连接到近期注册的域,因为使用近期注册的域(例如,在几天至一年的时间段内)对于bot操作者是常见的。从而,使用上文描述的0-8记分系统,如果域的注册时间小于阈值X,分数可在515b增加4个点,其中注册时间可通过询问例如WHOIS数据库而确定,并且阈值X可配置成调整启发法灵敏度。对于X的六个月的值在许多实施例中可以是适当的。
包(或多个包)的内容也可指示bot行为。例如,HTTP请求和响应大体上包括首标字段,例如引用字段(referrer filed)和用户-代理字段。引用字段可指示请求所起源的之前的资源(例如链接到另一个资源的web页面)的地址。浏览器直接转到非根资源是不寻常的,除非它被硬编码(例如,在脚本或bot中)或从另一个资源重定向。因此,从bot到非根资源的包中的引用字段频繁缺失或为空,并且如果在520a包中的引用字段缺失并且请求的URI不是根目录,分数可在520b增加1-2个点。用户-代理字段被许多合法客户端使用来识别它们自身。相反,用户-代理字段在由bot发送的请求中频繁缺失或未知,并且如果在525a用户-代理字段缺失或未知,分数可在525b增加另外1-2个点。首标字段的数量还可区分某种恶意业务与合法业务。在HTTP中,例如,首标字段大体上通过回车/换行而终止,因此首标字段的数量可以通过对首标行的数量计数而计数。使用HTTP的bot典型地不包括许多首标字段,其通常明显少于合法客户端。如果在530a请求首标行的平均数量小于或等于阈值Y(其中Y是可配置参数),分数可以在530b增加再另外1-2个点。值5在许多实施例中对于Y可以是适当的值。Bot以几乎空的响应页频繁发送keep-alive消息,这些几乎空的响应页完全不同于正常web站点返回的大的web页面(其典型地大于1kB),从而如果响应的平均体大小小于可配置阈值Z(例如,<100个字节),分数在535b还可以增加1-2个点。
目的地节点的信誉也可以明显影响分数。从而,可向信誉系统发送询问,并且分数可以基于来自信誉系统的响应而相应地调整。例如,如果在540a目的地与在具有不良信誉的地带中的顶级域(例如指向中国或俄罗斯站点的.cn或.ru域,其在北美可能不寻常)关联,则分数可在540b增加4个点。如果目的地的地址或域在545a未经证实,分数在545b可增加2个点。相似地,如果在555a目的地的地址或域与可疑信誉关联,分数在555b可以增加4个点。如果地址或域的信誉是不良的,则在源空闲时的重复HTTP连接几乎肯定指示恶意bot活动并且分数可以增加8个点。如果在560a主机字段是公共网络地址(即,是数字并且不是专用(例如,172.16.x/192.16.x/10.x/127.x)),则分数可在560b再次增加2-4个点。
如果分数在565超出可配置阈值,例如在图5的示例实施例中是4或8,可在570采取基于策略的适当动作。例如,适当的动作可包括阻断从源或到目的地的新的连接、在日志中记录活动用于后续取证分析或警告操作者或管理员。
因为是记分标度,对于每个启发法的分数和阈值水平是高度可配置的。一些启发法可在适当的情况下去除,并且可添加其他而不偏离本文提供的教导的范围。在这样的启发法中使用的参数还可对于特定环境修改。例如,如果数字地址在给定环境中在主机字段常用,则对于相关启发法的分数可以减少到0(即,消除启发法)。另外,尽管参考特定协议图示,本文描述的原理可容易适应于检测可使用其他协议的命令和控制通道。
网络环境100可提供明显的优势,其中的一些已经论述。例如,网络环境100可以以高检测速率(其包括具有低活动的隐秘bot检测)提供0日bot(即,之前未部署的bot)和APT的几乎实时检测,同时大大减少或消除假肯定。此外,网络环境100是积极的并且不需要签名,其具有不需要频繁更新或维护的行为方法。网络环境100也是高度可配置的,但提供不需要复杂配置的强默认参数。
在上文提供的示例以及许多其他潜在示例中,可从两个、三个或四个网络元件方面描述交互。然而,这已经为了清楚起见和仅示例的目的而实行。在某些情况下,通过仅参考有限数量的网络元件来描述给定操作集的功能性中的一个或多个可更容易。应该意识到网络环境100能容易定标并且可以容纳大量部件,以及更复杂/精密的设置和配置。因此,提供的示例在潜在地应用于无数其他架构时不应限制范围或抑制网络环境100的广泛教导。另外,尽管参考特定场景描述,在特定模块在网络元件内提供的情况下,这些模块可以在外部提供,或以任何适合的方式合并和/或组合。在某些实例中,这样的模块可在单个专用单元中提供。
还有重要的是,注意在附图中的步骤仅图示可能场景和模式中的一些,其可由网络环境100执行或在网络环境100内执行。这些步骤中的一些可在适当的情况下删除或去除,或这些步骤可被大大修改或改变而不偏离本文提供的教导的范围。另外,许多的这些操作已经描述为与一个或多个额外操作同步或并行执行。然而,这些操作的定时可被大大更改。前面的操作流已经为了示例和论述目的提供。提供相当大的灵活性,因为可提供任何适合的设置、排列、配置和定时机构而不偏离本文提供的教导。
本领域内技术人员可弄清许多其他改变、替代、变化、更改和修改并且规定本公开包含所有这样的改变、替代、变换、更改和修改,它们落入附上的权利要求的范围内。为了帮助美国专利和商标局(USPTO)以及另外对该申请所授予的任何专利的任何读者解释随附的权利要求,申请人希望指出申请人:(a)不意在让附上的权利要求中的任何权利要求调用35 U.S.C 章112的第六(6)段,因为它在本提交日时存在,除非词“用于…的部件”或“用于…的步骤”专门在特定权利要求中使用;以及(b)不意在通过该说明书中的任何阐述以未另外用别的方式在附上的权利要求中反映的任何方式限制该公开。

用于检测恶意命令和控制通道的系统和方法.pdf_第1页
第1页 / 共17页
用于检测恶意命令和控制通道的系统和方法.pdf_第2页
第2页 / 共17页
用于检测恶意命令和控制通道的系统和方法.pdf_第3页
第3页 / 共17页
点击查看更多>>
资源描述

《用于检测恶意命令和控制通道的系统和方法.pdf》由会员分享,可在线阅读,更多相关《用于检测恶意命令和控制通道的系统和方法.pdf(17页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN104067280A43申请公布日20140924CN104067280A21申请号201280053582922申请日2012092813/27624420111018USG06F21/5520130171申请人迈可菲公司地址美国加利福尼亚州72发明人R巴鲁帕里V马哈迪克B马德胡苏丹CH沙74专利代理机构中国专利代理香港有限公司72001代理人张金金汤春龙54发明名称用于检测恶意命令和控制通道的系统和方法57摘要在一个示例实施例中提供方法,其包括检测从源节点到目的地节点的重复连接、基于这些连接对源节点计算分数以及如果分数超出阈值分数则采取策略动作。在更特定的实施例中,重复连。

2、接使用超文本传输协议并且可包括通向少量唯一域的连接、通向与目的地节点关联的少量唯一资源的连接和/或通向域中的资源的大量连接。此外,启发法可用于对源节点记分并且识别指示威胁的行为,例如爬虫软件(BOT)或其他恶意软件(MALWARE)。30优先权数据85PCT国际申请进入国家阶段日2014043086PCT国际申请的申请数据PCT/US2012/0580452012092887PCT国际申请的公布数据WO2013/058964EN2013042551INTCL权利要求书2页说明书9页附图5页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书9页附图5页10申请公布号CN1040。

3、67280ACN104067280A1/2页21一种方法,包括检测从空闲源节点到目的地节点的重复连接;基于所述重复连接的行为对所述空闲源节点计算分数;如果所述分数超出阈值则采取策略动作。2如权利要求1所述的方法,其中所述重复连接使用超文本传输协议。3如权利要求1所述的方法,其中检测所述重复连接包括检测通向超过X个地址的连接;在预定时间段内检测通向少于Y个唯一地址的连接;以及检测通向与所述唯一地址中的至少一个关联的少于Z个唯一资源标识符的连接;其中X、Y和Z是指示与不是由人员用户产生的重复连接一致的模式的参数。4如权利要求1所述的方法,其中计算所述分数包括使用启发法来识别指示威胁的行为。5如权利。

4、要求1所述的方法,其中计算所述分数包括使用启发法来识别指示BOT命令和控制通道的行为。6如权利要求1所述的方法,其中计算所述分数包括如果所述目的地节点与在一年内注册的域关联则使所述分数增加。7如权利要求1所述的方法,其中计算所述分数包括如果所述重复连接中的至少一个不具有引用字段并且不具有根资源标识符则使所述分数增加。8如权利要求1所述的方法,其中计算所述分数包括如果所述重复连接中的至少一个未识别已知用户代理则使所述分数增加。9如权利要求1所述的方法,其中计算所述分数包括如果所述重复连接中的至少一个通过公共网络地址识别所述目的地节点则使所述分数增加。10如权利要求1所述的方法,其中计算所述分数包。

5、括如果所述重复连接具有小于X个平均请求首标行则使所述分数增加,其中X是指示通向所述目的地节点的MALWARE连接的参数。11如权利要求1所述的方法,其中计算所述分数包括如果所述重复连接具有小于X的平均响应大小则使所述分数增加,其中X是指示来自命令和控制服务器的响应的参数。12如权利要求1所述的方法,其中计算所述分数包括请求与所述目的地节点关联的信誉值并且如果所述信誉值指示所述目的地节点与威胁关联则使所述分数增加。13如权利要求1所述的方法,其中计算所述分数包括如果所述目的地节点具有在与威胁关联的地带中的网络地址则使所述分数增加。14一种方法,包括检测由源节点发起的重复连接;如果所述重复连接包括。

6、在一段时间内通向至少X个资源、在所述时间段内通向小于Y个唯一地址以及在所述时间段内对于所述唯一地址中的至少一个通向小于Z个唯一资源的连接,则基于所述重复连接对所述源节点计算分数,其中X、Y和Z是指示与威胁一致的行为的参数;以及如果所述分数超出阈值分数则采取策略动作。15如权利要求14所述的方法,其中计算所述分数包括使用启发法来识别指示所述威权利要求书CN104067280A2/2页3胁的行为。16如权利要求14所述的方法,其中所述重复连接使用超文本传输协议。17如权利要求14所述的方法,其中所述威胁是连接到命令和控制服务器的BOT。18如权利要求14所述的方法,其中X大于或等于10,Y小于或等。

7、于5并且Z小于或等于5。19如权利要求14所述的方法,其中所述时间段是至少八个小时。20如权利要求14所述的方法,其中所述威胁是使用超文本传输协议连接到命令和控制服务器的BOT;X大于或等于10,Y小于或等于5并且Z小于或等于5;所述时间段是至少八个小时;计算所述分数包括使用启发法来识别指示所述威胁的行为;以及所述策略动作是向管理员发送警告。权利要求书CN104067280A1/9页4用于检测恶意命令和控制通道的系统和方法技术领域0001该说明书大体上涉及网络安全,并且更特定地,涉及用于检测恶意命令和控制通道的系统和方法。背景技术0002网络安全的领域在现今的社会中已变得越来越重要。因特网遍布。

8、全世界实现不同计算机网络的互连。然而,有效保护并且维持稳定的计算机和系统的能力对于部件制造商、系统设计师和网络运营商呈现出重大障碍。该障碍由于由恶意操作者实施的不断发展的一系列战术而变得甚至更复杂。如果某些类型的恶意软件可能感染主计算机,它还可能够进行许多有敌意、侵入或骚扰动作,例如从主计算机发出垃圾邮件或恶意EMAIL、从与主计算机关联的企业或个体窃取敏感信息、传播到其他主计算机和/或帮助分布式拒绝服务攻击。另外,恶意操作者可以向其他恶意操作者出售或用别的方式准许其他恶意操作者访问,由此扩大主计算机的利用。因此,对于开发创新工具来对抗允许恶意操作者利用计算机的战术仍然存在重大挑战。附图说明0。

9、003为了提供对本公开及其特征和优势的更完整理解,结合附图参考下面的描述,其中类似的标号代表类似的部件,其中图1是图示根据该说明书的网络环境(其中可检测恶意命令和控制通道)的示例实施例的简化框图;图2是图示可与网络环境的关联的额外细节的简化框图;图3是图示可与网络环境关联的潜在操作的简化流程图;图4是图示可与网络环境关联的额外操作的简化流程图;图5是图示可与网络环境关联的再其他操作的简化流程图。具体实施方式0004综览在一个示例实施例中提供方法,其包括检测从源节点到目的地节点的重复连接、基于这些连接对源节点计算分数以及如果分数超出阈值分数则采取策略动作。0005在更特定的实施例中,重复连接使用。

10、超文本传输协议并且可包括到少量唯一域的连接、到与目的地节点关联的少量唯一资源的连接和/或到域中的资源的大量连接。此外,启发法可用于对源节点记分并且识别指示威胁的行为,例如爬虫软件(BOT)或其他恶意软件(MALWARE)。0006示例实施例转向图1,图1是其中可检测恶意命令和控制通道的网络环境100的示例实施例的简化框图。网络环境100可包括具有例如主机110A110D等节点的局域网105,这些节点可说明书CN104067280A2/9页5通过具有僵尸网络检测模块(BOTNETDETECTIONMODULE)122的传感器120连接到因特网115。节点一般是任何系统、机器、装置、网络元件、客户。

11、端、服务器、对等装置、服务、应用或能够在网络上发送并且接收数据的其他对象。网络环境100中的节点之间的链路代表两个节点可以通过其而通信的任何介质。该介质可以是例如导线或光纤缆线等有形介质,或例如用于无线通信的无线电波等无形介质。0007从而,主机110A110D中的每个可彼此通信并且与连接到因特网115的远程节点(例如WEB服务器125或邮件服务器130)通信。主机110A110D还可例如通过邮件服务器130与远程主机135交换EMAIL消息。一般,主机110A110D可以是能够运行程序并且与操作者交互的任何类型的节点。在它最常见的意义上,主机大体上包括附连的输入装置和附连的输出装置,但额外或。

12、备选地可包括用于与操作者远程交互的接口。例如,主机可以是台式计算机、工作站计算机、服务器、便携式电脑、平板计算机(例如,IPAD)或移动电话(例如,IPHONE)。在该示例网络环境100中,例如主机110B等主机可被BOT140损害,BOT140大体上代表可在远程软件、装置、机器或系统(例如命令和控制(CC)服务器145)的控制之下的任何恶意软件(“MALWARE”)。0008图1的元件中的每个可通过简单的网络接口或通过任何其他适合的连接(有线或无线)而耦合于彼此,这对网络通信提供可行路径。另外,这些元件中的任何一个或多个可基于特定配置需要而组合或从架构去除。网络环境100可包括能够进行传输控。

13、制协议/因特网协议(TCP/IP)通信以用于在网络中传送或接收包的配置。网络环境100还可连同用户数据报协议/IP(UDP/IP)或任何其他适合的协议(在适合的情况下)并且基于特定需要而操作。0009为了说明用于检测恶意命令和控制通道(例如可由基于WEB的僵尸网络使用)的系统和方法的技术的目的,重要的是理解某些活动在给定网络内出现。下面的基本信息可视为本公开可正确地从其解释的基础。这样的信息最早仅为了说明目的而提供,因此,不应采用任何方式解释来限制本公开和它的潜在应用的广泛范围。0010在组织中以及由个体使用的典型的网络环境包括与其他网络电子通信的能力。例如,因特网可用于访问在远程服务器上托管。

14、的WEB页面、发送或接收电子邮件(即,EMAIL)消息或交换文件。然而,用于干扰正常操作并且获得对机密信息的访问的新战术持续出现。威胁包括能够通过对计算机、网络和/或数据的未经授权的访问、未经授权的销毁、披露和/或修改数据和/或拒绝服务而干扰计算机或网络的正常操作的任何活动。0011僵尸网络特别地代表对计算机安全的日益增加的威胁。在许多情况下,它们采用精密的攻击方案,其包括众所周知和新的致命性的组合。僵尸网络大体上使用客户端服务器架构,其中一类恶意软件(即,BOT)被放置在主计算机上并且与命令和控制服务器通信,该命令和控制服务器可由僵尸网络操作者控制。通常,僵尸网络由大量的BOT组成,其操作者。

15、通过各种通道(其包括因特网中继对话(IRC)和对等(P2P)通信)使用命令和控制协议而控制。BOT可从命令和控制服务器接收命令来进行特定恶意活动,并且因此,可执行这样的命令。BOT还可将任何结果或偷窃的信息发送回到命令和控制服务器。0012僵尸网络攻击大体上遵循相同的生命周期。首先,主机(例如,台式计算机)可被MALWARE损害。“MALWARE”通常用作对于任何有敌意的、侵入的或骚扰软件(例如计算机病毒、TROJAN、WORM、BOT、间谍软件、广告软件等)的标签,但还可包括其他恶意软件。MALWARE说明书CN104067280A3/9页6可颠覆受损方,从而给予BOT操作者对它的控制。BO。

16、T操作者然后可使用这样的计算机用于恶意活动,例如拒绝服务攻击。除接收命令来进行恶意活动外,BOT典型地还包括一个或多个传播矢量,其使它能够在组织的网络内或跨其他网络到其他组织或个体蔓延。常见的传播矢量包括利用本地网络内的主机上的已知致命性并且发送具有附连的恶意程序的恶意EMAIL或在这些EMAIL内提供恶意链接。0013现有的防火墙和网络入侵防护技术通常不足以识别并且遏制许多僵尸网络。BOT通常设计成发起与命令和控制服务器的通信并且伪装成正常的WEB浏览器业务。现代的僵尸网络(其包括高级持续性威胁(APT)可利用隐写技术以隐藏在普通场景中,例如使用使得BOT似乎进行到WEB服务器的正常网络连接。

17、的命令和控制协议。例如,BOT可使用典型地与WEB服务器通信的端口。这些通信对于管理员可非常难以与合法的网络业务区分。因此,这样的BOT在不进行WEB业务的更详细包检查的情况下可不被现有的技术检测到。此外,一旦发现BOT,僵尸网络操作者可简单地找到由BOT伪装网络业务的另一个方式来继续呈现为正常WEB业务。最近,僵尸网络操作者还精心制作BOT来使用例如安全套接层(SSL)等加密协议,由此对恶意网络业务加密。这样的加密业务可使用超文本传输协议安全(HTTPS)端口使得仅加密会话中牵涉的端点可以解密数据。从而,现有的防火墙和其他网络入侵防护技术不能进行WEB业务的任何有意义检查。因此,BOT继续感。

18、染网络内的主计算机。0014一些信誉系统还可以对特定僵尸网络提供可行的防御。一般,信誉系统监视活动并且基于过去的行为分配信誉值或分数。该信誉值可在从善良到恶意的图谱上指示不同的信赖度水平。例如,可基于与地址或起源于地址的EMAIL进行的网络连接对网络地址计算连接信誉值(例如,最小风险、未经证实、高风险,等),其中“网络地址”在广泛意义上使用来包括任何形式的对节点或资源寻址,其包括例如媒体访问控制(MAC)地址、IP地址或域名。连接信誉系统可用于拒绝与具有不可接受的连接信誉(例如指示IP地址已知与或可能与恶意活动关联的那个)的网络地址的EMAIL或网络连接。其他信誉系统可以阻断具有已知与或可能与。

19、恶意活动关联的哈希的应用的活动。0015然而,连接信誉查找大体上仅对于提供对具有一些历史的MALWARE或僵尸网络的预防有效,并且可不能提供对零日威胁的有效防御。例如,具有很少没有历史的域名可通过向互联网公司对于分配的名字和号码(ICANN)所授权的注册器注册域名而创建。从而,BOT操作者可注册新的好像无害的域名(例如,“FUTBOLCOM”)并且使用普通超文本传输协议(HTTP)连接以使用新的域名在BOT与基于WEB的命令和控制服务器之间交换信息。因为域名是新的并且可能没有信誉,信誉系统可不能将这样的业务与合法业务区分。0016聚焦在防止未经授权的程序文件在主机计算机上执行上的其他安全技术对。

20、最终用户或企业或其他组织实体的雇员可具有不可取的副效应。网络或信息技术(IT)管理员可承担精心制作与企业实体的所有方面相关的广泛策略以使雇员能够从可取且可信的网络资源获得软件和其他电子数据的责任。在广泛策略没有到位的情况下,可阻止雇员从未被专门授权的网络资源下载软件和其他电子数据,即使这样的软件和其他数据促进合法且必需的业务活动也如此。另外,这样的系统可如此有限制性使得如果在主机计算机上发现未经授权的软件,任何主机计算机活动在网络管理员介入之前可被暂停。对于企业,该类型的系统可干扰合法且必需的业务活动,从而导致工人停工、失去收入、明显的信息技术开销及类似物。说明书CN104067280A4/9。

21、页70017根据本文公开的实施例,网络环境100可以通过检测恶意命令和控制通道而克服这些缺点(及其他)。特别地,网络环境100可提供行为分析、逻辑和启发法来检测僵尸网络(其包括APT)和在0日的其他威胁。此外,网络环境100可检测试图隐藏在普通场景中的僵尸网络,而没有对签名更新的任何需要。0018在某些实施例中,例如传感器(例如,在入侵防护系统、防火墙、网关等)可寻找从主机(当该主机空闲时)的重复HTTP连接(甚至处于低/隐匿等级)。如果在给定时间段期间(例如晚上或周末一至两小时窗口)没有操作者主动使用主机,该主机在该背景中假定为空闲的。一旦识别出这样的重复HTTP连接,这些连接可被启发式记分。

22、,并且可基于策略和与该分数关联的置信水平采取适当的动作。例如,主机可被隔离或者可以向管理员发送具有关联的置信水平的警报。本文公开和描述的实施例可以提供对MALWARE开发者难以回避的行为的高比率BOT检测,连同该检测的高置信水平。0019可以检测产生重复HTTP连接的主机同时确保主机另外空闲或睡眠来避免由用户活动创建的连接。在还未连接到其他域和/或相同域上的其他文件时,合法用户(即,人)典型地未打开浏览器并且反复地仅对特定文件产生业务。例如,即使在访问相对简单的WEB页面(例如GOOGLECOM)时,浏览器通常连接到该域中的大量文件。WEB站点很少只具有一个不带嵌入脚本或图像(用户反复刷新/重。

23、载的)的页面。从而,在网络环境100的一个实施例中,在主机已连接到大量资源X(例如,X10)但唯一域的总数量Y是小的数字(例如,Y5)并且这些域中的至少一个域的唯一文件路径的总数量Z是小数字(例如,Z5)时,该主机可识别为具有可疑的重复连接。在主机空闲期间的八小时窗口可用于检测甚至隐秘的BOT,但更短或更长的时间窗口对于一些环境可以是适合的。0020额外的启发法可应用于来自具有可疑、重复HTTP连接的这样的主机(其另外是空闲或睡眠来减少假肯定并且提高肯定检测的置信度)的业务。例如,记分系统可用于指示低、中或高置信水平。0021转向图2,图2是图示可与传感器120的示例环境关联的额外细节的简化框。

24、图。传感器120可包括处理器205、存储器元件210和各种硬件和/或软件元件。更特定地,传感器120可包括僵尸网络检测模块122,其可提供连接监视器215、行为分析模块220和记分引擎225。僵尸网络检测模块122可进一步包括各种数据元素,其包括白名单230、黑名单235、忽略名单240、跟踪名单245和灰名单250。0022在适当的情况下并且基于特定需要,传感器120可使信息保持在任何适合的存储器元件(例如,随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、专用集成电路(ASIC),等)、软件、硬件中,或在任何其他适合的部。

25、件、装置、元件或对象中。本文论述的存储器项目中的任一个(例如,存储器210)应该解释为包含在广义术语存储器元件内。被传感器120跟踪或发送的信息(例如,白名单230、黑名单235等)可以在任何数据库、寄存器、队列、表格、控制列表或存储结构中提供,其中的全部可以在任何适合的时帧被引用。任何这样的存储选项可包括在如本文使用的广义术语存储器元件内。0023在某些示例实现中,本文概述的功能可由在一个或多个有形介质(可包括非暂时介质)中编码的逻辑(例如,在ASIC中提供的嵌入式逻辑、数字信号处理器(DSP)指令、要由处理器或其他相似的机器执行的软件(潜在地包括对象代码和源代码),等)实现。在这些实说明书。

26、CN104067280A5/9页8例中的一些中,存储器元件(如在图2中示出的)可以存储用于本文描述的操作的数据。这包括能够存储软件、逻辑、代码或处理器指令(其被执行来实施本文描述的活动)的存储器元件。0024处理器可以执行与数据关联的任何类型的指令来实现本文详述的操作。在一个示例中,处理器(如在图2中示出的)可以将元素或项目(例如,数据)从一个状态或事物变换成另一个状态或事物。在另一个示例中,本文概述的活动可用固定逻辑或可编程逻辑(例如,由处理器执行的软件/计算机指令)实现,并且本文识别的元件可以是某类型的可编程处理器、可编程数字逻辑(例如,现场可编程门阵列(FPGA)、EPROM、EEPRO。

27、M)或包括数字逻辑、软件、代码、电子指令或其任何适合的组合的ASIC。本文描述的潜在处理元件、模块和机器中的任一个应解释为包含在广义术语处理器内。网络元件中的每个还可以包括用于在网络环境中接收、传送和/或用别的方式传达数据或信息的适合的接口。0025在一个示例实现中,传感器120是网络元件,其代表任何网络电器、服务器、路由器、交换机、网关、网桥、负载平衡器、防火墙、指令防护系统、处理器、模块或能操作成在网络环境中交换信息的任何其他适合的装置、部件、元件或对象。网络元件可包括便于其操作的任何适合的硬件、软件、部件、模块、接口或对象。这可包括适当的算法和允许数据或信息的有效交换的通信协议。0026。

28、在一个示例实现中,传感器120可包括用于实现或用于促进如本文概述的操作的软件(例如,僵尸网络检测模块122)。在其他实施例中,这样的操作可由硬件实施、在这些元件外部实现或包括在某种其他网络装置中来实现规定的功能性。备选地,这些元件可包括可以协作以便实现操作的软件(或往复软件),如本文概述的。在再其他实施例中,这些装置中的一个或全部可包括便于其操作的任何适合的算法、硬件、软件、部件、模块、接口或对象。0027图3是图示用于使用给定协议来识别网络连接的潜在操作(其可与网络环境100的示例环境关联)的简化流程图300。在一些实施例中,这样的操作可由传感器120(例如,僵尸网络检测模块,其包括连接监视。

29、器215、行为分析模块220、记分引擎225,等)实现来识别使用HTTP的连接。0028一般,HTTP便于客户端与附连到网络的服务器之间的数据交换。如通常实现的,HTTP是请求/响应应用级协议,其可以使用例如TCP等传输层协议来创建连接并且在例如客户端与服务器等两个网络节点(每个具有唯一网络地址)之间传递数据。在该上下文中,“服务器”可以是网络中的任何节点(或节点的软件部件),其对其他节点提供资源。“客户端”可以是网络中的任何节点(或节点的软件部件),其请求资源。从而,客户端(也称为“用户代理”)可以建立到服务器的连接(通常在众所周知的端口上)并且使用该连接来请求来自服务器的资源。服务器可以监。

30、视连接并且在接收请求后发送响应。该响应可包括请求的资源、错误消息或其他信息。0029许多类型的资源(其包括文档、图像、程序和服务)通过HTTP而大体上可用。一般,资源是可以被识别以及通过网络连接而被访问的任何对象、数据、信息、服务或其他抽象概念。资源可以由字符和/或数字的任何串识别,例如统一资源标识符(URI)方案。URI可归类为定位符、名称或两者。统一资源名称(URN)是可以通过给定命名空间内的唯一名称而识别资源的资源标识符的一个示例,而统一资源定位符(URL)是可以规定资源的位点的资说明书CN104067280A6/9页9源标识符的示例。URI还可以规定用于检索资源的机制(例如,协议)。U。

31、RI方案通常设计成与特定协议一起起作用。用于明确识别网络资源的常见URL方案例如由服务标识符(例如,“HTTP”)、后跟服务资源(其可以是主机名称(或IP地址)结合有到资源(例如,文件或程序)的路径来组成。路径的顶部大体上称为“根”,并且在根处的资源在本文称作“根资源”。参数也可包括在一些标识符(例如对于程序的HTTPURL)中。0030如本文使用的,“源”包括可以通过传感器120发起与另一个节点的连接的任何客户端、主机或其他节点。源的连接或其他活动可以在各种类型的名单、表格或相似的结构中被跟踪来便于本文描述的另外的操作。例如,白名单(例如,白名单230)可识别已经确定为合法且安全的源,而黑名。

32、单(例如,黑名单235)可识别之前确定为恶意的源。忽略名单(例如,忽略名单240)可识别展现一些可疑连接模式但也展现指示合法活动的某种活动的源。灰名单(例如,灰名单250)可识别展现可疑连接模式或批准进一步的行为分析的其他活动的源。跟踪名单(例如,跟踪名单245)可识别展现可疑连接模式或未在另一名单中识别(例如,之前未识别的)的其他活动的源。0031再次参考图3,在一个示例实施例中,在305,连接监视器215可监视并且检查包。如果在310包指示使用超文本传输协议(HTTP)的连接,该连接的源可在315识别。源可在320与忽略名单、在325与黑名单、在330与白名单以及在335与跟踪名单比较。如。

33、果源未在这些名单中的任一个中识别,源可在340被添加到跟踪名单,例如通过添加源的网络地址。也可添加与连接关联的其他信息,例如URI、URL、URN、网络地址、主机名称或与目的地关联的其他标识符。0032图4是图示用于在没有活动用户的情况下识别使用超本文传输协议来产生重复连接的空闲源的潜在操作(其可与网络环境100的示例实施例关联)的简化流程图400。在一些实施例中,这样的操作可由传感器120(例如,僵尸网络检测模块,其包括连接监视器215、行为分析模块220、记分引擎225,等)实现。0033在405对于跟踪名单中(例如,在跟踪名单245中)的每个源,可检查许多度量来识别不是由人员用户产生的H。

34、TTP连接。作为阈值问题,可以检查由源进行的连接的数量来确保源已经产生足量的业务。在某些实施例中,连接的数量可通过对源所请求的资源标识符(例如,URI)的数量计数而测量。然而,如果资源标识符的数量(例如,“URI计数”)在410未超出阈值X,则活动可不足以以期望的置信水平确定源是否空闲。然而,如果资源标识符的数量在410超出阈值X,则可测量额外的度量来确定源是否空闲以及业务是否由非人员用户产生。0034例如,BOT典型地仅连接到少量的域。从而,如果对唯一域所进行的连接的数量(即,“唯一域计数”)在415超出可配置阈值Y,活动可指示合法用户(即,人)活动。源在420可从跟踪名单去除并且以具有T1。

35、的生存期(TTL)添加到忽略名单(例如,忽略名单240)。如果唯一域计数在415未超出Y,活动可指示MALWARE或系统产生的活动。0035因为BOT典型地仅连接到命令和控制服务器的域中的少量资源,额外的度量可包括在给定域中请求的唯一资源标识符的总数量。然而,一些BOT可试图通过改变标识符中(例如在URI或URL中)的参数而隐瞒该行为。在某些实施例中,可通过在去除参数值后对每个资源标识符计算哈希值(例如,“URI哈希”)而对抗这样的战术。从而,在425对于源所连接的每个唯一域,可在430计算URI哈希。如果唯一URI哈希的数量在435在阈值Z以说明书CN104067280A7/9页10下,源可。

36、在440添加到灰名单(例如,灰名单250)用于进一步检查。如果唯一URI哈希的数量不小于阈值Z,活动可指示合法进程(例如,脚本)并且源可在420从跟踪名单去除并且以具有T2的TTL添加到忽略名单(例如,忽略名单240)。0036阈值X、Y和Z大体上是可配置的,但可被选择来调整灵敏度。例如,使X的值增加应减小假警报,但也使灵敏度降低。X10、1Y5和1Z5的阈值分别地在许多实施例中可以是适当的。TTL值T1和T2也可以是可配置的,但一小时和四小时的值分别地在许多实施例中可以是适当的。0037图5是图示可与网络环境100的某些实施例关联的潜在操作的简化流程图500。在一些实施例中,这样的操作可由传。

37、感器120(例如,僵尸网络检测模块,其包括连接监视器215、行为分析模块220、记分引擎225,等)实现。操作可包括用于对源的可疑活动(例如在流程图400中添加到灰名单的源的活动)记分的启发法,并且由此进一步提高置信水平并且减少假肯定。0038在图5的示例操作中,记分系统可基于例如08等数字标度,其中分数2、4和8分别对应于低、中和高置信水平。从而,8或以上的高分可指示几乎没有假肯定,47的中间分数可暗指一些假肯定和较高的灵敏度的可能性,而3或以下的低分可以暗指审计级灵敏度(即,高度灵敏且易于假肯定)。加性方案(例如,低低中间并且中间中间高)可在这样的实施例中使用,使得三个灵敏度/置信水平(例。

38、如,低4、中间47和高8)可用。0039从而,在图5中,灰名单(例如,灰名单250)中的每个源可在505识别。灰名单中每个源的活动可使用某些启发法来记分。对于每个源的分数可在510初始设置成0。启发法大体上是高度可配置且动态的,但可包括例如在515A确定源是否连接到近期注册的域,因为使用近期注册的域(例如,在几天至一年的时间段内)对于BOT操作者是常见的。从而,使用上文描述的08记分系统,如果域的注册时间小于阈值X,分数可在515B增加4个点,其中注册时间可通过询问例如WHOIS数据库而确定,并且阈值X可配置成调整启发法灵敏度。对于X的六个月的值在许多实施例中可以是适当的。0040包(或多个包。

39、)的内容也可指示BOT行为。例如,HTTP请求和响应大体上包括首标字段,例如引用字段(REFERRERLED)和用户代理字段。引用字段可指示请求所起源的之前的资源(例如链接到另一个资源的WEB页面)的地址。浏览器直接转到非根资源是不寻常的,除非它被硬编码(例如,在脚本或BOT中)或从另一个资源重定向。因此,从BOT到非根资源的包中的引用字段频繁缺失或为空,并且如果在520A包中的引用字段缺失并且请求的URI不是根目录,分数可在520B增加12个点。用户代理字段被许多合法客户端使用来识别它们自身。相反,用户代理字段在由BOT发送的请求中频繁缺失或未知,并且如果在525A用户代理字段缺失或未知,分。

40、数可在525B增加另外12个点。首标字段的数量还可区分某种恶意业务与合法业务。在HTTP中,例如,首标字段大体上通过回车/换行而终止,因此首标字段的数量可以通过对首标行的数量计数而计数。使用HTTP的BOT典型地不包括许多首标字段,其通常明显少于合法客户端。如果在530A请求首标行的平均数量小于或等于阈值Y(其中Y是可配置参数),分数可以在530B增加再另外12个点。值5在许多实施例中对于Y可以是适当的值。BOT以几乎空的响应页频繁发送KEEPALIVE消息,这些几乎空的响应页完全不同于正常WEB站点返回的大的WEB页面(其典型地大于1KB),从而如果响应的平均体大小小于可配置阈值Z(例如,1。

41、00个字节),分数在535B还可以增加说明书CN104067280A108/9页1112个点。0041目的地节点的信誉也可以明显影响分数。从而,可向信誉系统发送询问,并且分数可以基于来自信誉系统的响应而相应地调整。例如,如果在540A目的地与在具有不良信誉的地带中的顶级域(例如指向中国或俄罗斯站点的CN或RU域,其在北美可能不寻常)关联,则分数可在540B增加4个点。如果目的地的地址或域在545A未经证实,分数在545B可增加2个点。相似地,如果在555A目的地的地址或域与可疑信誉关联,分数在555B可以增加4个点。如果地址或域的信誉是不良的,则在源空闲时的重复HTTP连接几乎肯定指示恶意BO。

42、T活动并且分数可以增加8个点。如果在560A主机字段是公共网络地址(即,是数字并且不是专用(例如,17216X/19216X/10X/127X),则分数可在560B再次增加24个点。0042如果分数在565超出可配置阈值,例如在图5的示例实施例中是4或8,可在570采取基于策略的适当动作。例如,适当的动作可包括阻断从源或到目的地的新的连接、在日志中记录活动用于后续取证分析或警告操作者或管理员。0043因为是记分标度,对于每个启发法的分数和阈值水平是高度可配置的。一些启发法可在适当的情况下去除,并且可添加其他而不偏离本文提供的教导的范围。在这样的启发法中使用的参数还可对于特定环境修改。例如,如果。

43、数字地址在给定环境中在主机字段常用,则对于相关启发法的分数可以减少到0(即,消除启发法)。另外,尽管参考特定协议图示,本文描述的原理可容易适应于检测可使用其他协议的命令和控制通道。0044网络环境100可提供明显的优势,其中的一些已经论述。例如,网络环境100可以以高检测速率(其包括具有低活动的隐秘BOT检测)提供0日BOT(即,之前未部署的BOT)和APT的几乎实时检测,同时大大减少或消除假肯定。此外,网络环境100是积极的并且不需要签名,其具有不需要频繁更新或维护的行为方法。网络环境100也是高度可配置的,但提供不需要复杂配置的强默认参数。0045在上文提供的示例以及许多其他潜在示例中,可。

44、从两个、三个或四个网络元件方面描述交互。然而,这已经为了清楚起见和仅示例的目的而实行。在某些情况下,通过仅参考有限数量的网络元件来描述给定操作集的功能性中的一个或多个可更容易。应该意识到网络环境100能容易定标并且可以容纳大量部件,以及更复杂/精密的设置和配置。因此,提供的示例在潜在地应用于无数其他架构时不应限制范围或抑制网络环境100的广泛教导。另外,尽管参考特定场景描述,在特定模块在网络元件内提供的情况下,这些模块可以在外部提供,或以任何适合的方式合并和/或组合。在某些实例中,这样的模块可在单个专用单元中提供。0046还有重要的是,注意在附图中的步骤仅图示可能场景和模式中的一些,其可由网络。

45、环境100执行或在网络环境100内执行。这些步骤中的一些可在适当的情况下删除或去除,或这些步骤可被大大修改或改变而不偏离本文提供的教导的范围。另外,许多的这些操作已经描述为与一个或多个额外操作同步或并行执行。然而,这些操作的定时可被大大更改。前面的操作流已经为了示例和论述目的提供。提供相当大的灵活性,因为可提供任何适合的设置、排列、配置和定时机构而不偏离本文提供的教导。0047本领域内技术人员可弄清许多其他改变、替代、变化、更改和修改并且规定本公开包含所有这样的改变、替代、变换、更改和修改,它们落入附上的权利要求的范围内。为了帮说明书CN104067280A119/9页12助美国专利和商标局(。

46、USPTO)以及另外对该申请所授予的任何专利的任何读者解释随附的权利要求,申请人希望指出申请人(A)不意在让附上的权利要求中的任何权利要求调用35USC章112的第六(6)段,因为它在本提交日时存在,除非词“用于的部件”或“用于的步骤”专门在特定权利要求中使用;以及(B)不意在通过该说明书中的任何阐述以未另外用别的方式在附上的权利要求中反映的任何方式限制该公开。说明书CN104067280A121/5页13图1说明书附图CN104067280A132/5页14图2说明书附图CN104067280A143/5页15图3说明书附图CN104067280A154/5页16图4说明书附图CN104067280A165/5页17图5说明书附图CN104067280A17。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 >


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1