一种检测零日威胁的方法、网络设备、非暂态机器可读介质与流程

文档序号:16448761发布日期:2019-01-02 21:35阅读:235来源:国知局
一种检测零日威胁的方法、网络设备、非暂态机器可读介质与流程

本文所描述的实施例总地涉及网络安全,并且具体涉及用于检测零日威胁的技术。



背景技术:

僵尸网络和恶意软件程序正在使用超文本传输协议(HTTP)用户代理字段以与命令和控制服务器通信。最近被发现的高级的持续的威胁已经显示了使用HTTP客户端来指引命令和控制系统的恶意软件。有时用户代理通过基于签名的技术帮助标识,如对于苹果手机的恶意软件IKEE.B僵尸网络。这种恶意软件使用具有用户代理的HTTP wget命令。

恶意软件作者已经开始意识到反恶意软件系统知道用户代理字段的这种用途,并且已经采取对抗措施。僵尸网络现在已经开始随机化它们的 HTTP通信从而绕过用户代理基于签名的反恶意软件的防御措施。它们可以采用在下载辅助有效载荷的同时能够生成随机用户代理的内置机制。因此期望重新考虑反恶意软件系统检测命令和控制通信的方式。

另外,即使在恶意软件或者僵尸网络系统没有随机化用户代理身份信息的情况下,基于签名的检测只能检测先前已经标识恶意软件签名的已知的威胁。期望一种检测零日(先前未知的)恶意软件的方式。

附图说明

图1是根据一个实施例的示出了主机应用到用户代理的映射的表。

图2是根据一个实施例的示出了使用主机应用到用户代理的映射来检测零日威胁的技术的图。

图3是根据一个实施例的示出了用于分析用户代理的技术的流程图。

图4是根据一个实施例的示出了网络设备的框图。

图5是根据一个实施例的示出了用于与本文所描述的技术一起使用的计算设备的框图。

图6是根据另一个实施例的示出了用于与本文所描述的技术一起使用的计算设备的框图。

图7是根据一个实施例的示出了可编程设备的网络的框图。

具体实施方式

在下面的描述中,为了进行解释,阐述了许多特定的细节以提供对本发明的透彻理解。然而,对本领域技术人员将显而易见的是,在没有这些特定细节的情况下也可实施本发明。在其他实例中,以框图形式示出结构和设备,以避免使本发明变得模糊。对不具有下标或后缀的编号的引用理解为引用对应于所引用编号的下标和后缀的全部实例。此外,已出于可读性和指导性目的大致上选择了本公开中所使用的语言,并且可能未选择这些语言来描绘或限定发明主题,借助于确定此类发明主题所必需的权利要求书。说明书中对"一个实施例"或"实施例"的引用意味着结合该实施例所描述的特定的特征、结构或特性被包括在本发明的至少一个实施例中,并且对"一个实施例"或"实施例"的多个引用不应该被理解为一定都指同一个实施例。

如本文中所使用的,术语“可编程设备”可以是指用于执行描述为在可编程设备上执行或由可编程设备执行的功能的单个可编程设备或一起工作的多个可编程设备。类似地,“机器可读介质”可以指可以存储被描述为被存储在机器可读介质上的材料的单个的物理介质或一起的多个介质。

如本文中所使用的,术语“恶意软件”是指用于扰乱可编程设备的操作、收集敏感信息、或者获得对私有系统或网络的访问的任何软件。恶意软件包括计算机病毒(包括蠕虫、木马等)、勒索软件、间谍软件、广告软件、恐吓软件、以及任何其他类型的恶意程序。

如本文中所使用的,术语“应用”是指任何可执行的软件程序,无论该程序是自包含软件或者是另一程序的组件或者被包含在另一程序中。

如本文中所使用的,术语“用户代理”是指由HTTP通信提供的、通常由HTTP GET产生的、向另一计算机系统请求数据的文本字符串,其中 HTTP GET指定用户代理请求头部字段。用户代理字符串包含关于发起该请求的软件的信息。字段可以包含标识代理的多个产品令牌和注释,以及形成用户代理的重要部分的任何子产品。按照惯例,产品令牌按照它们用于识别应用的重要性的顺序列出。

通过监视相对于生成它们的主机进程/应用在网络中可见的用户代理,可以建立映射主机进程/应用和用户代理的映射表。利用该映射,多个场景变得可用:

如果存在现有的主机进程/应用与用户代理的映射,并且检测到用于该主机进程/应用的新的用户代理,则可以指示漏洞利用(exploit)。

当现有的主机进程或应用软件被升级,该升级可以指示在用户代理字段中的小的变化。我们可以使用逻辑来自动地学习新的映射。

当新的主机进程或应用被安装在网络中,我们可以在管理员的帮助下学习主机应用到用户代理的映射,

在主机进程和其用户代理的映射快速改变的情况下,这可以指示异常行为。例如,浏览器可以提供手动地改变用户代理信息的选项,但是这不会很快地发生。

这是一种在网络中检测恶意软件的未签名的方法。通过创建主机进程/ 应用到用户代理的映射,在已知的主机进程-用户代理的映射中的任何偏差可以被报告为异常的,从而允许用户管理员考虑新的映射以及响应于恶意软件攻击或者帮助系统学习用于新的或现有的主机进程的新的用户代理。下文示出了用于学习主机进程到用户代理的映射以及对网络中可能的恶意的用户代理发出警告的技术。

图1是根据一个实施例的示出了主机应用和相关联的用户代理的列表 100的表。因此,例如,软件(ADOBE和READER是 Adobe Systems股份有限公司的注册商标)可执行文件(ACRORD32.EXE) 在本示例中与用户代理字符串"Microsoft-CryptoAPI/6.1"相关联。相同的用户代理字符串可以与多个主机应用相关联。例如,与Adobe Reader相关联的用户代理字符串在本示例中还与IEXPLORE.EXE、 MATNTENANCESERVICE.EXE、MSIEXEC.EXE、SKYPE.EXE以及 SVCHOST.EXE相关联。单个主机应用可能与多个用户代理字符串相关联。例如,在图1的示例列表中,应用SVCHOST.EXE与用户代理字符串 "Microsoft NCSI"和"Microsoft-CryptoAPI/6.1"相关联。在图1中示出的应用到用户代理的映射是说明性的,并且仅作为示例;通过采用下文所述的技术,网络设备可能可见其他应用、用户代理以及映射,取决于网络设备拦截的网络通信量。

图2是根据一个实施例的示出了使用主机应用到用户代理的映射来检测零日威胁的技术的简图。在本示例中,主机210生成到服务器250的HTTP 请求。尽管本文中被称为“主机”和“服务器”,不应当注重这些名称;每个可以是能够发送和接收HTTP协议通信的任何类型的可编程设备。

根据本实施例的网络设备220拦截HTTP协议网络通信量并且执行下文所述的零日威胁检测技术。尽管在本示例中,网络设备是在主机210和服务器250之间的分离的设备,本文所描述的技术可以被实现为在主机210 或者服务器250或者两者上执行的组件或者模块。替代地,下文所述的功能可以在多个分离的设备中而不是单个网络设备中被实现。

在步骤260中,当在主机210中运行的应用尝试进行来自服务器250 的HTTP GET时,在主机210中运行的反恶意软件的软件将关于期望的连接的元数据提供给网络设备220的元数据服务器230。在一个实施例中的元数据包括尝试进行HTTP GET的可执行文件的散列,例如MD5散列,以及对应于该连接的五元数据:源地址、目的地地址、源端口、目的地端口、和协议。元数据服务器230通过使用将散列值和应用身份关联起来的数据库来使用散列以标识应用。在表100中的每个条目的第一部分示出在一个实施例中,应用身份被提供为可执行文件名称,例如"ACRORD32.EXE"。

然后在步骤262中,元数据服务器230将元数据提供给协议解析引擎 /HTTP代理240,元数据现在包括可执行文件标识符。协议解析引擎240 然后可在高速缓存(图2未示出)中高速缓存元数据信息。协议解析引擎 /HTTP代理240可以被实现为分离的模块或者组件,将协议解析引擎从 HTTP代理引擎分离。

在步骤264中,通过发送SYN分组,主机210开始与服务器250的握手,该握手开始传输控制程序(TCP)连接。在步骤268中将SYN分组传递至服务器250之前,HTTP代理240接收SYN分组并且建立将元数据与连接绑定的关联。在步骤270-272中,执行标准三次握手的剩余部分,在步骤270中执行与发送SYN+ACK分组的服务器250的握手,在步骤272 中执行与响应ACK分组的主机210的握手,以完成在主机210和服务器 250之间建立TCP连接。

在步骤274中,主机210经由与服务器250建立的连接发送数据分组,该数据分组被HTTP代理拦截并且被传递至协议解析引擎/HTTP代理模块 240的协议解析引擎。在步骤276中,协议解析引擎解析数据分组的有效载荷以获得提供在包含在该数据分组中的HTTP GET命令中的用户代理数据 (如果有)。主机应用和用户代理都被提供给进程280中的使用下文所述的分析技术的分析以尝试在主机210上检测恶意软件。

在步骤292中,如果安全策略允许此类通信,协议解析引擎和HTTP 代理将数据分组传递给服务器250。在一个实施例中的网络设备220被配置成防火墙或者入侵保护系统设备,并且可以配置为具有与主机应用到用户代理的映射无关的安全策略,该安全策略可以使网络设备220拒绝允许将在步骤274中发送的数据分组中继至服务器250。在一些实施例中,分析进程280也可以使得拒绝允许将数据分组发送至服务器250。服务器250然后在步骤294中通过数据来响应HTTP GET,该数据被协议解析引擎/HTTP GET代理240拦截并且在步骤296中被中继至主机210。

图3是示出了用于分析框310中主机应用被标识的用户代理数据的分析进程280的实施例的流程图。在框320中,在主机应用到用户代理的高速缓存中执行对主机应用的查找。在框330中,确定查找的结果。如果在应用到用户代理的高速缓存中没有找到主机应用,则在框390中新的主机应用与该用户代理相关联并且该关联被存储在该应用到用户代理的高速缓存中。尽管在图3中被指为高速缓存,可以使用任何类型的主机应用以及相关联的用户代理数据的存储,包括可以存储在网络设备220可用的任何形式的存储介质中的任何类型的数据库、平面文件(flat file)等。除了主机应用和用户代理数据之外,任何其他期望的数据,例如主机应用/用户代理对被看见多少次的计数,可以被保存在高速缓存中。

如果在高速缓存中找到主机应用,则在框340中将被标识在当前数据分组中的用户代理与高速缓存中的用户代理或者与主机应用相关联的代理相比较。如果找到匹配,则在框360中增加计数,指示网络设备220有多频繁地遇到具有该主机应用用户代理对的HTTP GET。尽管图3未显示,在一些实施例中可以作出进一步的检查以确定当前的主机应用和用户代理是否已知为恶意软件,并且可以响应于此类确定的结果采取行动。

如果在当前数据分组中的用户代理未能匹配任何先前相关联的用户代理,则在框350中新的主机应用到用户代理的关联可以被添加到高速缓存。当主机应用更新时(例如通过软件的新的发布),与主机应用相关联的用户代理数据可以随着时间改变。在此类情况下,用于应用的用户代理数据通常被修改,经常通过保留用户代理数据的第一部分而改变第二部分,该第二部分通常在字符串中跟随该第一部分。在一个实施例中,可能检测到和指示用户代理信息的部分匹配。此类已知的非恶意软件应用到用户代理映射的部分匹配通常被认为是低风险的恶意软件。

在一个实施例中,在确定恶意软件的状况之前,配置选项允许管理员设置有多少用户代理可以与主机应用相关联的阈值。在一些实施例中,可以为各个应用建立阈值,允许一些应用具有与其他应用不同的阈值。在其他的实施例中,可以为所有应用建立单个阈值。在另一些实施例中,可以为高速缓存中的所有应用建立作为默认值应用的全局阈值,但是该全局阈值可以被主机应用专用阈值推翻。在框370中,作出与主机应用相关联的用户代理的数量是否超出阈值的确定,并且如果超出,在框380中可以生成对可能的恶意软件的指示。该指示可以是任何期望的类型,包括标志、信息等。该指示可以被存储在管理员或者另一程序可访问的位置,或者根据需要可以被发送或者报告给此类管理员或者程序。该指示可以包括任何期望的数据,包括来自当前数据分组的应用和用户代理数据的一个或多个,以及可从高速缓存或者其他数据源获得的任何其他信息。

在一些实施例中,分析进程280可能能够使得阻止数据分组,从该数据分组中提取过HTTP GET用户代理数据。在其他实施例中,在框380中分析可以仅仅生成对可能的恶意软件的指示,该指示然后可以被管理员或者另一程序检测到并且用于进一步的分析,包括触发对主机210的状况的扫描或者其他分析,以尝试定位并且可能地移除该恶意软件。该指示指出应用是可疑的并且应当被进一步分析。

尽管本公开按照HTTP GET撰写,相同或者相似的技术可以用于HTTP 之外的其他协议以及HTTP GET之外的其他命令。

图4是网络设备400的一个实施例(对应于图2的被连接在主机210 和服务器250之间的网络设备210)的内部结构的框图,该网络设备400 可以执行上文所述的技术。图4中示出的组件或者模块可以在硬件、固件、软件或者其任何组合中实现。根据需要可以包括其他组件,并且根据需要任何组件或者模块可以与任何一个或多个其他组件或者模块组合。在图4 中对组件或者模块的布置是说明性的并且作为示例,并不旨在代表任何物理布置。本文中术语“组件”和“模块”被认为是同义的。

元数据服务器405对应于图2的元数据服务器230。元数据高速缓存为提供给元数据服务器405的元数据提供存储,并且可以通过使用任何永久或者临时的存储技术实现,包括易失性或者非易失性存储技术。主机应用标识符模块415允许对元数据的分析以确定作出HTTP GET请求的主机应用。协议解析引擎420被用来解析HTTP协议,允许从HTTP GET请求中提取用户代理数据。管理和配置模块425允许网络设备400的管理员管理网络设备400,根据需要配置它,例如通过如上所述在框370的讨论中的设置用户代理阈值。其他配置参数或者值可以由模块425建立,包括确定对于在框380中可以建立的对恶意软件的指示应当作出什么响应(如果有) 的配置选项。

在一个实施例中,管理和配置模块425可以允许管理员预加载主机应用到用户代理的映射以及公知映射的高速缓存。类似地,实施例可以允许管理员修改高速缓存,对收集的数据作出期望的改变,例如为新标识的应用到用户代理关联添加条目或者更新条目以标记关联为指示恶意软件。

现在参考图5,框图示出了根据一个实施例的可以用在网络设备210 中的可编程设备500。图5中示出的可编程设备是包括第一处理元件570 和第二处理元件580的多处理器可编程设备500。虽然显示出两个处理元件 570和580,但是可编程设备500的一个实施例也可以只包括一个此类处理元件。

可编程设备500被示为点对点互连系统,其中第一处理元件570和第二处理元件580经由点对点互连550耦合。图5示出的互连的任何或者全部可以被实现为多点总线而不是点对点互连。

如图5所示,处理元件570和580中的每一个可以是多核处理器,包括第一和第二处理器核(即,处理器核574a与574b以及处理器核584a与 584b)。此类核574a、574b、584a、584b可以配置成以结合图1-4与上文中所讨论的方式类似的方式来执行指令代码。然而,其他实施例可以根据需要使用是单核处理器的处理元件。在具有多个处理元件570、580的实施例中,每个处理元件根据需要可以被实现为具有不同数量的核。

每个处理元件570、580可以包括至少一个共享高速缓存546。共享高速缓存546a、546b可以存储被处理元件的一个或多个组件(例如核574a、 574b和584a、584b)分别利用的数据(例如指令)。例如,共享高速缓存可以本地地高速缓存存储器532中存储的数据以供处理元件570、580的组件更快速的访问。在一个或多个实施例中,共享高速缓存546a、546b可以包括一个或多个中级高速缓存,例如,第2级(L2)、第3级(L3)、第 4级(L4),或其他级的高速缓存,末级高速缓存(LLC),或其组合。

尽管图5为了附图的清楚示出了具有两个处理元件570、580的可编程设备,本发明的范围不限于此,并且可以存在任何数量的处理元件。替代地,处理元件570、580的一个或多个可以是处理器之外的元件,例如图形处理单元(GPU)、数字信号处理(DSP)单元、现场可编程门阵列、或者任何其他可编程处理元件。处理元件580相对于处理元件570可以是异构的或者非对称的。按照包括架构、微架构、热、功耗特征等优点的度量谱,处理元件570、580之间可能存在各种差异。这些差异会有效地显示为处理元件570、580之间的不对称性和异构性。在一些实施例中,各种处理元件 570、580可驻留在同一管芯封装中。

第一处理元件570可以进一步包括存储器控制器逻辑(MC)572和点对点(P-P)互连576和578。类似地,第二处理元件580可以包括MC 582 与P-P互连586和588。如图5所示,MC 572和582将处理元件570、580 耦合至相应的存储器,即存储器532和存储器534,这些存储器可以是本地地附连到相应处理器的主存储器的部分。尽管MC逻辑572和582示为被集成到处理元件570、580中,在一些实施例中,MC逻辑可以是处理元件 570、580外部的分立逻辑,而不是被集成于其中。

处理元件570和处理元件580可以分别经由P-P互连576、586和584 被耦合到I/O子系统590。如图5所示,I/O子系统590包括P-P互连594 和598。此外,I/O子系统590包括将I/O子系统590与高性能图形引擎538 耦合的接口592。在一个实施例中,总线549可以被用来将图形引擎538 耦合到I/O子系统590。替代地,点对点互连539可以耦合这些组件。

进而,I/O子系统590可以经由接口596耦合到第一链路516。在一个实施例中,第一链路516可以是外围组件互连(PCI)总线,或者例如PCI快速总线或者另一个I/O互连总线的总线,但本发明的范围并不限于此。

如图5所示,各种I/O设备514可以与桥518一起被耦合到第一链路 516,该桥518可以将第一链路516耦合到第二链路510。在一个实施例中,第二链路520可以是低引脚计数(LPC)总线。各种设备可以被耦合至第二链路520,在一个实施例中,这些设备包括例如键盘/鼠标512、通信设备526 (其进而可以与计算机网络503通信),以及可包括代码530的例如盘驱动器或者其他大容量存储设备的数据存储单元528。代码530可以包括用于执行上文所述一种或者多种技术的实施例的指令。此外,音频I/O 524可以被耦合至第二总线520。

注意,构想了其他实施例。例如,替代图5的点对点架构,系统可以实现多点总线或者另一个此类通信拓扑。尽管在图5中链路516和520示出为总线,可以使用任何期望类型的链路。另外,可以使用比图5中示出的集成芯片更多或者更少的集成芯片替代地划分图5的元件。

现在参考图6,框图根据另一个实施例示出了可编程设备600。为了避免模糊图6的其他方面,已从图6中省略图5的某些方面。

图6示出了处理元件670、680可以分别包括集成的存储器和I/O控制逻辑(“CL”)672和682。在一些实施例中,CL 672、682可以包括例如结合图5上文所述的存储器控制逻辑(MC)。另外,CL 672、682还可以包括I/O控制逻辑。图6示出了不仅存储器632、634可以被耦合到CL 672、 682,而且I/O设备644也可以被耦合到控制逻辑672、682。传统I/O设备 615可以通过接口696被耦合到I/O子系统690。每个处理元件670、680 可以包括多个处理器核,在图6中示出为处理器核674A、674B、684A和 684B。如图6所示,I/O子系统690包括通过链路652和654连接到处理元件670和680的P-P互连676和686的P-P互连694和698。处理元件670 和680也可以分别通过链路650和互连678以及688来互连。

在图5和6中所描绘的可编程设备是可以被用来实现本文所讨论的各种实施例的可编程设备的实施例的示意性说明。在图5和6中所描绘的可编程设备的各种组件可以在片上系统(SoC)架构中组合。

HTTP代理430执行HTTP代理功能。HTTP代理功能是公知的并且本文不作进一步描述。用户代理分析器435执行图3中所述的对主机应用和用户代理的关联的分析。更新模块440可以允许更新网络设备400的软件或者固件以维护和增强网络设备400。最后,可以根据需要包括其他模块 445。例如,其他入侵保护功能可以由此类其他模块445提供,该其他模块 445在数量上可以是一个或多个。

现在参考图7,示意性地示出了在其中可以实现上文所述的技术的示例基础结构700。基础结构700包含计算机网络702。计算机网络702可以包括当今可用的许多不同类型的计算机网络,例如,因特网、企业网络或者局域网(LAN)。这些网络中的每一个可以包含有线或无线的可编程设备,并且使用任意数量的网络协议(例如,TCP/IP)来进行操作。网络702 可以被连接到网关和路由器(由708表示)、最终用户计算机706以及计算机服务器704。基础结构700还包括用于和移动通信设备一起使用的蜂窝网络703。移动蜂窝网络支持移动电话和许多其他类型的设备。在基础结构 700中的移动设备被示为移动电话710、膝上电脑712,和平板电脑714。当移动设备移动时,例如移动电话710的移动设备可以与一个或多个移动供应商网络交互,通常与多个移动网络塔720、730、和740交互以连接到蜂窝网络703。尽管在图7中被称为蜂窝网络,移动设备可以与多于一个的供应商网络的塔交互,以及与多个例如无线接入点和路由器708的非蜂窝设备交互。另外,为了期望的服务,移动设备710、712、和714可以与例如计算机704和706的非移动设备交互,该服务可以包括上文所述的提供应用到用户代理的映射以及分析服务。网络设备210的功能可以在图7中所示的任何设备或者设备的组合中实现;然而,最常见的是在网关或者路由器708中的防火墙或者入侵保护系统中实现。

使用上文所述的技术和装置,随机化用户代理数据的恶意软件可以被检测到,即使基于签名的技术可能不能够将用户代理识别为表示恶意软件。另外,因为用户代理分析不取决于签名,零日威胁可以被检测到并且用户代理信息可以被用来开发用于基于签名的检测技术的签名。

上文所述的非基于签名的技术根据需要可以结合基于签名的技术被实现,基于签名的技术可以在非基于签名的技术之前、之后、或并行地执行。

以下示例关于进一步的实施例。

示例1是一种机器可读介质,指令存储在该机器可读介质上,包括被执行时使机器执行以下操作的指令:由第一设备拦截通过应用对来自第二设备的数据的请求,其中该请求标识用户代理;以及响应于确定在来自该应用的请求中已经标识阈值数量的用户代理,生成指示。

在示例2中,示例1的主题可以任选地包括,其中用于拦截的指令包括被执行时使第一设备进行以下操作的指令:接收包括来自第二设备的请求的数据分组;以及响应于安全策略将该数据分组中继给第二设备。

在示例3中,示例1-2的主题可以任选地包括,其中第一设备提供代理服务。

在示例4中,示例1-2的主题可以任选地包括,其中被执行时使机器生成指示的指令包括被执行时使机器进行以下操作的指令:标识请求数据的应用;从标识用户代理的请求中提取用户代理数据;以及在高速缓存中查找应用和用户代理数据。

在示例5中,示例4的主题可以任选地包括,其中被执行时使机器生成指示的指令进一步包括被执行时使机器进行以下操作的指令:响应于确定在高速缓存中不存在此类条目,向高速缓存添加对应于应用和用户代理数据的条目;以及确定在高速缓存中存在多少用于应用的条目。

在示例6中,示例4的主题可以任选地包括,其中被执行时使机器生成指示的指令包括被执行时使机器进行以下操作的指令:响应于确定在高速缓存中不存在用于应用的条目,向高速缓存添加对应于应用和用户代理数据的条目。

在示例7中,示例1-2的主题可以任选地包括,其中指示指出应用潜在地是恶意软件。

在示例8中,示例1-2的主题可以任选地包括,其中指令进一步包括被执行时使机器进行以下操作的指令:更新标识用户代理的应用的请求的计数。

示例9是一种网络设备,包括:用于充当用于网络通信量的代理服务器、拦截来自在另一设备上执行的应用的数据请求的装置;用于解析被拦截的请求以及确定由请求标识的用户代理的装置;用于标识作出请求的应用的装置;以及用于分析用户代理信息的装置,包括:用于确定有多少用户代理已经与应用相关联的装置;以及用于响应于确定阈值数量的用户代理已经与应用相关联,指示应用为可能的恶意软件的装置。

在示例10中,示例9的主题可以任选地还包括用于处理元数据的装置,包括:用于获得来自对应于应用和请求的另一设备元数据的装置;以及用于基于元数据标识作出请求的应用的装置。

在示例11中,示例9-10的主题可以任选地还包括:应用-用户代理的映射的数据库。

在示例12中,示例11的主题可以任选地还包括:用于允许对数据库进行管理更新的装置。

在示例13中,示例9-10的主题可以任选地包括,其中阈值数量取决于应用。

示例14是一种检测零日威胁的方法,包括:由网络设备接收来自在第一设备上运行的应用数据分组;标识由包含在数据分组中的数据请求指定的用户代理;确定有多少用户代理已经被检测到与应用相关联的计数;以及响应于与预定阈值具有预定关系的计数,由网络设备生成应用可能是恶意软件的指示。

在示例15中,示例14的主题可以任选地包括,其中接收数据分组包括:由网络设备的代理服务器拦截数据分组;以及响应于网络设备的安全策略,将数据分组中继给在数据分组中被指定的目的地。

在示例16中,示例14的主题可以任选地包括,其中由网络设备生成指示包括:从接收自第一设备的元数据中标识应用;解析数据分组以及提取标识用户代理的用户代理数据;以及在应用和相关联的用户代理的高速缓存中查找应用和用户代理。

在示例17中,示例16的主题可以任选地包括,其中由网络设备生成指示进一步包括:响应于在高速缓存中不存在此类条目的确定,向高速缓存添加与应用和用户代理相关联的条目。

在示例18中,示例16的主题可以任选地包括,其中由网络设备生成指示进一步包括:增加指定用户代理的应用的数据请求的计数。

示例19是一种网络设备,包括:一个或多个处理器;数据库,该数据库被耦合到该一个或多个处理器,存储应用和用户代理之间的关联;以及存储器,该存储器被耦合到该一个或多个处理器,指令存储在该存储器上,包括被执行时使一个或多个处理器进行以下操作的指令:由网络设备的代理服务拦截来自第一设备的数据请求;标识在第一设备上的传输了数据请求的应用;标识由请求指定的用户代理;响应于确定在数据库中不存在此类关联,在应用和用户代理之间添加关联;确定应用是否已经与阈值数量的用户代理相关联;以及响应于确定,指示应用是可疑的。

在示例20中,示例19的主题可以任选地包括,其中指令进一步包括被执行时使一个或多个处理器进行以下操作的指令:将数据请求中继给由请求指示的目的地。

在示例21中,示例19的主题可以任选地包括,其中数据库包括高速缓存。

在示例22中,示例19的主题可以任选地包括,其中指令进一步包括被执行时使一个或多个处理器更新由指定用户代理的应用已经作出了多少请求的计数的指令。

示例23是一种网络设备,被配置为:由应用拦截来自第二设备的数据请求,其中请求标识用户代理;以及响应于确定在来自该应用的请求中已经标识阈值数量的用户代理,生成指示。

在示例24中,示例23的主题可以任选地包括,其中网络设备被配置为通过被配置为进行以下操作来拦截请求:接收包括来自第二设备的请求的数据分组;以及响应于安全策略将数据分组中继给第二设备。

在示例25中,示例23-24的主题可以任选地包括,其中网络设备提供代理服务。

在示例26中,示例23-24的主题可以任选地包括,其中网络设备被配置为通过被配置为进行以下操作来生成指示:标识请求数据的应用;从标识用户代理的请求中提取用户代理数据;以及在高速缓存中查找应用和用户代理数据。

在示例27中,示例26的主题可以任选地包括,其中网络设备被配置为通过被配置为进行以下操作来生成指示:响应于在高速缓存中不存在此类条目的确定,向对应于应用和用户代理数据的高速缓存添加条目;以及确定在高速缓存中存在多少用于应用的条目。

在示例28中,示例26的主题可以任选地包括,其中网络设备被配置为通过被配置为进行以下操作来生成指示:响应于在所述高速缓存中不存在用于应用的条目的确定,向对应于应用和用户代理数据的高速缓存添加条目。

在示例29中,示例23-24的主题可以任选地包括,其中指示指出应用潜在地是恶意软件。

在示例30中,示例23-24的主题可以任选地包括,其中网络设备进一步被配置为:更新标识用户代理的应用的请求的计数。

示例31是一种机器可读介质,指令存储在该机器可读介质上,包括被执行时使机器进行以下操作的指令:由第一设备拦截通过应用来自第二设备的数据请求,其中请求标识用户代理;以及响应于确定在来自该应用的请求中已经标识阈值数量的用户代理,生成应用潜在地是恶意软件的指示,其中第一设备提供代理服务。

在示例32中,示例31的主题可以任选地包括,其中用于拦截的指令包括被执行时使第一设备进行以下操作的指令:接收包括来自第二设备的请求的数据分组;以及响应于安全策略将数据分组中继给第二设备。

在示例33中,示例31-32的主题可以任选地包括,其中被执行时使机器生成指示的指令包括被执行时使机器进行以下操作的指令:标识请求数据的应用;从标识用户代理的请求中提取用户代理数据;以及在高速缓存中查找应用和用户代理数据。

在示例34中,示例33的主题可以任选地包括,其中被执行时使机器生成指示的指令进一步包括被执行时使机器进行以下操作的指令:响应于在高速缓存中不存在此类条目的确定,向高速缓存添加对应于应用和用户代理数据的条目;以及确定在高速缓存中存在多少用于应用的条目。

在示例35中,示例33-34的主题可以任选地包括,其中被执行时使机器生成指示的指令包括被执行时使机器进行以下操作的指令:响应于在所述高速缓存中不存在用于应用的条目的确定,向高速缓存添加对应于应用和用户代理数据的条目。

在示例36中,示例31-35中的任一个的主题可以任选地包括,其中指令进一步包括被执行时使机器进行以下操作的指令:更新标识用户代理的应用的请求的计数。

应当理解,以上描述旨在是说明性的而非限制性的。例如,上述实施例可以彼此相结合地使用。在回顾了以上描述之后,许多其他实施例对本领域技术人员将是显而易见的。因此,应当参照所附权利要求书以及被授予权利的此类权利要求的等效方案的完整范围来确定本发明的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1