用于检测针对基于云的机器的特定集合的定向网络攻击的系统和方法与流程

文档序号:19187656发布日期:2019-11-20 01:40阅读:148来源:国知局
用于检测针对基于云的机器的特定集合的定向网络攻击的系统和方法与流程

本公开涉及安全应用,并且更具体地涉及检测针对基于云的机器的特定集合的定向网络攻击。



背景技术:

本文提供的背景技术描述是为了总体上呈现本公开的上下文。目前命名的发明人的工作,在本背景技术部分描述的工作范围内,以及在提交时可能不具备其他资格作为现有技术的描述的方面,既不明确也不暗示地被承认为相对于本公开的现有技术。

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



技术实现要素:

在其他特征中,提供了一种用于检测第二机器上由第一机器的引导定向攻击的系统。第二机器在服务提供商的服务器计算机中被实现。该系统包括应用,该应用包括指令,被配置为根据第一一个或多个参数,对针对攻击机器的警告进行分组,其中:攻击机器包括第一机器;每组警告对应于由攻击机器中的相应一个攻击机器执行的攻击;并且警告中的每个警告指示由攻击机器中的一个攻击机器执行的可能的攻击。所述指令还被配置为:根据第二一个或多个参数,对与实现云应用的受攻击机器相对应的元数据进行分组,其中受攻击机器包括第二机器;并且基于与第二机器相对应的元数据组和一个或多个辅因子,评估相对于以下项中的至少一项的、与在第二机器上由第一机器执行的攻击相对应的一个或多个警告:(i)与在除了第二机器以外的机器上由第一机器执行的攻击相关联的警告,或(ii)与由攻击机器执行的攻击相关联的警告。指令还被配置为基于评估的结果向第二机器警告引导定向攻击。

在其他特征中,一种用于检测在第二机器集合上由第一机器集合的引导定向攻击的系统,其中第二机器集合在服务提供商的基于云的网络中实现。该系统包括处理器、存储器和应用。应用被存储在存储器中并包括指令,指令可由处理器执行并且被配置为:根据第一一个或多个参数,对针地攻击机器的警告进行分组,其中攻击机器包括第一机器集合,其中每组警告对应于由第一机器中的对应机器执行的攻击,并且其中警告中的每个警告指示由攻击机器中的一个攻击机器执行的可能的攻击;并且根据第二一个或多个参数,对与实现云应用的受攻击机器相对应的元数据进行分组,其中受攻击机器包括第二机器集合。指令还被配置为:基于与第二机器集合相对应的元数据组以及一个或多个辅因子,评估相对于以下项中的至少一项的、与在第二机器集合上由第一机器集合执行的攻击相对应的一个或多个警告:(i)与在除了第二机器集合以外的机器上由第一机器执行的攻击相关联的警告,或(ii)与由攻击机器执行的攻击相关联的警告;并且基于评估结果向与第二机器集合相关联的客户警告引导定向攻击。

在其他特征中,提供了一种非暂时性有形计算机可读介质,其存储可由处理器执行的指令,用于检测在第二机器上由第一机器的引导定向攻击。第二机器在服务器计算机中实现,服务器计算机在服务提供商的基于云的网络中实现。指令用于:根据第一一个或多个参数,对攻击机器的警告进行分组,其中攻击机器包括第一机器,其中每组警告对应于由攻击机器中的相应的一个攻击机器执行的攻击,并且其中警告中的每个警告指示由攻击机器中的一个攻击机器执行的可能攻击;并且根据第二一个或多个参数,对与实现云应用的受攻击机器相对应的元数据进行分组,其中受攻击机器包括第二机器。所述指令还被配置为:基于与所述第二机器相对应的元数据组和一个或多个辅因子,评估相对于以下项中的至少一项的、与在第二机器上由第一机器执行的攻击相对应的一个或多个警告:(i)与在除了第二机器以外的机器上由第一机器执行的攻击相关联的警告,或(ii)与由攻击机器执行的攻击相关联的警告;基于评估结果向第二机器警告引导定向攻击。

根据具体实施方式、权利要求和附图,本公开的其他应用领域将变得显而易见。具体实施方式和具体示例仅用于说明的目的,并不旨在限制本公开的范围。

附图说明

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

图2是根据本公开的实施例的定向检测系统的示例的功能框图。

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

图4是根据本公开的实施例的包含应用的服务器计算机的示例的功能框图。

图5示出了根据本公开的实施例的定向检测方法。

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

具体实施方式

基于云的网络的安全应用可以监视例如去往和来自基于云的网络的pm和vm的业务。这可能包括监视组织的客户端计算机与pm和vm实现的访问应用之间的业务。安全应用检测业务模式中的异常并生成警告,警告可以被提供给安全管理员。安全管理员可能会收到许多警告。因此,安全管理员可以优先考虑警告的重要性并调查具有高优先级的警告。优先级可以基于警告的严重性。严重性是指与攻击相关的潜在负面影响的等级。严重性等级可以指示例如个人数据是否可能已经被访问,恶意代码是否已经被安装,软件和/或数据是否已被泄露,信息是否被窃取等。具有高严重性等级的警告可以被报告给客户。具有低严重性等级的警告可以被忽略,并且通常不会报告给客户。

如本文所公开的并且除了在高严重性警告中报告的信息之外,在低严重性警告中报告的信息也可以用作定向攻击的指示符。定向攻击(本文中也称为“引导定向攻击”)是指引导到特定实体或实体组的攻击,其中实体是指pm或vm。例如定向攻击可以被引导到用户设备、一组用户设备、特定租户(例如客户和/或企业)、订阅的vm和/或pm、执行特定云应用的vm和/或pm、行业的vm和/或pm、地理区域(例如城市、州或国家)中的vm和/或pm等。订阅可以指例如一个或多个资源、容器、机器集合、企业机器的逻辑子集和/或业务单元。业务单元包括租户的pm和/或vm的集合。云服务提供商经由基于云的网络来供应资源(诸如具有对应可执行代码的软件应用、服务器计算机处理时间和/或存储)。云服务提供商使用vm或容器来实现基础架构即服务(iaas)和平台即服务(paas)。容器包括处理、存储和应用资源。数据中心可以包括托管vm或容器的服务器计算机。每个服务器可以托管许多vm和/或容器。vm在客户操作系统上运行,并与管理程序对接,管理程序共享和管理服务器硬件并隔离vm。与vm不同,容器不需要安装完整的os或主机服务器硬件的虚拟副本。容器可能包括一些软件模块和库,并且需要操作系统的某些部分的使用。由于占用空间减少,与虚拟机相比,可以在服务器上部署更多容器。

定向攻击不是指由攻击机器执行的网络攻击(或非定向攻击),该攻击机器在因特网上搜索攻击机器可以获得访问和控制的任意机器。这种类型的攻击通常包括攻击机器探测因特网以获得对任意机器的访问和控制。攻击机器通常具有攻击模式,使用相同的密码库,在一天中的某些时间执行攻击,以周期性模式执行攻击等。通常,非定向攻击连续发生在可以经由因特网访问的大多数(如果不是所有机器)机器上。如果受攻击的计算机具有安装的适当的基本安全软件,则这些类型的攻击会被阻止并且不具有重要性。非定向攻击被视为低严重性攻击,与这些攻击相关联的警告提供低安全值。例如在端口扫描侦察中,每个端口扫描活动的具有低严重性,因为大量攻击者连续地和广泛地扫描基于云的网络。经历非定向攻击的机器和/或对应的用户、客户和/或所有者通常不会警告非定向攻击。

基本安全保护软件通常可用于阻止非定向攻击,而需要更复杂的软件来阻止定向攻击。这是因为定向攻击比非定向攻击更难以阻止。执行定向攻击的攻击者通常会投入大量资源来执行攻击。这可能包括:花费大量时间执行攻击;经由大量机器进行攻击;在一个或多个攻击机器和被攻击的一个或多个实体之间传递大量数据和/或信号;定向攻击比非定向攻击更集中,并且通常包括窃取数据、信息和/或对被攻击的一个或多个实体造成伤害。

定向攻击和非定向攻击之间的区别可能不是显而易见的。例如如果攻击者扫描属于客户的vm的internet协议(ip)地址,则攻击可能是定向攻击或非定向攻击。如果vm的扫描是巧合,则攻击是非定向攻击。如果攻击者定期或随机扫描ip地址组,并且在一段时间内攻击者扫描所关注的vm的ip地址,则该攻击是非定向攻击。执行非定向攻击的攻击者通常对许多受害者(即被攻击的实体)进行浅扫描,其试图影响任意可访问的机器。与这些类型的攻击相关联的警告通常被视为噪声并且具有低安全值。

然而,如果vm的扫描专门被引导到vm处并且诸如定向组之外的vm的其他vm不受攻击,则攻击是定向攻击。尽管此类扫描可能具有较低的严重性等级,但与此类扫描相关联的低严重性警告可具有高安全性值。除了ip地址序列之外,当前端口扫描软件还允许扫描随机ip地址。攻击者经常扫描数百甚至数千个ip地址。因此,仅关注的特定的vm集合的扫描可以是发生定向攻击的指示符。作为另一示例,如果关注的所有vm正在与属于相同客户的相同已知恶意ip地址进行通信,则该攻击可以是定向攻击。恶意活动的持久和/或协调的协作可以被监视,并指示定向攻击已发生。与定向攻击相关的警告提供高安全性值。定向攻击的一个示例原因是信用卡信息的窃取。定向攻击可以被引导到在某个商店购物的一个或多个个体和/或个人。公司处的安全漏洞可能导致大量资金用于治疗违规以及违规的负面影响,包括修复公司的声誉。

通过确定攻击是否是定向攻击,适当的对策可以被执行和/或可以向客户警告定向攻击,然后可以通过执行适当的动作来阻止攻击来进行响应。本文公开的实施例包括接收和评估高严重性警告和低严重性警告两者以确定定向攻击是否已经发生。本文阐述的实施例检测并区分定向攻击和非定向攻击。实施例包括向客户警告定向攻击。

图1示出了安全系统10,其可以包括客户端计算机12、分布式通信系统14、代理16、网关18、一个或多个访问服务器计算机20、以及其他服务器计算机22、24。在一些示例中,网关18、一个或多个访问服务器计算机20、以及一个或多个服务器计算机22在基于云的网络25中实现。在一些示例中,服务器计算机24在基于云的网络25中或在另一个服务提供商网络中实现。在另一示例中,访问服务器计算机20不被包括在安全系统10中,并且网关18直接与服务器计算机22、24通信。在所示的示例中,客户端计算机由对应的组织26拥有。组织26可以包括局域网(lan)28和防火墙30。客户端计算机12可以直接和/或经由lan28和防火墙30访问分布式通信系统14。分布式通信系统14可以包括路由器29。

基于云的网络25可以由云服务提供商实现,并且在一个实施例中,包括客户端虚拟机、网络设备和应用服务器计算机。网络设备的示例包括路由器、交换机、防火墙、代理服务器计算机、万维网(或web)服务器计算机、广域网(wan)加速器、入侵检测系统(ids)设备和入侵防御系统(ips)设备。网络设备在应用服务器计算机和客户端计算机之间提供中间服务。客户端计算机12可以在基于云的网络25中实现为vm和/或pm32,或者可以位于房屋内。网络设备和应用服务器计算机可以实现为基于云的网络25的一个或多个vm。

基于云的网络25可以包括服务器计算机22、24中的一个或多个。基于云的网络25还包括可以由客户端计算机12共享的资源和/或容器。云服务提供商供应经由基于云的网络25的资源(诸如具有对应可执行代码的软件应用、服务器计算机处理时间和/或存储)。服务器计算机22、24可以包括vm(例如示出vms1-y),其可以实现为pm(例如pms1-y)。软件应用可以在服务器计算机22、24上实现,服务器计算机22、24可以称为物理机器。

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

分布式通信系统14可以包括用于在(i)客户端计算机12和/或组织26与(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包括执行软件应用的处理器40,诸如安全应用42,其被存储在存储器44中。一个或多个vm32可以在服务器计算机24中实现。安全应用图42包括参数跟踪代码46、异常检测代码48、警告代码50、警告分组代码52、元数据分组代码54、定向评估代码56和对策(cm)代码58。

安全应用42可以由服务提供商提供为服务应用,并且用于监视在基于云的网络25中实现的云应用。安全应用42监视客户端计算机12和/或客户端计算机12的用户的行为,其被引导到访问云应用34和vm/pm32。客户端计算机12可以经由网络浏览器和对应的网站访问安全应用42。安全应用42收集与行为相关的数据、参数、风险因子和/或信息并检测异常。安全应用42可以监视例如组织的客户端计算机与所访问的云应用、vm和pm之间的业务。安全应用42监视信息,诸如数据、日志、参数、风险因子和/或与云应用、vm和pm的访问相关联的其他信息。安全应用42基于该信息来检测异常。基于该信息,生成警告,其可以包括从其导出的信息和/或其他信息。

安全应用42还基于警告和参数来执行定向检测方法,以确定攻击是否是定向攻击。实现参数跟踪代码46以跟踪参数。参数包括第一参数和第二参数。第一个参数包括:攻击实体的ip;攻击实体的用户标识符(id);攻击实体的客户ip;攻击实体使用的攻击工具(例如amap、攻击脚本或其他攻击或基于扫描的工具)的标识;僵尸网络id;攻击者和/或攻击实体的源地理区域;攻击模式信息,诸如业务流速率、预定时间段内的访问次数、访问定时、业务流速率的峰值等;客户端口id;和/或其他参数。第二个参数包括:租户id;服务订阅id;操作域的id;租户的行业(例如医疗保健行业、汽车行业、移动通信行业等)的id;租户的地理区域的id;受攻击实体用户源地理区域的id;和/或被攻击的不同实体集合的其他id。

可以执行异常检测代码48以检测状态异常。可以执行警告代码50以基于异常和/或对应信息来生成第一警告。可以执行警告分组代码52以对警告进行分组,如下面进一步描述的。可以执行元数据分组代码54以对用户和/或实体的元数据进行分组,如下面进一步描述的。元数据可以包括例如:被攻击的实体的ip地址和/或id;被攻击实体的用户id;被攻击的租户的ip地址和/或id;被攻击的服务订阅的id;被攻击的操作域的id;被攻击的源地理区域的id;被攻击行业的id;和/或攻击下的用户和/或实体集合的其他元数据。可以执行定向评估代码56以来评估相对于以下项的、与攻击第一受攻击实体集合的第一一个或多个攻击实体相关联的警告:(i)与攻击其他受攻击实体集合的第一一个或多个攻击实体相关联的警告,以及/或(ii)与攻击第一受攻击实体集合和/或其他受攻击实体集合的其他攻击实体相关联的警告。攻击实体可以指基于云的网络25之外的客户端计算机和/或非客户端计算机和/或基于云的网络25中的vm和pm32。攻击实体可以是由攻击者控制的、并被分配给客户和/或非攻击者的vm和/或pm。在一个实施例中,受攻击实体指的是在基于云的网络25中被攻击的vm和pm32。可以执行cm代码58以生成定向警告和/或执行如下所述的其他对策。

图2示出了定向检测系统60,其包括警告分组处理器62、用户/实体分组处理器64、评估处理器66和事件报告处理器68。警告分组处理器62可以执行警告分组代码52,以基于上述第一参数对攻击实体的警告进行分组。第一参数可以被存储在警告数据存储装置70中并且由警告分组处理器62访问。用户/实体分组处理器64可以执行元数据分组代码54以基于上述第二参数来对与受攻击实体相对应的元数据进行分组。元数据和第二参数可以被存储在用户/实体数据存储装置72中并由用户/实体分组处理器64访问。

评估处理器66可以执行定向评估代码56以确定定向事件是否已经发生和/或可能已经发生。事件报告处理器68可以执行cm代码58以生成定向事件的警告和/或执行一个或多个其他对策以阻止与关注的定向事件相关联的一个或多个攻击实体的进一步攻击。

处理器62、64、66、68可以在单独的服务器计算机中或在相同处理器计算机中实现。尽管处理器62、64、66、68被示为单独的处理器,但是处理器62、64、66、68可以实现为单个处理器(例如图1的处理器40)。而且,虽然警告和元数据被描述为被存储在数据存储装置70、72中,但是警告和元数据可以存储在服务器的存储器(例如图1的存储器44)中。

图1-2的处理器40、62、64、66、68的操作在下面关于图5的定向检测方法被进一步描述。安全应用42和代码46、48、50、52、54、56和58在下面关于图5的方法被进一步描述。

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

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

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

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

图1的客户端计算机12,代理16、网关18、服务器计算机20、22、24和防火墙30的操作在下面关于图5的目标检测方法被进一步描述。尽管以下操作主要是关于图1-2的实现被描述,可以修改操作以应用于本公开的其他实现。操作可以迭代地执行。

该方法开始于200并且包括由处理器40执行安全应用42和/或由处理器62、64、66、68执行代码52、54、56、58。在202处,安全性应用42经由参数跟踪代码46收集与基于云的网络25的云应用34和vm和/或pm32的访问相关联的数据、日志、分组、风险因子、第一参数、第二参数和/或其他相关信息。相关信息随时间被跟踪,并且被存储在代理16、网关18、路由器29、防火墙30、服务器计算机20、22、24的存储器和/或数据存储装置(例如数据存储装置110、112)中。作为示例,访问信息的日志可以包括访问开始时间、访问结束时间、访问持续时间、发送实体的ip地址、接收实体的ip地址、用户名、云应用名称、上传数据量、下载数据量、事务的数目、访问次数、预定时段内的访问次数、访问发生的地理位置等。

安全应用42可以从各种源请求、接收、访问和/或跟踪网络活动、参数和其他相关信息。作为第一示例,安全应用42从符合因特网协议版本6(ipv6)的设备和/或实体收集网络活动、参数和其他相关信息。符合ipv6的设备和/或实体可以包括服务器计算机20、22、24、vm和/或pm32、和/或基于云的网络25内部和/或基于云的网络25外部的其他符合ipv6的设备和实体。符合ipv6的设备记录例如对应的局域网(lan)和因特网之间的网络活动。作为另一示例,vm和pm32中的一个或多个包括被配置为作为代理操作的应用(例如应用34中的一个或多个),其报告跟踪到安全应用42的网络活动、参数和其他相关信息。作为又一示例,安全应用42可以从“伙伴”收集网络活动、参数和其他相关信息。在一个实施例中,合作伙伴包括在代理16、网关18、访问服务器计算机20、路由器29和/或防火墙30上执行的应用。

安全应用42可以确定要监视的一个或多个参数和/或风险因子。该确定可以在操作202之前被执行。可以从符合ipv6的设备和/或实体,代理和/或合作伙伴请求所选择的参数和/或风险因子。所选择的参数和/或风险因子可以包括在访问信息的日志中提供的参数和/或风险因子和/或基于访问信息的日志中提供的参数和/或风险因子所计算的参数。参数和/或风险因子的一些示例是:用户标识符;客户端计算机标识符;客户端计算机的地址;云应用标识符;用户/客户端计算机与一个或多个云应用之间的事务的数目;用户/客户端计算机与一个或多个云应用之间的业务量;用户/客户端计算机与具有预定时间段的一个或多个云应用之间的事务的数目;在预定时间段内用户/客户端计算机与一个或多个云应用之间的业务量;用户/客户端计算机使用一个或多个云应用的时段;用户/客户端计算机访问的云应用总数目;以及在预定时间段内由用户/客户端计算机访问的云应用的总数目。

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

一个或多个参数和/或风险因子可以用于一个或多个用户/客户端计算机、组织的用户/客户端计算机、组织的vm和/或pm、预定的用户/客户端计算机组、和/或一个或多个云应用。预定的计时器时段可以是一天或多天。可以针对每个用户、每个客户端计算机、每个云应用、每个vm、每个pm和/或其组合来监视所监视的参数。参数和/或风险因子可以被存储在存储器44中的表中并且在以下操作期间被访问。

在一个实施例中,安全应用42跟踪网络活动、参数、风险因子和/或其他相关信息,而不管对应的客户是否已经为服务器计算机24提供的安全服务付费。客户可能已为基于云的服务付款并且已经在基于云的网络25中向客户分配了一个或多个对应的vm和/或pm。

针对示例实施例示出了以下操作204、206和210。在一个实施例中,不执行操作204、206和210,并且在操作202之后执行操作208。

在204处,安全应用42可以基于网络活动、参数、风险因子和/或其他相关信息来检测异常。安全应用42经由异常检测代码48基于基线和所选择的一个或多个参数和/或风险因子来检测一个或多个异常。可以检测到不同类型的异常。示例异常是:特定云应用上的特定用户的上传数据量、登录失败次数、下载数据量和/或交易次数的突然增加;特定云应用上的用户的上传数据量、下载数据量和/或交易数目的突然增加;特定用户为特定云应用上载和/或下载比其他用户更多的预定数目的数据;用户对特定云应用执行比其他用户更多的预定量的事务;使用特定云应用的用户数目的突然增加;和/或其他异常。

在一个实施例中,安全应用42基于基线来确定所选择的一个或多个参数的值将发生的可能性。例如如果值和对应均值之间的差值大于预定量并且对应方差低,则该值可以被识别为异常。如果值和均值之间的差值大于预定量并且方差高,则该值可能不被识别为异常。安全应用42经由异常检测代码48将对应于所标识的异常的信息存储在存储器44中。该信息(或异常数据)可以包括用户标识符、客户端计算机标识符、云应用标识符、vmid、pmid、对应的ip地址、组织标识符和/或一个或多个对应的参数。客户的单个ip地址可以是与客户的一个或多个vm和/或pm相关联的外部ip地址。vm和/或pm也可以具有内部ip地址。

安全应用42通过监视与发送到vm和从pm发送的分组相关联的信息来监视vm和pm的活动,诸如数据、日志、参数和风险因子。基于所接收的信息,安全应用42确定用户和/或客户端计算机中的一个或多个是否正在攻击云应用和/或对应的vm、pm和服务器计算机中的一个或多个。安全应用42可以确定一个或多个vm和/或pm是否正在攻击其他vm和/或pm。安全应用42向vm和pm的所有者通知恶意活动。这允许所有者、vm和/或pm采取适当的动作以防止对云应用的进一步攻击和/或阻止对云应用的访问。虽然安全应用42被示为在服务器计算机24中实现,但是安全应用42可以在与vm中的一个或多个相同的服务器计算机中实现。

检测到异常,包括与访问基于云的网络中的云应用和/或机器相关联的异常。这些示例包括跟踪云应用的活动,并基于活动来经由安全应用检测异常。安全应用可以在基于云的网络和/或服务提供商的网络中实现,并且用于监视(i)客户端计算机和(ii)云应用的vm和/或pm之间的活动。安全应用标识由组织网络使用的云应用,并提供风险分数和风险评估。安全应用通知客户端计算机、vm、pm、组织和/或服务提供商所有者检测到的异常,从而可以执行一个或多个对策。

在206处,安全应用42评估网络活动、参数、风险值、异常和/或其他相关信息以确定是否要执行对策。安全应用42可以确定所收集信息的风险值。这可以包括基于基线、平均值、平均值与异常参数的值之间的差异和/或方差值来确定异常将发生的概率。安全应用42确定异常(或对应的参数和/或风险因子值)将发生的可能性。可能性越大,风险值越大。可以基于异常的类型对异常参数的值进行加权。未加权的异常和/或加权异常被存储为聚合的异常数据。权重越大,异常的参数和/或风险因子越可能被关注和/或与恶意活动相关联。安全应用42经由对策代码58确定一个或多个参数和/或风险值是否大于对应的预定阈值和/或在对应的预定范围之外。如果一个或多个参数值和/或风险值大于对应的预定阈值和/或在对应的预定范围之外,则执行操作208,否则可以执行操作210。

安全应用42通过监视与发送到vm1-n和pm或从vm1-n和pm发送的分组相关联的信息来监视vm1-n和pm的活动,诸如数据、日志、参数和风险因子。基于从代理16、网关18和防火墙30接收的信息,安全应用42确定用户和/或客户端计算机中的一个或多个是否正在攻击云应用和/或对应的vm、pm和服务器计算机中的一个或多个。安全应用42向vm和pm的所有者通知恶意活动。这允许所有者,vm和/或pm采取适当的动作以防止对云应用的进一步攻击和/或阻止对云应用的访问。虽然安全应用42被示为在服务器计算机24中实现,但是安全应用42可以在与vm1-n中的一个或多个相同的服务器计算机中被实现。

在208处,安全应用42经由对策代码58执行一个或多个对策。安全应用42基于评估结果来执行对策(例如生成警告)以防止恶意活动。安全应用42经由统计数据的网络浏览器在客户端计算机处显示一个或多个窗口/页面,统计数据与收集的信息、检测到的异常、生成的模型和/或对应的警告相关联。例如如果异常被确定为高风险和/或与恶意活动相关联,则可以执行对策以防止进一步的类似恶意活动。

作为第一对策,生成第一警告以指示异常。作为第二个对策,报告与异常相关的统计,其可以包括报告参数和/或风险因子、标识的异常、风险值、用户/客户id、客户端计算机id和/或地址、云应用id、vmid和/或ip地址、pmid和/或ip地址、行业id、攻击实体的源地理区域的id、受攻击实体的源地理区域id、对应云应用的类型和/或id、组织id和/或本文公开的其他参数以及相关的统计信息。可以将该信息报告给对应的用户、客户端计算机、组织的所有者和/或代表、云应用的vm和/或pm的所有者、和/或安全应用42和/或云应用的服务提供商的代表。在报告的警告和/或统计中提供的信息可以被存储在存储器44中和/或警告数据存储装置70中,并且稍后在212处被访问。

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

在210处,安全应用42经由对策代码58可以将参数,异常和/或其他相关统计信息报告给对应的用户、客户端计算机、云应用的vm和/或pm的所有者、组织的所有者和/或代表、和/或安全应用42和/或云应用的服务提供商的代表。

在212处,安全应用42和/或警告分组处理器62经由警告分组代码52对在208处通过攻击集合所生成的警告和/或对应的统计信息进行分组,其中每个攻击集合包括一个或多个攻击实体。在一个实施例中,基于第一参数执行该分组。每个组对应由一个攻击实体或一攻击实体集合执行的攻击。每个组对应一个或多个攻击者。攻击实体集合和/或一组攻击者可以协作并定向被攻击的一个或多个实体的特定集合。该分组标识攻击实体集合和对应的警告和/或统计信息。

在214处,安全应用42和/或用户/实体分组处理器64经由元数据分组代码52对与被攻击的实体集合相对应的元数据进行分组。该分组可以基于第二参数。此分组标识定向实体。定向实体的类型指示定向攻击等级。例如如果定向实体是地理区域,则可以提供低定向等级,而如果定向实体是特定客户或者与特定客户和/或组织相关联的小vm和/或pm集合,则可以提供高定向等级。定向越孤立,定向等级越高。根据客户和执行的定向攻击,高定向等级可能比低定向等级更受关注。

在216处,安全应用42和/或评估处理器66经由定向评估代码52基于在212、214处提供的分组来评估警告、第一参数、第二参数、检测到的异常和/或其他统计信息。这可以包括确定与例如第一受攻击实体集合相关联的警告发生的概率。如果第一受攻击实体集合发生警告的概率与其他类似攻击实体集合发生相同或类似攻击的概率相比较高,则第一受攻击实体集合已经被定向的概率为低。然而,如果与其他受攻击实体相比第一受攻击实体集合发生警告的概率为低,那么第一受攻击实体集合已经被定向的概率为高。在一个实施例中,对于其他受攻击实体发生相同或类似攻击的概率是相同的一个或多个攻击实体以与第一受攻击实体集合相同或相似的方式攻击其他受攻击实体的概率。这可以通过将一个或多个攻击实体对第一受攻击实体集合的攻击与一个或多个攻击实体对其他受攻击实体的攻击进行比较来确定。可以基于针对一个或多个受攻击实体检测到的异常和/或针对其他受攻击实体检测到的异常来确定针对第一受攻击实体集合发生警告的概率。这些异常可以包括在204处检测到的异常以及关于本文提供的示例描述的其他异常。

针对第一攻击实体集合发生警告的概率可以基于一个或多个辅因子来确定和/或调整。辅因子的示例是ip连续性、恶意软件类型、已知攻击者列表、第一受攻击实体集合的地理区域(例如国家)以及对应的一个或多个攻击实体、第一受攻击实体集合的租户类型(例如商业)、第一受攻击实体集合关注的行业、租户规模和/或其他辅因子。ip连续性是指是否连续攻击相同实体、相同租户、相同ip地址或ip地址组、相同城市、相同状态、相同地理区域和/或其他集合或组。在一个实施例中,辅因子包括第一参数和第二参数中的一个或多个。

在一个实施例中,使用预定分布来确定针对第一攻击实体集合发生警告的概率。概率(或p值)指示针对第一攻击实体集合的攻击的过度表达是否已经发生。受攻击实体的过度表达是指第一受攻击实体集合的攻击次数和/或等级何时高于其他类似受攻击实体(例如相同pm的受攻击实体、客户类型、行业类型、地理区域等)。

在一个实施例中,置信度分数被确定。置信度分数可以基于针对第一受攻击实体集合警告将发生的概率值。作为第一示例,置信度分数与概率值直接相关或基于概率值导出。可以基于概率值以及第一参数、第二参数和所述因子中的一个或多个来导出置信度分数。在一个简化实施例中,置信度分数被设置为等于概率值。

在一个实施例中,预定分布可以是超几何分布。作为示例,可以使用等式1,其中:p是客户(或第一受攻击实体集合)的一个或多个vm和/或pm已经被定向的概率;x是随机变量;k是一个或多个vm和/或pm的警告的数目(或观察到的成功的数目);n是存储在例如警告数据存储装置70中的警告的总数目(或群体规模);k是针对攻击一个或多个受攻击实体的第一集合的一个或多个攻击实体的警告的数目;n是第一受攻击实体集合的警告的数目(或绘制的数目),并且是二项式系数,其中a是k、n-k或n,并且b是k、n-k或n。

在218处,安全应用42和/或评估处理器66经由定向评估代码52基于在216处执行的评估的结果来确定定向攻击是否已在第一受攻击实体集合上发生。作为示例,当第一受攻击实体集合的概率(或p值)高于预定阈值时,则确定定向攻击可能发生。如果第一受攻击实体集合的概率(或p值)小于或等于预定阈值,则确定定向攻击可能没有发生。如果定向攻击可能发生,则执行操作220,否则可以执行操作222。

在另一实施例中,安全应用42和/或评估处理器66经由定向评估代码52确定定向攻击的总体严重性分数。严重性分数指示定向攻击有多严重、定向攻击是否成功访问私人信息、获得对受攻击机器的控制、降低受攻击机器的运行等。总体严重性分数可以基于警告基线严重性、攻击持续时间、与攻击相关的数据/业务量、和/或其他统计信息来确定。基线严重性可以是预定的基线值和/或基于一个或多个关注的攻击实体和/或访问基于云的网络25的其他攻击实体对其他实体的攻击而预定的值。在一个实施例中,严重性值是作为表的一部分存储的值,该表将严重性值与统计值相关联。作为另一示例,严重性值可以经由严重性算法和/或严重性函数来确定。严重性值可以确定为统计值的函数。

总体严重性分数还可以基于特异性值确定。特异性值指示攻击如何定向。例如如果攻击仅针对客户机器,客户的机器集合或多个客户的机器,则特异性值是不同的。可以基于上述参数,因子和/或其他相关统计信息来确定特异性值。在一个实施例中,特异性值是等级值,其中每个等级指示定向攻击是否针对以下各项之一:例如用户、用户机器、企业、机器集合、行业、地理区域等。在一个实施例中,针对每个特异性等级确定p值、置信度分数和/或严重性值。

作为示例,将从一个或多个攻击实体的到第一一个或多个受攻击实体的业务量与从一个或多个攻击实体的其他受攻击实体和/或非攻击实体的业务量进行比较。如果存在到第一一个或多个受攻击实体的更多业务,则定向攻击更有可能发生。如果一个或多个攻击实体对一个或多个攻击实体的第一集合上的攻击次数高于一个或多个攻击实体对其他受攻击实体上的的攻击的次数,则定向攻击更有可能已经发生。安全应用42和/或评估处理器66可以基于其他受攻击实体所经历的攻击来确定应该已经由第一一个或多个受攻击实体经历的攻击的基线或预测数目。例如如果预计针对第一一个或多个受攻击实体的具有一定偏差量的平均(或均值)攻击次数并且实际攻击次数超过偏差更高的预定数目,那么定向攻击是更有可能已经发生。

作为另一示例,可以监视基于云的网络25中的客户机器的攻击率,并且当向与某些订阅相关联的客户机器提供比在基于云的网络25中操作的针对其他机器的警告更多的警告时,则定向攻击是很可能的。定向攻击可以从时间角度反映出来(例如租户受到的攻击持续时间比其他租户长)。定向攻击可以从数量的角度反映出来(例如与其他租户的资产相比,租户的更多资产被攻击)。

安全应用42可以执行分类算法以标识定向攻击。分类算法可以包括将与一个或多个攻击实体相关联的警告的总数目与关注于某个租户的这些警告的一部分进行比较以提供比率。然后,分类算法可以在校正所述辅因子中的一个或多个之后确定所述比率将随机发生的概率。

与内部部署基础设施相比,安全应用42能够更好地监视基于云的网络25内的所有机器所经历的攻击。与攻击相关联地收集的信息用于揭示攻击者的意图并区分两种类型的攻击:非定向攻击,用于搜索任意客户的安全漏洞,以及定向攻击,其中攻击者有兴趣穿透例如特定租户的机器。通过在整个基于云的网络25上监视攻击者的攻击模式,安全应用42和/或对应的云服务提供商可以区分这两个条件并将该有价值的信息提供给云服务提供商的客户。

在另一实施例中,安全应用42和/或评估处理器106评估一个或多个攻击实体对第一一个或多个受攻击实体的攻击密度。密度是指在预定时间段内的攻击次数。如果密度高于一个或多个攻击实体对其他受攻击实体上的攻击密度,则定向攻击更有可能发生。

作为另一示例,可以评估总数目的机器(例如10、000台机器)中的机器的子集(例如100台机器)。如果100台机器被相同一个或多个攻击实体攻击的次数在彼此的预定范围内和/或100台机器所经历的攻击密度在彼此的第二预定范围内,则定向攻击不太可能发生。如果存在一个或多个异常值则相反是真的,其中异常值是指进行了大量攻击和/或具有更大的对应密度的攻击值的攻击实体。如果异常值的攻击次数和/或密度值大于与平均值的偏差的预定次数,则定向攻击更有可能已经发生。

作为另一示例,如果特定时间段内的某个订阅要经历攻击的概率高于50%并且经历了攻击,那么该攻击可能不是定向攻击。如果评估了总机器数(例如10、000台机器)中的机器子集(例如100台机器)并且超过预定数目的机器正在经历类似的攻击,那么发生定向攻击的可能性低。

作为又一示例,如果受攻击的行业受到的攻击比其他行业更多,但受攻击行业中的机器未受到受攻击行业中的其他机器的更多的攻击,那么被攻击的行业而不是受攻击行业的机器正在经历定向攻击。在220处可以报告不同类型的定向攻击。

在220处,安全应用42和/或事件报告处理器68经由cm代码58执行一个或多个对策。这包括生成指示定向攻击已发生的第二警告,定向攻击已发生的可能性、和/或上述参数、风险值、因子和/或与定向攻击相关联的其他统计信息中的任意一个。可以以与在208处生成的警告类似的方式报告第二警告。还可以类似于在208处执行以阻止定向攻击的对策来执行其他对策。这可以包括报告参数和/或在216处执行的评估结果。

可以独立于在208处报告的对应第一警告的严重性等级来报告第二警告。第一警告的严重性等级不必是第二警告的定向攻击的指示符。在一个实施例中,可以不向被攻击的一个或多个vm和/或pm的用户、租户和/或所有者提供用于确定攻击的特异性的信息。这增加了报告指示定向攻击已发生的第二警告的重要性和/或定向攻击已经发生的可能性。攻击的特异性是定向攻击已经发生的可能性的指示符。在另一个实施例中,第二警告包括在218处确定的总体严重性分数。

在222处,安全应用经由对策代码58可以类似于报告参数、异常和/或其他相关统计信息的操作210来报告参数和/或在216处执行的评估的结果。该方法可以在224处结束。

图5的上述操作旨在作为示意性示例;操作可以根据应用顺序地、同步地、同时地、连续地、在重叠时间段期间或以不同顺序执行。而且,取决于事件的实现和/或顺序,可以不执行或跳过任意操作。

以上公开的实施例包括基于在针对基于云的网络中的一个或多个其他机器的警告中提供的信息来确定定向攻击在基于云的网络中的第一客户机上是否已发生。

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

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

在附图中,箭头所指示的箭头方向通常表示图示所关注的信息流(诸如数据或指令)。例如当元件a和元件b交换各种信息但是从元件a发送到元件b的信息与图示相关时,箭头可以从元件a指向元件b。这个单向箭头并不意味着没有其他信息从元件b发送到元件a。此外,对于从元件a发送到元件b的信息,元件b可以向元件a发送针对信息的请求或接收信息的确认。

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

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

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

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

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

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

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

计算机程序可以包括:(i)要解析的描述性文本,诸如javascript对象表示法(json)、超文本标记语言(html)或可扩展标记语言(xml)、(ii)汇编代码、(iii)由编译器从源代码生成的目标代码、(iv)由解释器执行的源代码、(v)由即时编译器编译和执行的源代码等。仅作为示例,可以使用包括以下各项的语言的语法来编写源代码:c、c++、c#、objectivec、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)意义上的部件加功能元件。

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