检测和防范对计算机存储阵列的拒绝服务攻击的系统的制作方法

文档序号:15743887发布日期:2018-10-23 22:44阅读:263来源:国知局

本申请要求于2017年3月31日提交的标题为“Method of Improving Security of NVMe-oF-based Systems from Denial-of-Service(DoS)Attacks(提高基于NVMe-oF的系统对拒绝服务(DoS)攻击的安全性的方法)”的美国临时专利申请No.62/479,954的优先权和利益,该申请的全部内容以引用方式并入本文中。

技术领域

本公开涉及计算机存储阵列。具体地说,本公开涉及一种检测和防范对计算机存储阵列的拒绝服务(DoS)攻击的系统。



背景技术:

计算机存储阵列(还称作磁盘阵列)通常是连接有诸如硬盘驱动器(HDD)和固态盘驱动器(SSD)的多个数据存储装置的数据存储系统。计算机存储阵列被设计为高度可扩展并且为多个发起者提供共享数据访问,所述发起者可为端点客户机、计算机服务器和/或其它数据用户。

支持网上高速非易失性存储器(Non-Volatile Memory Express over Fabrics,NVMe-oF)规范的存储装置(为了方便起见,下文中“NVMe-oF装置”)由于它们的高性能和可扩展性正变得更受欢迎,尤其用于计算机存储阵列中。NVMe-oF是一种技术规范,其被设计为在诸如以太网、光纤通道和无限带宽技术(InfiniBand)之类的网络上使得基于NVMe消息的命令能够在诸如主机计算机的发起者与NVMe-oF装置或系统之间传递数据。因此,NVMe-oF装置通常包括网络装置(例如,具有以太网控制器)和存储装置(例如,具有SSD)二者的功能。

作为网络装置,NVMe-oF装置易受诸如拒绝服务(DoS)攻击的网络攻击。DoS攻击是一种网络攻击,其中,行为人试图通过暂时或不停地中断连接到互联网上的主机服务,以使其预期用户无法使用机器或网络资源。通常,DoS攻击通过在攻击中利用冗余请求使目标机器或资源泛洪来实现,从而使系统过载并阻止满足一些或所有的合法请求。当泛洪来自多个源时,该DoS攻击被认为是分布式DoS(DDoS)攻击。

DoS攻击类似于一群人朝着商店或办公楼的门或大门拥挤,不让合法的当事方进入商店或办公楼,扰乱正常运营。因此,典型的DoS攻击本身的目的不是窃取或暴露存储在计算机服务器或存储阵列上的机密数据,而是简单地用伪造的流量压垮它。然而,已知DoS攻击被用作分散对其它更恶毒的网络攻击的注意力的手段。

在一些情况下,其固件或软件已感染或破坏的NVMe-oF装置会成为对其它系统的DoS攻击不知情的参与者。不管这种情况如何,检测和防范DoS攻击常常需要公司耗费宝贵的资源。此外,DoS攻击时间越长,受DoS攻击影响的公司的成本就越高。



技术实现要素:

本文公开了一种计算机存储阵列,用于检测和防范拒绝服务(DoS)攻击,该计算机存储阵列为一个或多个远程发起者提供对连接至计算机存储阵列的一个或多个存储装置的访问。根据示例实施例,计算机存储阵列包括:计算机处理器,其被构造为运行管理网络协议的操作系统;网络装置,其被构造为监视和路由相对于存储装置进出的分组级别的网络流量;基板管理控制器(BMC),其被构造为基于网络装置对网络流量的统计信息的监视来检测DoS攻击;PCIe交换机,其通过PCIe总线将BMC与各存储装置连接;以及计算机主板,计算机处理器、网络装置、BMC和PCIe交换机安装于该计算机主板上。

本文还公开了一种检测和防范针对计算机存储阵列的流入的拒绝服务(DoS)攻击的计算机实现的方法,该计算机存储阵列包括计算机处理器、网络装置、基板管理控制器(BMC)和通过PCIe总线将BMC与多个存储装置连接的PCIe交换机。根据示例实施例,所述方法包括以下步骤:通过网络装置从计算机存储阵列外部的一个或多个源接收网络流量;通过网络装置监视和路由相对于存储装置进出的分组级别的网络流量;通过BMC基于网络装置对网络流量的统计信息的监视来检测DoS攻击;以及响应于检测到DoS攻击,通过BMC将遭受攻击的一个或多个存储装置的当前公共IP地址改变为不同的公共IP地址。

本文还公开了一种检测和防范来自于计算机存储阵列的流出的拒绝服务(DoS)攻击的计算机实现的方法,该计算机存储阵列包括计算机处理器、网络装置、基板管理控制器(BMC)和通过PCIe总线将BMC与多个存储装置连接的PCIe交换机。根据示例实施例,所述方法包括以下步骤:通过网络装置从一个或多个存储装置接收网络流量;通过网络装置监视和路由分组级别的网络流量;通过BMC基于网络装置对网络流量的统计信息的监视来检测流出的DoS攻击;以及响应于检测到DoS攻击,通过BMC禁用或隔离存储装置。

附图说明

作为本公开的一部分所包括的附图示出了各个实施例,并且与上面提供的一般性描述以及下面提供的各个实施例的详细描述一起用于解释和教导本文描述的原理。

图1示出了根据当前系统和方法的实施例的利用BMC来检测和防范针对NVMe-oF装置的流入的DoS攻击或来自于NVMe-oF装置的流出的DoS攻击的示例计算机存储阵列。

图2示出了根据当前系统和方法的实施例的利用BMC来检测和防范来自于外部源的流入的DoS攻击的示例计算机实现的方法。

图3示出了根据当前系统和方法的实施例的利用BMC来检测和防止被操纵的NVMe-oF装置参与流出的DoS攻击的示例计算机实现的方法。

附图中的特征不一定按比例绘制,并且为了说明目的在整个附图中一般用类似的附图标记表示类似结构或功能的元件。这些特征只是为了便于本文所述的各个实施例的描述,并且不描述本文公开的教导的每个方面,并且不限制权利要求的范围。

具体实施方式

本文公开的各个特征和教导可单独使用或与其它特征和教导结合使用,以提供当前系统和方法。参照附图描述了单独和结合地利用这些特征和教导的代表性示例。虽然本文的详细描述为本领域普通技术人员示出了用于实践本教导的各方面的进一步的细节,但并不限制权利要求的范围。因此,具体实施方式中公开的特征的组合是当前教导的代表性示例,并且可不需要按照最广义的含义进行实践。

根据当前系统和方法的实施例,基板管理控制器(BMC)可用于检测和防范针对计算机存储阵列的NVMe-oF装置的流入的DoS攻击,以及由一个或多个受波及的NVMe-oF装置参与的流出的DoS攻击。BMC是嵌入在计算机存储阵列、服务器、交换机等中的低功耗控制器,并连接到机箱传感器(例如温度传感器、电源电压传感器和湿度传感器),以读取环境条件和控制各种装置。BMC还通过诸如高速外围组件互连(PCIe)总线和系统管理总线(SMBus)的本地系统总线访问和控制NVMe-oF装置。因此,BMC处于禁用和/或恢复任何受感染或被操纵的NVMe-oF装置的独特地位。

根据常规实施,BMC作为对BMC单向控制的CPU的从装置进行操作。换句话说,常规实施的BMC从CPU接收指令,并且不独立于CPU操作。相反,根据当前系统和方法的示例实施例,BMC可实现为使得BMC独立于计算机存储阵列的CPU操作而不受其干预。换句话说,BMC可以作为复杂性增大的主装置进行操作。通过使用BMC而不使用第三方服务器来检测和防范DoS攻击,能够更快地对流入和流出的DoS攻击进行检测并恢复计算机存储阵列。

根据当前系统和方法的实施例,BMC可检测来自外部源的DoS或DDoS攻击,并通过改变计算机存储阵列的上行链路端口的公共IP地址来使所述攻击无效。BMC还可以向系统管理员以及受所述改变影响的主机发起者通知公共IP地址的改变。

根据当前系统和方法的实施例,BMC还可通过检测目的地IP地址对于本地网络交换机而言不是“已知的”或“已注册的”来检测NVMe-oF装置和/或主板或机箱已被恶意代码操纵。在检测后,BMC可以关断或以其它方式禁用被操纵的NVMe-oF装置和/或主板,并且随后通知系统管理员扫描系统。在一些情况下,由于扫描仅可在病毒特征码已知的情况下检测到病毒感染,所以BMC可擦除安装在NVMe-oF装置和/或主板上的现有固件或软件,将新固件或软件下载并安装至NVMe-oF装置和/或主板上,并且重新启动被影响的计算机存储装置。

图1示出了根据当前系统和方法的实施例的利用BMC来检测和防范针对NVMe-oF装置的流入的DoS攻击或来自于NVMe-oF装置的流出的DoS攻击的示例计算机存储阵列。计算机存储阵列100包括计算机主板101、本地CPU 102、BMC 103、PCIe交换机104、网络装置105以及多个NVMe-oF装置106。在这种情况下,NVMe-oF装置106可为包括以太网端口、PCIe端口和SMBus端口的以太网SSD(Ethernet-enabled SSD,eSSD),并且网络装置105可为网络地址转换(NAT)路由器、网络交换机(例如,层3交换机)等。计算机存储阵列100为一个或多个远程发起者107提供对连接至计算机存储阵列100的NVMe-oF装置106中的一个或多个的访问。

根据示例实施例,本地CPU 102、BMC 103、PCIe交换机104和网络装置105可集成或内置在计算机主板101中,或者可作为分立组件安装至计算机主板101上。可利用硬件组件、软件组件、或硬件组件和软件组件的组合来实现这些组件。尽管图1将这些组件示为单独的组件,但这些组件中的一个或多个可以组合。计算机主板101至少包括以太网总线、PCIE总线和SMBus。本地CPU 102被构造为运行用于管理网络协议的操作系统。网络装置105被构造为监视和路由相对于NVMe-oF装置106进出的分组级别的网络流量。网络装置105访问已知源/目的地地址的列表,例如网络地址转换表。可增加任何连接至NVMe-oF装置的新的发起者作为所述列表或表中的一个条目。

BMC 103通过与经由以太网总线建立的带内连接(in-band connection)分开的带外连接(out-of-band connection)与管理服务器108通信。BMC 103可使用智能平台管理接口(IPMI)与管理服务器108通信。IPMI是一套用于计算机子系统(诸如BMC 103)的计算机接口规范,其提供独立于系统的本地CPU、固件和操作系统的管理和监视功能。

BMC 103和本地CPU 102经本地总线在本地连接至NVMe-oF装置106。例如,PCIe交换机104经单独的PCIe总线将BMC 103和本地CPU 102与NVMe-oF装置106中的每一个连接。BMC 103和本地CPU 102各自能够对NVMe-oF装置106的网络设置进行配置。BMC 103还被构造为基于网络装置105对相对于NVMe-oF装置106进出的网络流量的监视(例如,监视其统计信息)来检测DoS攻击。

图2示出了根据当前系统和方法的实施例的利用BMC来检测和防范来自于外部源的流入的DoS攻击的示例计算机实现的方法。尽管将BMC 103和网络装置105描述为执行下面的操作,但是当前系统和方法不限于此。例如,可通过诸如CPU的其它组件执行这些操作的一部分。

网络装置105从计算机存储阵列外部的一个或多个源接收网络流量(201)。网络装置105监视和路由分组级别的网络流量。具体地说,网络装置105监视网络流量以确定流入的数据分组的源地址是已知源地址(例如,在已知源地址列表上)还是未知源地址(例如,不在已知源地址列表上)(202)。

如果流入的数据分组的源地址是已知源地址(203),则网络装置105将流入的数据分组路由至目标NVMe-oF装置106(204)。如果流入的数据分组的源地址是未知源地址(203),则网络装置105丢弃流入的数据分组(205)。

BMC 103基于网络装置105对网络流量的监视来检测DoS攻击。例如,如果BMC 103确定在短时内许多流入的数据分组都被丢弃,则BMC 103可确定NVMe-oF装置106受到DoS攻击。换句话说,BMC 103计算流入的数据分组的源地址对应于未知源地址的速率(在这种情况下即为流入的数据分组被丢弃的速率)(206)。

如果BMC 103确定所述速率超过预定阈值(207),则BMC 103将受攻击的一个或多个NVMe-oF装置的当前公共IP地址改变为不同的公共IP地址(208)。BMC 103可基于丢弃的流入的数据分组的目的地地址来确定哪些NVMe-oF装置受到攻击。例如,公共IP地址可对应于发起者107用来找到NVMe-oF装置106的地址的NAT公共IP地址。可从保留的IP地址的范围中选择不同的公共IP地址,或者可基于模式或算法来确定不同的公共IP地址。BMC 103经LAN管理端口向访问NVMe-oF装置106的发起者107中的一个或多个发送通知,该通知指示公共IP地址的改变(209)。例如,该通知可包括不同的公共IP地址,或者可通过提供新的索引指针通知发起者107使用保留的IP地址的范围内的下一IP地址来访问改变了公共IP地址的NVMe-oF装置106。

因此,图2的计算机实现的方法允许BMC 103快速检测DoS攻击,通过将受到攻击的NVMe-oF装置106的当前公共IP地址改变为不同的公共IP地址来防范所述攻击,并通知将受到IP地址改变影响的发起者在后续访问NVMe-oF装置106中使用所述不同的IP地址。根据另一实施例,BMC 103可通过禁用受到攻击的NVMe-oF装置106的当前公共IP地址来防范DoS攻击。

图3示出了根据当前系统和方法的实施例的利用BMC来检测和防止被操纵的NVMe-oF装置参与流出的DoS攻击的示例计算机实现的方法。尽管将BMC 103和网络装置105描述为执行下面的操作,但是当前系统和方法不限于此。例如,可通过诸如CPU的其它组件来执行这些操作的一部分。

网络装置105从NVMe-oF装置中的一个或多个接收网络流量(301)。网络装置105监视和路由分组级别的网络流量。具体地说,网络装置105监视网络流量以确定通过NVMe-oF装置发送的流出的数据分组的目的地地址是已知目的地地址(例如,在已知目的地地址的列表上)还是未知目的地地址(例如,不在已知目的地地址的列表上)(302)。

如果流出的数据分组的目的地地址是已知目的地地址(303),则网络装置105将流出的数据分组路由至目的地地址(304)。如果流出的数据分组的目的地地址是未知目的地地址(303),则网络装置105丢弃流出的数据分组(305)。

BMC 103基于网络装置105对网络流量的监视来检测流出的DoS攻击。例如,如果BMC 103确定在短时内丢弃了NVMe-oF装置发送的许多流出的数据分组,则BMC 103可确定该NVMe-oF装置被操纵并且参与了流出的DoS攻击。换句话说,BMC计算由NVMe-oF装置发送的流出的数据分组的目的地地址对应于未知目的地地址的速率(在这种情况下即为流出的数据分组被丢弃的速率)(306)。

如果BMC确定所述速率超过预定阈值(307),这可表示,NVMe-oF装置被操纵并且参与了流出的DoS攻击,则BMC 103例如在系统管理员确定进一步的适当推荐行为之前保持复位信号有效来禁用或隔离NVMe-oF装置(308)。BMC 103向计算机存储阵列的系统管理员发送通知,以通知系统管理员NVMe-oF装置受到波及(309)。根据其它实施例,如果BMC确定NVMe-oF已被操纵或以其它方式受波及,则BMC 103可擦除安装在NVMe-oF装置上的现有的固件或软件,并且将新的固件或软件下载并安装至NVMe-oF装置上。

因此,图3的计算机实现的方法允许BMC 103快速检测一个或多个NVMe-oF装置是否已被操纵和成为流出的DoS攻击的参与者,通过禁用或隔离被操纵的NVMe-oF装置来防范攻击,并通知系统管理员NVMe-oF装置已受波及。

可以使用硬件元件、软件元件或两者的组合来实现当前系统和方法的各个实施例。硬件元件的示例可包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)和现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片集等。软件的示例可包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例行程序、子例行程序、函数、方法、过程、软件界面、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、词、值、符号或它们的任意组合。确定是利用硬件元件和/或软件元件来实施实施例可根据任何数量的因素变化,诸如要求的计算速率、功率水平、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其它设计或性能约束。

至少一个实施例的一个或多个方面可由存储在机器可读介质(代表处理器内的各种逻辑)上的代表性指令来实现,当机器读取所述指令时,机器将生成逻辑来执行本文描述的技术。称为“IP核”的这些代表可存储在有形的、机器可读介质上,并被提供给各个客户或制造设施,以载入实际制造逻辑或处理器的制造机器中。

虽然已经参照各种实施方式描述了本文阐述的某些特性,但该描述不旨在具有限制性含义。因此,认为本文所述的实施方式的各种修改形式以及对于本公开技术所属领域的技术人员显而易见的其它实施方式落入本公开的精神和范围内。

为了解释,已经参照具体实施例描述了先前的说明。然而,以上示出性讨论并非旨在是全面的或将权利要求的范围限于公开的确切形式。鉴于上述教导,许多修改和变更都是可能的。选择实施例以便最好地解释权利要求的原理及其实际应用,从而使本领域其它技术人员能够最好地使用所述实施例以及适于预期的特定用途的各种修改形式。

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