用于在基于云的机器上将可疑ip地址分类为非目标攻击源的非协议特定系统和方法

文档序号:1722476 发布日期:2019-12-17 浏览:17次 >En<

阅读说明:本技术 用于在基于云的机器上将可疑ip地址分类为非目标攻击源的非协议特定系统和方法 (Non-protocol specific systems and methods for classifying suspicious IP addresses as non-target attack sources on cloud-based machines ) 是由 R·罗南 H·H·纽沃思 T·科伦 O·卡琳 于 2018-04-10 设计创作,主要内容包括:提供了用于检测由第一机器对第二机器的非目标攻击的系统。系统包括应用,应用包括指令,指令被配置为:提取与第一机器和第二机器之间的业务流对应的网络数据,其中第二机器在基于云的网络中被实现;基于网络数据来标识第一可疑外部IP地址;计算针对第一可疑外部IP地址的特征,其中特征包括探索类型特征和开发类型特征;基于预定示例和特征来训练分类器,以生成并更新模型;基于模型和特征中的至少一些特征,对第一可疑外部IP地址分类;以及如果从对第一可疑外部IP地址分类被提供的分类指示第一可疑外部IP地址与对第二机器的恶意攻击相关联,则执行应对措施。(a system for detecting a non-targeted attack on a second machine by a first machine is provided. The system includes an application, the application including instructions configured to: extracting network data corresponding to a traffic flow between a first machine and a second machine, wherein the second machine is implemented in a cloud-based network; identifying a first suspect external IP address based on the network data; computing features for the first suspect external IP address, wherein the features include an exploration type feature and a development type feature; training a classifier based on predetermined examples and features to generate and update a model; classifying the first suspect external IP address based on at least some of the models and features; and if the classification provided from the classification of the first suspect external IP address indicates that the first suspect external IP address is associated with a malicious attack on the second machine, performing a countermeasure.)

用于在基于云的机器上将可疑IP地址分类为非目标攻击源的 非协议特定系统和方法

技术领域

本公开涉及安全应用,并且更具体地涉及检测基于云的机器上的非目标攻击。

背景技术

本文提供的背景描述是为了总体上呈现本公开的上下文。在该背景技术部分中所描述的工作范围内,以及在申请时可能无法视为现有技术的描述的各方面,均未明确或暗含承认当前发明人的工作为现有技术。

基于云的网络允许在满足数据安全访问要求的同时将计算机处理和存储需求从本地网络移动到混合云或完全基于云的网络。基于云的网络可以包括物理机(PM)和虚拟机(VM)。可以经由PM和/或VM来实现云应用。可以从远程位置处的组织的客户站来访问云应用。

发明内容

提供用于检测第一机器对第二机器的非目标攻击的系统。第二机器在服务提供方的服务器计算机中被实现。系统包括处理器、存储器和被存储在存储器中的应用。应用包括可由处理器执行的指令,指令被配置为:提取与第一机器和第二机器之间的业务流对应的网络数据,其中第二机器在基于云的网络中被实现;基于网络数据来标识第一可疑外部因特网协议地址;以及计算第一可疑外部因特网协议地址的特征,其中特征包括探索类型特征和开发类型特征。指令还被配置为:基于预定示例和特征来训练分类器,以生成并更新模型;基于模型和特征中的至少一些特征,对第一可疑外部因特网协议地址分类;以及如果对第一可疑外部因特网协议地址分类提供的分类指示第一可疑外部因特网协议地址与第二机器上的恶意攻击相关联,则执行应对措施(countermeasure)。

在其他特征中,提供了用于检测第一机器对第二机器的攻击的系统。第二机器在服务提供方的服务器计算机中被实现。系统包括处理器、存储器以及被存储在存储器中并包括指令的应用,指令可由处理器执行并且被配置为:提取与第一机器和第二机器之间的业务流对应的网络数据,其中第二机器在基于云的环境中实现网络;以及基于网络数据来确定第一可疑外部因特网协议地址。指令还被配置为:计算第一可疑外部因特网协议地址的特征,其中特征包括探索类型特征和开发类型特征;基于模型和特征中的至少一些特征对第一可疑外部因特网协议地址分类,其中模型基于预定示例,并且预定示例中的每个预定示例具有相应的特征集;以及如果可疑因特网协议地址的分类指示可疑因特网协议地址与第二机器上的恶意攻击相关联,则执行应对措施。

在其他特征中,存储指令的非暂时性有形计算机可读介质,指令可由处理器执行来检测第一机器对第二机器的攻击。第二机器在服务器计算机中被实现。服务器计算机在服务提供方的基于云的网络中被实现。指令用于:提取与第一机器和第二机器之间的业务流对应的网络数据,其中第二机器在基于云的网络中被实现;基于网络数据来确定第一可疑外部因特网协议地址;以及计算第一可疑外部因特网协议地址的特征,其中特征包括探索类型特征和开发类型特征。指令还用于:基于模型和特征中的至少一些特征来对第一可疑外部因特网协议地址分类,其中模型基于预定示例,并且预定示例中的每个预定示例具有相应的特征集;以及如果可疑因特网协议地址的分类指示可疑因特网协议地址与第二机器上的恶意攻击相关联,则执行应对措施。

通过详细描述、权利要求和附图,本公开的其他应用领域将变得显而易见。详细描述和特定示例仅旨在用于图示,并不旨在限制本公开的范围。

附图说明

图1是根据本公开的一个实施例的包括安全应用的安全系统的一个示例的功能框图。

图2是根据本公开的一个实施例的客户端计算机的一个示例的功能框图。

图3是根据本公开的一个实施例的并入应用的服务器计算机的一个示例的功能框图。

图4图示根据本公开的一个实施例的非目标攻击检测方法。

在附图中,附图标记可以被重复使用来标识相似和/或相同元素。

具体实施方式

基于云的网络的安全应用可以监视去往和来自基于云的网络的PM和VM的流量,以检测对例如租户(例如,客户和/或企业)的攻击。这可以包括监视组织的客户端计算机与由PM和VM实现的已访问应用之间的流量。标识对租户的攻击(例如,暴力攻击)对于网络安全至关重要。用于检测暴力攻击的常规方法是针对特定协议(例如,远程桌面协议(RDP)或安全外壳(SSH)协议)定制的。攻击者可能攻击根据RDP和SSH协议以及其他协议操作的系统。为这些协议中的每个协议设计特定的恶意活动监视和阻止系统都不经济。

已开发了用于使用机器学习、基于经采样的网络数据来检测暴力攻击的异常检测方法。这些方法也是RDP特定的,并基于对结构化查询语言(SQL)的监督学习,并且是端口特定的。短语“端口特定”是指方法特定于根据特定协议操作的端口。

本文阐述的示例提供了“通用”解决方案。如本文所使用的术语“通用”是指解决方案不是协议特定的和/或不特定于根据特定协议操作的端口。示例包括攻击检测系统,攻击检测系统用于标识基于云的网络外部的机器的因特网协议(IP)地址,并连接到基于云的网络内部的机器的租户IP地址。基于云的网络外部的机器的IP地址在本文中称为“外部IP地址”。类似地,基于云的网络内部的机器的IP地址在本文中被称为“内部IP地址”。外部IP地址连接到内部IP地址来执行恶意活动。例如,恶意活动可能与暴力攻击相关联。攻击检测系统查找同时执行端口扫描(称为“探索”活动)和重复交互(称为“开发”活动)的外部IP地址。端口扫描(或“扫描攻击”)包括具有对多个内部IP地址进行扫描来尝试访问基于云的网络内部的一个或多个设备的外部IP地址的设备。内部IP地址可以具有不同的租户和/或订阅。开发活动的示例包括重复尝试访问和/或重复访问基于云的网络内部的同一设备。

攻击检测系统实现监督学习方法,其中针对(i)与探索活动相关联的一次交互,以及(ii)与开发活动相关联的重复交互,分别提取特征。攻击检测系统可以成功标识跨不同协议的暴力攻击和/或其他网络攻击(或非目标攻击)。攻击检测系统并不旨在标识目标攻击。

目标攻击(在本文中也称为“定向目标攻击”)指代针对特定实体或实体组的攻击,其中实体指代PM或VM。例如,目标攻击可以针对用户设备、用户设备组、特定租户(例如,客户和/或企业)、订阅的VM和/或PM、执行特定云应用的VM和/或PM、行业的VM和/或PM、地理区域(例如,城市、州或国家)中的VM和/或PM等。订阅可以指代例如租用一个或多个资源、容器、机器的集合、业务机器的逻辑子集和/或业务单元。业务单元包括租户的PM和/或VM的集合。云服务提供方经由基于云的网络来提供资源(例如,具有对应的可执行代码、服务器计算机处理时间和/或存储的软件应用)。云服务提供方使用VM或容器来实现基础设施即服务(IaaS)和平台即服务(PaaS)。容器包括处理、存储和应用资源。数据中心可以包括托管VM或容器的服务器计算机。每个服务器可以托管许多VM和/或容器。VM在客户操作系统上运行,并与监管程序交互,监管程序共享并管理服务器硬件并隔离VM。与VM不同,容器不需要安装完整的OS或主机服务器硬件的虚拟副本。容器可以包括一些软件模块和库,并且需要使用操作系统的某些部分。由于减少了占用空间,与虚拟机相比,可以在服务器上部署更多容器。

目标攻击不指代由在因特网中搜索的攻击机器针对攻击机器可以获得访问和控制的任一机器执行的网络攻击(或非目标攻击)。该类型的攻击通常包括攻击机器对因特网探测来获得对任一机器的访问和控制。攻击机器通常具有攻击模式、使用相同的密码库、在一天中的特定时间攻击、以周期性模式执行攻击等。通常,非目标攻击在可以经由因特网访问的大多数(非全部)机器上连续发生。执行目标攻击的攻击者通常投入大量资源来执行攻击。这可以包括:花大量时间执行攻击;经由大量机器攻击;在一个或多个攻击机器与被攻击的一个或多个实体之间传输大量数据和/或信号等。目标攻击比非目标攻击更具针对性,并且通常包括窃取数据、信息和/或对被攻击的一个或多个实体造成伤害。

目标攻击和非目标攻击之间的区别可能不容易显而易见。例如,如果攻击者扫描属于客户的VM的因特网协议(IP)地址,则攻击可以是目标攻击或非目标攻击。如果扫描VM是巧合,则攻击是非目标攻击。如果攻击者周期性地或随机地扫描IP地址组,并且在特定时间段期间,攻击者扫描了所关注的VM的IP地址,则攻击是非目标攻击。执行非目标攻击的攻击者通常对试图影响任何可访问机器的许多受害者(即,被攻击实体)执行浅表扫描。

然而,如果VM的扫描专门针对某些VM,而其他VM(例如,目标组之外的VM)没有受到攻击,则攻击是目标攻击。当前的端口扫描软件除了允许扫描IP地址序列外,还允许扫描随机IP地址。攻击者经常扫描数百甚至数千个IP地址。因此,仅扫描所关注的VM的特定集合可以指示已发生目标攻击。作为另一示例,如果所关注的所有VM都与属于同一客户的相同的已知恶意IP地址通信,则攻击可能是目标攻击。恶意活动的持续和/或精心策划的协作可能会受到监视,并指示已发生目标攻击。目标攻击的一个示例原因是窃取***信息。目标攻击可以针对一个或多个个人和/或在某个商店购物的个人。公司的安全漏洞可能导致花费大量金钱来弥补漏洞以及漏洞带来的负面影响(包括修复公司的声誉)。

通过检测非目标攻击,可以执行适当的应对措施和/或可以向用户警告攻击,然后可以通过执行适当的动作阻止攻击来响应。

图1示出了安全系统的一部分10,部分10包括客户端计算机12、分布式通信系统14、代理16、网关18、一个或多个访问服务器计算机20以及其他服务器计算机22、24。在一些示例中,网关18、一个或多个访问服务器计算机20以及一个或多个服务器计算机22在基于云的网络25中被实现。服务器计算机22、24可以在数据中心中被实现;示出了示例数据中心26。数据中心中的每个数据中心可以包括数据存储装置和任何数目的服务器计算机。示例数据存储装置在图2中示出。数据中心可以位于对应的地理区域中,其中每个地理区域均指代:一个或多个企业的地理区域;一个或多个城镇;一个或多个城市;一个或多个州;一个或多个国家;大陆和/或其他地理区域。在一些示例中,一个或多个服务器计算机24在基于云的网络25或另一服务提供方网络中被实现。在另一示例中,访问服务器计算机20不包括在安全系统10中,并且网关18与服务器计算机22、24直接通信。在所示的示例中,客户端计算机由对应的组织27拥有。组织27可以包括局域网(LAN)28和防火墙30。客户端计算机12可以直接和/或经由LAN 28和防火墙30来访问分布式通信系统14。分布式通信系统14可以包括路由器29。组织27中的一个或多个可以包括多个LAN和对应的客户端计算机,其中每个LAN和对应的客户端计算机位于数据中心26的对应地理区域中。

基于云的网络25可以由云服务提供方实现,并且在一个实施例中,包括客户端虚拟机、网络设备和应用服务器计算机。网络设施的示例包括路由器(例如,路由器31)、交换机、防火墙、代理服务器计算机、万维网(或Web)服务器计算机、广域网(WAN)加速器、入侵检测系统(IDS)设备和入侵防御系统(IPS)设备。网络设施在应用服务器计算机和客户端计算机之间提供中介服务。客户端计算机12可以在基于云的网络25中被实现为VM和/或PM 32,或者可以位于处所中。网络设施和应用服务器计算机可以被实现为基于云的网络25的一个或多个VM。

基于云的网络25可以包括服务器计算机22、24中的一个或多个。基于云的网络25还包括可以由客户端计算机12共享的资源。云服务提供方可以经由基于云的网络25向租户(例如,客户和/或企业)提供资源(例如,具有对应可执行代码的软件应用、服务器计算机处理时间、服务器计算机处理器速度、数据存储、VM、PM和/或其他资源)。资源可以包括用户管理工具、安全应用资源或其他资源(例如,提供的资源的一个示例为)。租户可以具有一个或多个订阅。订阅可以指代例如一个或多个资源、容器、机器的集合、企业的机器的逻辑子集和/或业务单元的的租赁。业务单元包括租户的PM和/或VM集合。云服务提供方使用VM或容器来实现基础设施即服务(IaaS)和平台即服务(PaaS)。容器包括处理、存储和应用资源。数据中心可以包括托管VM或容器的服务器计算机。每个服务器可以托管许多VM和/或容器。VM在客户操作系统上运行,并与监管程序交互,监管程序共享并管理服务器硬件并隔离VM。与VM不同,容器不需要安装完整的OS或主机服务器硬件的虚拟副本。容器可以包括一些软件模块和库并且需要使用操作系统的某些部分。由于减少了占用空间,与虚拟机相比,可以在服务器上部署更多容器。服务器计算机22、24可以包括VM(例如,示出了VMS1-Y),可以将VM实现为PM(例如,PMS1-Y)。可以在服务器计算机22、24上实现软件应用,服务器计算机22、24可以被称为物理机器。

客户端计算机12可以由不同的个人和/或实体私自拥有。在所示示例中,客户端计算机12由组织27拥有。客户端计算机12中的每个客户端计算机可以访问被存储在服务器计算机22和/或VM 32中的一个或多个云应用34。组织27可以拥有和/或具有对VM 32和/或云应用34中的对应一个的付费访问。客户端计算机12可以包括台式/膝上型计算机、平板电脑、移动电话、可穿戴设备、访问终端和/或用于访问云应用34的其他网络设备。访问云应用34可以包括:与云应用34通信;与云应用34相关联地在客户端计算机12和服务器计算机22之间传递数据、分组、信息等;修改和/或更新云应用;和/或上传和/或下载云应用34和/或与云应用34相关联的文件。

分布式通信系统14可以包括用于在(i)客户端计算机12和/或组织27和(ii)网关18之间引导数据和/或分组的路由器、交换机和/或其他网络设备。分布式通信系统14可以包括网络(例如,局域网(LAN)、无线局域网(WLAN)和/或广域网(WAN)(例如,因特网))。代理16可以在防火墙30与网关18之间传递数据、分组、信息等。在一个实施例中,代理16被实现为分布式通信系统14的一部分。网关18可以在分布式通信系统14与访问服务器计算机20之间传递数据、分组、信息等。访问服务器计算机20可以提供与服务器计算机22和/或24的直接通信的访问。在一个实施例中,访问服务器计算机20被实现为客户端访问服务器计算机并促进从服务器计算机24向客户端计算机12提供服务(例如,与软件即服务(SaaS)应用相关联的服务)。网关18、访问服务器计算机20、服务器计算机22和/或服务器计算机24可以在提供软件应用的服务提供方的内部网络中被实现。

服务器计算机24中的每个服务器计算机包括执行被存储在一个或多个存储器44中的软件应用(例如,安全应用42)的一个或多个处理器40。待分配给客户的VM32中的一个或多个和/或其他资源可以在服务器计算机24中被实现。安全应用42包括攻击检测系统42,攻击检测系统42包括数据收集器46、预过滤器48、交互长度确定器50、特征计算器52、第一后过滤器54、第二后过滤器56、分类器58和应对措施启动器60。尽管数据收集器46、预过滤器48、交互长度确定器50、特征计算器52、第一后过滤器54、第二后过滤器、分类器58和应对措施启动器60被示出为单个应用(安全应用42)的一部分,但是数据收集器46、预过滤器48、交互长度确定器50、特征计算器52、第一后过滤器54、第二后过滤器56、分类器58和应对措施启动器60可以被实现为两个或更多个应用的一部分。

安全应用42可以由服务提供方提供作为服务应用,并用于监视在基于云的网络25中被实现的云应用。针对访问云应用34和VM/PM32,安全应用42监视客户端计算机12和/或客户端计算机12的用户的行为。客户端计算机12可以经由网页浏览器和对应的网站来访问安全应用42。安全应用42收集与行为相关联的数据、参数、风险因子和/或信息并检测异常。安全应用42可以监视例如组织的客户端计算机与所访问的云应用、VM和PM之间的流量。安全应用42监视与访问云应用、VM和PM相关联的信息(例如,数据、日志、参数、风险因子和/或其他信息)。安全应用42基于信息来检测异常。基于信息,生成警报,警报可以包括信息和/或从中导出的其他信息。

安全应用42可以在基于云的网络25和/或服务提供方的网络中被实现,并且用于监视(i)客户端计算机与(ii)云应用的VM和/或PM之间的活动。安全应用42通过监视与从VM和PM传输的分组或传输到VM和PM的分组相关联的信息(例如,数据、日志、参数和风险因子)来监视VM和PM的活动。基于所接收的信息,安全应用42确定用户和/或客户端计算机中的一个或多个是否正在攻击云应用和/或对应的VM、PM和服务器计算机中的一个或多个。安全应用42可以确定一个或多个VM和/或PM是否正在攻击其他VM和/或PM。安全应用42将恶意活动通知给VM和PM的所有者。这允许所有者、VM和/或PM采取适当的措施,以防止对云应用的进一步攻击和/或阻止对云应用的访问。尽管安全应用42被示出为在服务器计算机24中被实现,但是安全应用42可以与一个或多个VM在同一服务器计算机中被实现。

安全应用42还基于所收集和/或所确定的数据和参数来执行非目标攻击检测方法,以标识非目标攻击。数据收集器46、预过滤器48、交互长度确定器50、特征计算器52、第一后过滤器54、第二后过滤器56、分类器58和应对措施启动器60可以包括一个或多个方法的执行,一个或多个方法包括使用一个或多个等式来执行过滤、交互长度确定、特征计算和/或分类操作。数据收集器46、预过滤器48、交互长度确定器50、特征计算器52、第一后过滤器54、第二后过滤器56、分类器58和应对措施启动器60的操作可以在连续的时间段内迭代执行。

数据收集器46被实现为跟踪数据和参数。在一个实施例中,数据包括因特网协议流信息输出(IPFix)数据。IPFix数据可以包括例如源和目的地IP地址、源和目的地端口标识符(ID)、同步(SYN)传输控制协议(TCP)标志等。参数可以包括第一参数和第二参数。第一参数可以包括:攻击实体的IP;攻击实体的用户标识符(ID);攻击实体的客户IP;攻击实体使用的攻击工具的标识(例如,Amap、攻击脚本或基于其他攻击或扫描的工具);僵尸网络ID;攻击者和/或攻击实体的起源地理区域;攻击模式信息(例如,流量速率、预定时间段内的访问次数、访问时间、流量速率的峰值等);客户端端口ID;和/或其他参数。第二参数可以包括:租户ID;服务订阅ID;操作域的ID;租户所在行业(例如,医疗保健行业、汽车行业、移动通信行业等)的ID;租户地理区域的ID;被攻击实体用户起源的地理区域的ID;和/或针对被攻击实体的不同集合的其他ID。

数据收集器46可以从路由器31和/或基于云的网络25中的其他设备和/或机器收集数据,并且将数据和/或参数存储在数据存储装置72中。数据收集器46可以与在基于云的网络中被实现的“代理服务器”通信和/或从“代理服务器”接收数据,并监视和/或促进外部IP地址和内部IP地址之间的数据传递。代理服务器可以指代基于云的网络中的设备和/或机器,并且被配置为充当代理来提供与对应的数据传递事件有关的数据和/或参数。

预过滤器48确定可疑地执行非目标攻击并因此被称为“可疑外部IP地址”的设备的外部IP地址。交互长度确定器50确定基于云的网络25中的设备的可疑外部IP地址和内部IP地址之间的交互事件是短交互还是长交互。在一个实施例中,短交互是例如可疑外部IP地址和一个或多个内部IP地址之间的数据流数目小于第一预定量的交互。“数据流”指代不同的数据传递事件,在数据传递事件期间,在可疑外部IP地址和一个或多个内部IP地址之间传递数据。连续数据传递事件之间的时段(例如,延迟时段和/或数据传递已停止的时段)可以指示不同数据传递事件之间的时段。当第一数据传递事件已发生并且没有计划传递进一步的数据时,可以认为第一数据传递事件已完成,并且连续数据传递被认为是另一不同的数据传递事件。长交互例如是可疑外部IP地址和一个或多个内部IP地址之间的数据流数目大于或等于第二预定量的交互。第二预定量可以大于或等于第一预定量。

在另一实施例中,短交互例如是可疑外部IP地址和一个或多个内部IP地址之间的数据流持续时间小于第一预定持续时间的交互。对于该实施例,长交互例如是可疑外部IP地址和一个或多个内部IP地址之间的数据流持续时间大于或等于第二预定持续时间的交互。第二预定持续时间可以大于或等于第一预定持续时间。

特征计算器52计算与可疑外部IP地址和内部IP地址之间的交互相关联的特征。如下所述示例特征。第一后过滤器54滤除具有小于预定数目的短交互和/或小于预定数目的长交互的可疑外部IP地址。第二后过滤器56滤除大部分或预定百分比的对应数据流不是经由与可疑外部IP地址相关联的机器的单个端口的可疑外部IP地址。

分类器58将经后过滤的剩余可疑外部IP地址分类为恶意或非恶意。在一个实施例中,分类器58基于所收集的数据、所确定的参数和/或所计算的特征来确定恶意的可能性得分。在另一实施例中,分类器58基于预定模型对剩余的可疑外部IP地址分类。

在一个实施例中,分类器58是随机森林分类器,并在训练会话期间更新模型,并基于模型来对信息集(例如,所收集的数据、所确定的参数和/或所计算的特征)分类。分类可以指示信息集是否与恶意攻击相关联。分类可以包括指示信息集与恶意攻击相关联的概率或可能性的相应得分。分类器58可以实现多个随机决策树来提供均值预测。分类可以基于每个特征的重要性值,其中每个重要性值是该特征带来的标准的归一化总归约。重要性值中的每个重要性值可以指示特征是外部IP地址是否与恶意攻击相相关联的指示符的程度。重要性值可以被称为“基尼”重要性值。下表1中提供了示例重要性值。

应对措施启动器60基于分类器58确定的分类来执行一个或多个应对措施。应对措施可以包括生成警报来报告事件,以及将警报发送给租户设备、客户设备、服务提供方设备和/或其他设备,使得可以阻止来自恶意IP地址的信号。应对措施可以包括执行任务来阻止来自恶意IP地址的传输和/或防止恶意IP地址的设备访问基于云的网络25中的设备和/或机器。下面描述其他应对措施。

在下面相对于图4的方法进一步描述数据收集器46、预过滤器48、交互作用长度确定器50、特征计算器52、第一后过滤器54、第二后过滤器56、分类器58和应对措施启动器60的操作。数据收集器46、预过滤器48、交互长度确定器50、特征计算器52、第一后过滤器54、第二后过滤器56、分类器58和应对措施启动器60可以在单独的服务器计算机中或在相同的服务器计算机中被实现。而且,尽管将数据和参数描述为被存储在数据存储装置72中,但是也可以将数据和参数存储在服务器计算机的存储器(例如,图1的一个或多个存储器44)中。下面关于图4的非目标攻击检测方法来进一步描述处理器40和安全应用42、数据收集器46、预过滤器48、交互长度确定器50、特征计算器52、第一后过滤器54、第二后过滤器56、分类器58和应对措施启动器60的操作。

在图2中,示出了客户端计算机100的一个简化示例。图1的客户端计算机12可以被实现为客户端计算机100。客户端计算机100包括中央处理单元(CPU)或处理器104以及诸如小键盘、触摸板、鼠标等的输入设备108。客户端计算机100还包括诸如易失性或非易失性存储器的存储器112、高速缓存或其他类型的存储器。客户端计算机100还包括大容量存储设备113(例如,闪存、硬盘驱动器(HDD)或其他大容量存储设备)。

客户端计算机100的处理器104执行操作系统114和一个或多个应用118。例如,应用118可以包括浏览器。客户端计算机100还包括在分布式通信系统14上建立通信信道的有线接口(例如,以太网接口)和/或无线接口(例如,Wi-Fi、蓝牙、近场通信(NFC)或其他无线接口(在120处统一标识))。客户端计算机100还包括显示子系统124,显示子系统124包括显示器126。

在图3中,示出了服务器计算机130的一个示例。图1的服务器计算机20、22、24可以被实现为服务器计算机130和/或具有与服务器计算机130类似的架构。服务器计算机130包括一个或多个处理器和输入设备148(例如,小键盘、触摸板、鼠标等)。服务器计算机130还包括服务器存储器132(例如,易失性或非易失性存储器、高速缓存或其他类型的存储器)和处理器134。处理器134执行操作系统(OS)164以及一个或多个服务器应用168和/或VM应用。服务器应用的示例包括在虚拟化层中被实现并连同OS 164执行的安全应用42和虚拟服务器服务应用170。虚拟服务器服务应用170创建其中VM(或客户)OS(例如,VM1 OS和VM2 OS)运行的虚拟环境。示例VM应用App 1、App 2、App 3和App 4被示为分别在VM 176、178的VM存储器172、174中被实现。VM应用可以包括自动生成的网站、网络设施、存储应用、生产力应用和/或其他VM应用的实例。作为示例示出了VM应用App 1-4。VM存储器中的每个VM存储器可以包括一个或多个VM应用。

服务器计算机130还包括在分布式通信系统14上建立通信信道的有线或无线接口180。服务器计算机130还包括显示子系统182,显示子系统182包括显示器184。服务器计算机130可以进一步包括大容量存储设备186(例如,闪存、硬盘驱动器(HDD)或其他本地或远程存储设备)。处理器134还可以经由接口180和分布式通信系统14来访问远程数据存储库190的数据存储188,或经由接口180来访问诸如数据库的数据存储192。

下面关于图4的目标检测方法来进一步描述图1的客户端计算机12、服务器计算机20、22、24和处理器40的操作。尽管主要关于图1的实现描述以下操作,但是可以修改操作,以应用于本公开的其他实现。可以迭代地执行操作。操作可以被称为外部IP地址特定的,而不是内部IP地址特定的。这是因为以下操作中涉及的数据、参数、特征和分类针对外部IP地址进行收集、分组、计算和/或确定。

方法开始于200并且包括由处理器40执行安全应用42。在202处,数据收集器46收集数据(例如,IPFix数据)、日志、分组、风险因子、第一参数、第二参数和/或与云应用34和基于云的网络25的VM和/或PM 32的访问相关联的其他相关信息。在一个实施例中,收集用于外部IP地址和基于云的内部IP地址之间的交互的IPFix数据。IPFix数据可以包括在外部IP地址和内部IP地址之间传递的分组的标头中。

随时间追踪相关信息,并且相关信息可以被存储在服务器计算机20、22、24的存储器和/或数据存储装置(例如,数据存储装置72、188、192)中。例如,访问信息的日志可以包括访问开始时间、访问结束时间、访问持续时间、发送实体的IP地址、接收实体的IP地址、用户名、云应用名称、数据上传量、数据下载量、事务数目、访问次数、所传递的分组数目、每秒请求数目、分组大小、预定时段内的访问次数、发生访问的地理位置等。

安全应用42可以请求、接收、访问和/或跟踪来自各种源的网络活动、参数和其他相关信息。作为第一示例,安全应用42从路由器31、服务器计算机20、22、24、VM和/或PM 32和/或基于云的网络25内的其他设备和实体收集网络活动、参数和其他相关信息。作为另一示例,VM和PM 32中的一个或多个包括被配置为用作代理服务器的应用(例如,应用34中的一个或多个),应用向安全应用42报告所跟踪的网络活动、参数和其他相关信息。参数的一些示例是:用户标识符、客户端计算机标识符、客户端计算机的地址、云应用标识符、用户/客户端计算机与一个或多个云应用之间的事务数目、用户/客户端计算机与一个或多个云应用之间的流量、在预定时间段内用户/客户端计算机与一个或多个云应用之间的事务数目、在预定时间段内用户/客户端计算机与一个或多个云应用之间的流量、用户/客户端计算机使用一个或多个云应用的时段、用户/客户端计算机访问的云应用的总数、用户/客户端计算机在预定时间段内访问的云应用总数。

参数中的一些是风险因子,例如:用户/客户端计算机与一个或多个云应用之间的事务数目、用户/客户端计算机与一个或多个云应用之间的流量、在预定时间段内用户/客户端计算机与一个或多个云应用之间的事务数目、在预定时间段内用户/客户端计算机与一个或多个云应用之间的流量、用户/客户端计算机使用一个或多个云应用的时段、用户/客户端计算机访问的云应用的总数、以及用户/客户端计算机在预定时间段内访问的云应用的总数。其他参数和风险因子包括:用户和/或客户端计算机的起源的地理区域、用户和/或客户端计算机执行的活动的合规性以及用户和/或客户端计算机的信誉。

一个或多个参数和/或风险因子可以针对一个或多个用户/客户端计算机、组织的用户/客户端计算机、组织的VM和/或PM、预定用户/客户端计算机组和/或一个或多个云应用。可以针对每个外部IP机器、外部IP设备和/或一个或多个外部IP端口来监视所监视的参数。外部IP机器可以指代物理机器或虚拟机。可以将数据和/或参数存储在一个或多个存储器44中和/或数据存储装置72中的表中,并在随后的操作期间对其访问。

在203处,数据收集器46可以将外部IP地址中的每个外部IP地址的数据和/或参数分组。数据和/或参数的组可以被存储在例如数据存储装置72中,并且可以被处理器40和/或数据收集器46、预过滤器48、交互长度确定器50、特征计算器52、第一后过滤器54、第二后过滤器56、分类器58和应对措施启动器60中的任一个访问。

在204处,预过滤器48预过滤外部IP地址,以确定与基于云的内部IP地址发生交互事件的可疑外部IP地址。在一个实施例中,具有大于或等于预定数目的数据流和/或与一个或多个内部IP地址交互的外部IP地址被认为是可疑外部IP地址。在另一实施例中,具有每秒大于或等于预定数目的请求、最小流量和/或在预定时间段内大于或等于预定数目的数据流的外部IP地址被视为可疑外部IP地址。作为另一示例,如果外部IP地址具有与内部IP地址的预定数目的连接(例如,TCP连接),则将外部IP地址视为可疑外部IP地址。该预过滤操作减少了待在208处计算其特征的外部IP地址的数目。

在一个实施例中,在操作204之前执行操作206。在该实施例中,具有大于预定数目的短交互和/或大于预定数目的长交互的外部IP地址被视为可疑外部IP地址。作为又一示例,如果外部IP地址具有多于预定数目(例如,4)的TCP数据流或交互、多于预定数目(例如,5)的短(或低频)交互以及多于预定数目(例如,1)的长(高频)交互,则将外部IP地址视为可疑外部IP地址。

在206处,交互长度确定器50标识可疑外部IP地址和内部IP地址之间的短交互和长交互。在一个实施例中,如上所述,标识了短交互和长交互。

在另一实施例中,如果可疑外部IP地址和一个或多个内部IP地址之间的数据流和/或交互的数目小于第一预定阈值,则在可疑外部IP地址和/或内部IP地址之间的所有数据流和/或交互被标识为短交互。在同一实施例中,如果可疑外部IP地址和一个或多个内部IP地址之间的数据流和/或交互的数目大于或等于第二预定阈值,则在可疑外部IP地址和一个或多个内部IP地址之间的所有数据流和/或交互被标识为长交互。第二预定阈值可以大于或等于第一预定阈值。

在208处,特征计算器52针对可疑外部IP地址计算特征,特征包括针对短交互(或探索交互)的特征和针对长交互(或开发交互)的特征。特征总结了可疑外部IP地址的不同网络方面。第一示例特征是对应于短交互的SYN消息的百分比。另一示例特征是对应于长交互的SYN消息的百分比。又一示例特征是与可疑外部IP地址短交互的不同IP地址的数目。另一示例特征是与可疑外部IP地址长交互的不同IP地址的数目。

以下表1中提供了附加示例特征。除了特征PortFreq1、PortFreq2、PortFreq3和numDistinctRarePorts(称为端口频率特征)之外,表1中的特征中的每个特征针对单个可疑外部IP地址以及已与可疑外部IP地址交互的任意数目的内部IP地址。特征中的每个特征还可以针对与探索交互和开发交互相关联的数据流。与探索交互相关联的特征的一个示例是fracLowFreqSrcSyn。与开发交互相关联的特征的一个示例是fracHighFreqSrcSyn。

端口频率特征PortFreq1、PortFreq2、PortFreq3指示基于云的网络中与可疑外部IP地址交互的端口的频率。端口频率特征numDistinctRarePorts指示可疑外部IP地址最常与之交互的10个端口以外,可疑外部IP地址与之交互的端口数。端口频率特征允许分类器58确定可疑外部IP地址的活动是与相同类型的协议的端口相关联还是与不同类型的协议的端口相关联。例如,如果活动是使用根据相同类型的协议(例如,RDP,SSH等)操作的端口,则活动很可能是恶意的。如果活动与根据不同协议操作的端口相关联,则活动很可能不是恶意的。在表1中,特征fracSrcSyn指示可疑外部IP地址的SYN消息数除以可疑外部IP地址的消息总数。

表1–示例特征

在210处,第一后过滤器54滤除具有少于第一预定数目的短交互或少于第二预定数目的长交互的可疑外部IP地址,以提供可疑外部IP地址的第一子集。

在212处,第二后过滤器56滤除第一子集中与可疑外部IP地址相关联(或交互)的预定数目或预定百分比的数据流不在单个端口上的每个可疑外部IP地址。单个端口可以指代攻击者的设备或机器的端口,端口位于基于云的网络25外部。在一个实施例中,第二后过滤器56滤除具有小于与一个或多个内部IP地址交互的预定频率的每个外部可疑IP地址。第二后过滤过程提供了可疑外部IP地址的第二子集。可以基于数据、参数和/或特征来执行该过滤。

在214处,特征计算器50将可疑外部IP地址中的每个可疑外部IP地址的特征分组。第二子集中的每个可疑外部IP地址具有所计算的特征的对应子集。因此,特征按外部IP地址分组。

在216处,一个或多个处理器40检测攻击者的恶意活动并执行适当的应对措施。在216A处,分类器58将第二子集中的每个外部IP地址和/或第二子集中的可疑外部IP地址的交互分类。分类器58可以在第三子集中包括被认为是恶意的、预测为恶意的和/或具有在216A确定为大于预定值的对应分数的可疑外部IP地址中的每个可疑外部IP地址和/或交互来提供第三子集。

分类基于每个对应可疑外部IP地址的数据、参数和/或特征。作为示例,将特征值提供给分类器58,分类器58然后基于特征值提供分类。在一个实施例中,分类器58对第二子集中、对应可疑外部IP地址的流量的大部分(或超过预定百分比)发生在具有可疑外部IP地址的外部设备和/或机器的单个源端口上的每个可疑外部IP地址分类。分类可以指示第二子集中的每个可疑外部IP地址是否是恶意的和/或包括指示可疑外部IP地址是恶意的概率和/或可能性的得分。如上所述,分类器58可以用作随机森林分类器并执行随机森林算法来提供所述分类。分类可以基于分类器58的模型的随机决策树提供的预测均值。

在一个实施例中,与被分类为恶意的外部IP地址交互的内部IP地址和/或与内部IP地址相关联的对应设备和/或机器被标记为恶意活动的受害者。该信息可以被存储在存储器44和/或数据存储装置72中。恶意活动很可能与受害者的长交互相关联。

在216B处,分类器58可以从第三子集中进一步滤除某些可疑外部IP地址来提供第四子集。该过滤可以包括滤除(i)与向服务提供方订阅了与安全应用42和/或基于云的网络25的基于云的服务相关联的服务的少数目(即,小于第一预定数目)的租户交互的设备和/或机器的可疑外部IP地址,(ii)与向服务提供方订阅了与安全应用42和/或基于云的网络25的基于云的服务相关联的服务的少数目(即,小于第二预定数目)租户地址交互的设备和/或机器的可疑外部IP地址,和/或(iii)与向服务提供方订阅了与安全应用42和/或基于云的网络25的基于云的服务相关联的服务的少数目(例如,小于第三预定数目)不同订阅相关联的设备和/或机器交互的设备和/或机器的可疑外部IP地址。第一、第二和第三预定数目可以相同或不同。

在216C处,应对措施启动器60基于在216A处确定的分类和在216B处执行的过滤结果,执行一个或多个应对措施。在一个实施例中,如果第三子集中的一个或多个可疑外部IP地址和/或对应的事务被认为是恶意的、被预测为恶意的和/或具有在216A处被确定为大于预定值的对应得分,则执行应对措施。在另一实施例中,如果第四子集中的一个或多个可疑外部IP地址和/或对应事务被认为是恶意的、被预测为恶意的和/或具有在216A处被确定为大于预定值的对应得分,则执行应对措施。在另一实施例中,如果已与第三子集或第四子集中的可疑外部IP地址长交互的租户和/或对应机器被认为是恶意的、被预测为恶意的和/或具有在216A处被确定为大于预定值的对应得分,则执行应对措施。长交互可以指代在208处确定的长交互。应对措施可以包括将对应的恶意活动事件和相关信息报告给租户和/或对应机器。下面描述了可能生成的这些警报和其他警报。

应对措施启动器60可以对警报的重要性进行优先级排序,并以高优先级调查警报。优先级排序可以基于警报的严重性。严重性是指与攻击相关联的潜在负面影响的级别。严重性级别可以指示例如是否可能访问了个人数据、是否已安装恶意代码、是否破坏了软件和/或数据、信息是否被盗等。可以向客户报告严重性级别高的警报。可以忽略并且通常不向客户报告具有低严重性级别的警报。如本文所公开的,除了在高严重性警报中报告的信息之外,在低严重性警报中报告的信息也可以用作攻击的指示。

应对措施启动器60生成攻击事件的警报和/或执行一个或多个其他应对措施,以阻止与所关注的攻击事件相关联的一个或多个攻击实体的进一步攻击。安全应用42基于评估结果来执行应对措施(例如,生成警报),以防止恶意活动。安全应用42经由网页浏览器在客户端计算机上显示与所收集的信息、所检测的异常、所生成的模型和/或对应警报相关联的统计数据的一个或多个窗口/页面。例如,如果异常被确定为高风险和/或与恶意活动相关联,则可以执行应对措施来防止进一步的类似恶意活动。

可以报告与异常相关的统计信息,包括报告参数、所标识的异常、用户/客户ID、客户端计算机ID和/或地址、云应用ID、VM ID和/或IP地址、PM ID和/或IP地址、行业ID、攻击实体起源地理区域的ID、被攻击实体起源地理区域的ID、对应云应用的类型和/或ID、组织ID和/或本文所公开的其他参数和特征和相关统计信息。可以将该信息报告给对应用户、客户端计算机、组织的所有者和/或代表、云应用的VM和/或PM的所有者和/或安全应用42和/或云应用的服务提供方的代表。所报告的警报和/或统计信息中提供的信息可以被存储在存储器44和/或数据存储装置72中,并在以后对其访问。

作为另一应对措施,安全应用42可以警告用户、防止用户从任何客户端计算机12访问一个或多个云应用和/或限制用户对一个或多个云应用的访问。作为另一应对措施,安全应用42可以警告客户端计算机、防止客户端计算机访问一个或多个云应用和/或限制客户端计算机对一个或多个云应用的访问。作为又一示例,用户和/或客户端计算机可以被限制为在功能受限的安全操作模式下操作一个或多个云应用。作为另一应对措施,可以在可执行的操作和/或对VM和/或PM的访问中限制和/或呈现攻击的VM和/或PM。作为另一应对措施,安全应用42可以向VM和/或PM的所有者提供警报和统计信息。作为另一应对措施,安全应用42可以向组织的代表和/或所有者和/或服务提供方提供警报和统计信息。在一个实施例中,针对最危险的异常组生成安全警报。上述操作允许标识并报告危险行为。

尽管被示出为在操作216B之后执行,但是操作218可以例如在执行操作214、216A,216B和/或216C之后执行。在218处,处理器40中的一个确定是否正在执行训练会话。如果正在执行训练会话,则执行操作220;否则,方法可以在224处结束。在220处,基于预定示例和第二子集、第三子集和/或第四子集中每个可疑外部IP地址的分组特征来训练分类器58,以生成和/或更新模型。预定(或标记)示例可以包括数据集、参数集和/或特征集,以及这些集合是与恶意攻击相关联还是与恶意攻击无关的相应指示。示例被称为标记示例,是因为每个集合包括用于指示集合是否与恶意攻击相关联的指示符(例如,值)。可以使用图4的方法来收集和/或确定集合或者可以从基于云的网络25中的数据库、存储器、代理服务器、设备和/或机器中收集集合。结果,针对来自威胁情报的数据训练了模型,威胁情报指代在不执行图4的方法的情况下,提供了预定示例的源。

基于特征的随机样本来训练模型的决策树,使得每个决策树不同。可以通过提供数据、参数和/或特征值作为对应决策树的输入,对决策树的输出采样并确定输出值的均值来生成结果分类值。分类值指示分类(例如,在216A处提供的分类中的一个)。

在一个实施例中,周期性地训练分类器58并且因此在图4的方法的每次迭代期间未训练分类器58。在另一实施例中,在图4的方法的每次迭代期间训练分类器58。例如在模型基于少量预定示例的早期,这可能发生。方法可以在224处结束。

图4的上述操作是例示性示例;根据应用,操作可以依次执行、同步执行、同时执行、连续执行、在重叠时间段期间执行或以不同顺序执行。另外,根据事件的实现和/或顺序,可以不执行或跳过操作中的任一个。

上述示例检测跨多个系统、网络、租户和订阅;跨不同类型的设备和机器;并与任何数目的不同类型的端口协议相关联的非目标攻击。提供分类并且分类基于与探索交互和开发交互相关联的数据流的计算特征。

前述描述本质上仅是例示性的,并且绝不旨在限制本公开、其应用或用途。本公开的广泛教导可以按照多种形式而被实现。因此,由于在研究附图、说明书和所附权利要求后,其他修改将变得显而易见,所以尽管本公开包括特定示例,但是本公开的真实范围不应受到如此限制。应当理解,在不改变本公开的原理的情况下,可以按照不同的顺序(或同时)执行方法内的一个或多个步骤。此外,尽管以上将实施例中的每个实施例描述为具有某些特征,但是即使未明确描述组合,也可以在任何其他实施例的特征中实现和/或与任何其他实施例的特征组合来实现关于本公开的任何实施例描述的那些特征中的任一个或多个。换言之,所描述的实施例不是互相排斥的,并且一个或多个实施例彼此的置换仍在本公开的范围内。

使用各种术语(包括“连接”、“接合”、“耦合”、“相邻”、“紧邻”、“在…顶部”、“之上”、“之下”、“置于”)来描述元素之间(例如,电路元件、半导体层等之间)的空间和功能关系。除非明确描述为“直接”,否则在上述公开中描述了第一元素和第二元素之间的关系时,关系可以是直接关系(第一元素和第二元素之间不存在其他中间元素),但是也可以是间接关系(第一元素和第二元素之间(空间上或功能上)存在一个或多个中间元件)。如本文所使用的,短语A、B和C中的至少一个应使用非排他性逻辑OR来解释为表示逻辑(A OR B OR C),并且不应解释为表示“A中的至少一个、B中的至少一个和C中的至少一个”。

在附图中,如箭头所示,箭头的方向通常说明图示感兴趣的信息(例如,数据或指令)流。例如,当元素A和元素B交换各种信息但从元素A传输到元素B的信息与图示有关时,箭头可以从元素A指向元素B。该单向箭头并不意味着没有其他信息从元素B传输到元素A。此外,对于从元素A发送到元素B的信息,元素B可以将对该信息的请求或接收确认发送到元素A。

处理器可以指代执行代码的处理器电路(共享、专用或组)、存储由处理器电路执行的代码的存储器电路(共享、专用或组)、提供上述功能的其他合适的硬件组件或例如在片上系统中的上述某些或全部的组合。

处理器可以包括一个或多个接口电路。在一些示例中,接口电路可以包括连接到局域网(LAN)、因特网、广域网(WAN)或其组合的有线或无线接口。本公开的任何给定处理器的功能可以分布在经由接口电路连接的多个电路之间。例如,多个电路可以允许负载平衡。

如以上所使用的,术语代码可以包括软件、固件和/或微代码,并且可以指代程序、例程、功能、类、数据结构和/或对象。术语共享处理器电路包括执行来自多个电路的一些或全部代码的单个处理器电路。术语组处理器电路涵盖与附加处理器电路结合使用,执行来自一个或多个电路的部分或全部代码的处理器电路。对多个处理器电路的引用涵盖离散管芯上的多个处理器电路、单个管芯上的多个处理器电路、单个处理器电路的多个核、单个处理器电路的多个线程或上述的组合。术语共享存储器电路涵盖存储来自多个电路的一些或全部代码的单个存储器电路。术语组存储器电路涵盖与附加存储器组合,存储来自一个或多个电路的部分或全部代码的存储器电路。

术语存储器或存储器电路是术语计算机可读介质的子集。如本文中所使用的,术语计算机可读介质不涵盖传播通过介质(例如,在载波上)的瞬时电信号或电磁信号;因此,术语计算机可读介质可以被认为是有形的和非暂时性的。非暂时性有形计算机可读介质的非限制性示例是非易失性存储器电路(例如,闪存电路、可擦除可编程只读存储器电路或掩码只读存储器电路)、易失性存储器电路(例如,静态随机存取存储器电路或动态随机存取存储器电路)、磁存储介质(例如,模拟或数字磁带或硬盘驱动器)和光存储介质(例如,CD、DVD或蓝光光盘)。

在本申请中,被描述为具有特定属性或执行特定操作的设备元素被具体配置为具有那些特定属性并执行那些特定操作。具体地,对执行动作的元素的描述意味着元素被配置为执行动作。元素的配置可以包括例如通过在与元素相关联的非暂时性有形计算机可读介质上的编码指令来对元素编程。

在本申请中描述的装置和方法可以由通过配置通用计算机来执行计算机程序中体现的一个或多个特定功能创建的专用计算机来部分或完全地实现。上述功能块、流程图组件和其他元素用作可以通过技术人员或程序员的例行工作转译为计算机程序的软件规范。

计算机程序包括被存储在至少一个非暂时性有形计算机可读介质上的处理器可执行指令。计算机程序还可以包括或依赖于所存储的数据。计算机程序可以涵盖与专用计算机的硬件交互的基本输入/输出系统(BIOS)、与专用计算机的特定设备交互的设备驱动程序、一个或多个操作系统、用户应用、后台服务、后台应用等。

计算机程序可以包括:(i)待解析的描述性文本,例如JavaScript ObjectNotation(JSON)、超文本标记语言(HTML)或可扩展标记语言(XML);(ii)汇编代码;(iii)由编译器从源代码生成的目标代码;(iv)由解释器执行的源代码;(v)由即时编译器编译和执行的源代码等。仅作为示例,可以使用来自以下语言的语法来编写源代码:C、C++、C#、Objective C、Haskell、Go、SQL、R、Lisp、Fortran、Perl、Pascal、Curl、OCaml、HTML5、Ada、ASP(活动服务器页面)、PHP、Scala、Eiffel、Smalltalk、Erlang、Ruby、Lua和

除非使用短语“用于…的装置”明确记载元素,或者在方法要求保护使用短语“用于…的操作”或“用于…的步骤”的情况下,权利要求中记载的所有元素都不旨在成为35U.S.C.§112(f)含义内的装置加功能元素。

22页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:异步数据存储操作

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类