控制装置、边界路由器、控制方法和控制程序与流程

文档序号:11455621阅读:265来源:国知局
控制装置、边界路由器、控制方法和控制程序与流程

本发明涉及控制装置、边界路由器、控制方法和控制程序。



背景技术:

当前,利用dns(domainnamesystem:域名系统)、ntp(networktimeprotocol:网络时间协议)等udp(userdatagramprotocol:用户数据报协议)的响应分组的反射型ddos攻击(distributeddenialofservice:分布式拒绝服务)成为问题。例如,当攻击者向大量分散在网络中的开放的解析器(openresolver)发送伪装了发送源ip地址的dns的请求分组时,这些开放的解析器分别进行名称解析,向伪装的发送源ip地址发送响应分组。其结果使得大量的响应分组向伪装的发送源(即,目标)集中。由此,攻击者对目标网络施加几百gbps的负载。

在此,由于在dns或ntp中使用的协议是udp,因此,无法利用防火墙的状态检测功能来防御上述那样的攻击。因此,提出有如下技术:当网络的边界路由器从目标侧接收到dns或ntp的请求分组(即,合法的请求分组)时,将该请求分组的发送源的ip地址和端口编号追加到白名单中,边界路由器转发目的地地址记载于白名单中的ip地址和端口编号的响应分组(合法的响应分组),但是阻断(丢弃)除此之外的dns或ntp的响应分组。根据这样的技术,能够阻断攻击分组并使得合法的响应分组到达目标。

在先技术文献

非专利文献

非专利文献1:首藤裕一等,基于动态分组过滤的反射型dos攻击的阻断方法,信学技报,vol.113,no.473,in2013-181,pp.223-228,2014年3月(首藤裕一他、動的パケットフィルタリングによる反射型dos攻撃の遮断手法、信学技報、vol.113、no.473、in2013-181、pp.223-228、2014年3月)



技术实现要素:

发明要解决的课题

在此,反射型ddos攻击的攻击分组存在尺寸较大的倾向,多被片段化之后进行转发。例如,在上述dns或ntp的响应分组被片段化的情况下,除了起始分组以外都不具有udp报头信息。因此,边界路由器对于被片段化后的攻击分组中的第二个以后的分组(udp后续片段(udpsubsequentfragment))无法判断该分组是否是dns或ntp的分组。其结果导致无法阻断被片段化后的攻击分组而到达目标的可能性。

因此,本发明要解决所上述问题,课题是即使是被片段化的攻击分组也进行阻断并使合法得分组到达。

用于解决课题的手段

为了解决上述课题,本发明是一种控制装置,该控制装置对将网络彼此连接起来的各个边界路由器指示分组的转发控制,其特征在于,所述控制装置具有分组取得部、名单制作部和分组丢弃指示部,当检测到通过规定服务的响应分组的集中而实施的攻击时,所述分组取得部取得由所述边界路由器接收到的、发给所述攻击的目标的规定服务的响应分组的至少一部分;所述名单制作部将所述取得的响应分组的发送源ip地址追加到所述边界路由器的黑名单中;所述分组丢弃指示部在接收到以所述黑名单中记载的ip地址作为发送源的、发给所述攻击的目标的分组时,指示所述边界路由器丢弃该分组。

发明的效果

根据本发明,还能够阻断被片段化后的攻击分组并使合法得分组到达。

附图说明

图1是说明初始状态下的通信系统的动作概要的图。

图2是说明初始状态→名单准备状态下的通信系统的动作概要的图。

图3是说明名单准备状态→名单防御状态下的通信系统的动作概要的图。

图4是控制器和边界路由器的功能框图。

图5是示出边界信息的示例的图。

图6是示出初始状态、名单准备状态、名单防御状态下的规则的示例的图。

图7是示出初始状态下的通信系统的处理流程的示例的时序图。

图8是示出初始状态→名单准备状态下的通信系统的处理流程的示例的时序图。

图9是示出名单准备状态→名单防御状态下的通信系统的处理流程的示例的时序图。

图10是控制器和边界路由器的功能框图。

图11是示出具有图10所示的控制器和边界路由器的通信系统的处理流程的示例的时序图。

图12是示出图10所示的控制器和边界路由器的示例的图。

图13是示出执行控制程序的计算机的图。

具体实施方式

以下,参照附图对用于实施本发明的方式(实施方式)进行说明。另外,本发明不限于本实施方式。在本实施方式中,说明了针对使用dns的反射型ddos攻击的阻断方式,但是,本发明不限于此,针对使用ntp或其它协议的反射型ddos攻击也可以通过相同的处理来阻断。

首先,对本实施方式的通信系统的结构和概要进行说明。如图1所示,本实施方式的通信系统例如具有互联网和用户网络。互联网与用户网络之间的通信由中继网络进行中继。

互联网例如与反射器(reflector)连接。反射器例如是开放的解析器等。该反射器是在攻击时被用作为所谓的跳板的服务器组。在此,以如下情况为例进行说明:反射器从攻击者接收伪装为发送源的请求分组(dns请求分组),作为该dns请求分组的响应,经由互联网和中继网络向用户网络内的目标(目标的ip地址或包含该ip地址的ip地址带)发送大量的响应分组(攻击分组)。此外,该响应分组中还包含有被片段化后的分组。

边界路由器20设置在互联网与中继网络之间,用于进行所输入的分组的转发处理。该边界路由器20具有如下功能:依照来自后述的控制器10的指示变更内部转发规则,或者向控制器10转发符合特定条件的分组,或者向控制器10发送业务量信息。作为这样由控制器通过指示使多个路由器动态地变更路径控制设定的结构,例如存在openflow这种通信规格。例如,边界路由器20只要是对应openflow1.0的路由器,就能够实现上述功能。此外,作为对应openflow的路由器,存在作为开源软件被公开的openvswitch等。收容路由器(accommodationrouter)30设置在中继网络与用户网络之间,用于进行所输入的分组的转发控制。该收容路由器30具有与边界路由器20相同的功能。控制器(控制装置)10进行各边界路由器20和收容路由器30的控制。

在此,当由反射器发送了发给目标的大量攻击分组时,分组(例如dns响应分组)会集中在目标所属的用户网络的收容路由器30中。当控制器10检测到向收容路由器30的分组的集中时,首先,各边界路由器20准备用于攻击分组的防御的黑名单(名单准备状态(listpreparationstate))。然后,当黑名单大致完成时,控制器10使各边界路由器20进行使用黑名单的攻击分组防御(名单防御状态(listblockingstate))。

(初始状态)

接着,使用图1,对各边界路由器20成为名单准备状态之前的状态(初始状态)进行说明。例如,当控制器10通过dns响应分组(dns响应)向该收容路由器30的的集中而检测到对目标进行的攻击时(s1),决定使各边界路由器20转移为初始状态。然后,控制器10针对各边界路由器20设定初始状态的规则。即,对各边界路由器20设定阻断(丢弃)发给目标的dns响应和udp后续片段这样的规则(s2)。

此外,控制器10对收容路由器30进行设定,以使其将来自目标的dns请求(dns请求分组)转发给控制器10(s3)。

在s3之后,当控制器10经由收容路由器30接收到来自目标的dns请求时,对全部边界路由器20进行规则的例外设定(使针对来自目标的dns请求的dns响应通过这样的设定。具体而言,是使该请求的目的地ip地址成为发送源的dns响应分组通过这样的设定),然后将该dns请求转发给任意一个边界路由器20(s4)。

这样从控制器10接收到初始状态规则和例外设定的边界路由器20原则上阻断发给目标的dns响应和udp后续片段,而使符合从控制器10接收到的例外设定的dns响应通过(s5)。例如,边界路由器20原则上阻断发给目标的dns响应和udp后续片段,但是,对于以接收到来自目标的dns请求的正规的dns服务器50作为发送源的dns响应,即使该dns响应的目的地地址是目标,也使其通过。由此使得正规的dns响应到达目标。

(初始状态→名单准备状态)

接下来,使用图2,对各边界路由器20从初始状态向名单准备状态的转移进行说明。例如,控制器10观测到达各边界路由器20的发给目标的dns响应的业务量(s11)。然后,控制器10根据到达各边界路由器20的发给目标的dns响应的业务量来估计当边界路由器20转移至名单准备状态时将要从边界路由器20向控制器10转发的发给目标的dns响应的业务量的总量。然后,控制器10在该业务量的总量不超过规定值的范围内决定转移至名单准备状态的边界路由器20的集合,并对该集合的各个边界路由器20设定名单准备状态用规则(s12)。

这里的名单准备状态用规则是如下这样的规则:在该边界路由器20中,阻断(丢弃)发给目标的dns响应和udp后续片段,对以没有记载在黑名单(详细情况后记)中的ip地址作为发送源的发给目标的dns响应进行采样,然后转发给控制器10。另外,采样后的发给目标的dns响应在控制器10中制作边界路由器20的黑名单(详细情况后述)时使用。此外,边界路由器20在名单准备状态下也应用与在初始状态时设定的例外设定相同的“规则的例外设定”而使符合从控制器10接收到的例外设定的dns响应通过。

(名单准备状态→名单防御状态)

接下来,使用图3,对各边界路由器20从名单准备状态向名单防御状态的转移进行说明。例如,转移为名单准备状态的边界路由器20依照所述名单准备状态用规则,对接收到的分组中的、以没有记载在黑名单(详细情况后述)中的ip地址作为发送源的发给目标的dns响应进行采样,然后转发给控制器10(s21)。另外,当该边界路由器20从初始状态刚刚转移到名单准备状态时(即,尚未设定黑名单的状态时),对接收到的分组中的、发给目标的dns响应进行采样,然后发送至控制器10。

然后,当控制器10接收到由边界路由器20采样后的发给目标的dns响应时,将该发送的dns响应的发送源ip地址追加到该边界路由器20的黑名单中(s22)。然后,控制器10监视名单准备状态的边界路由器20中的黑名单追加(向黑名单进行的新的ip地址追加)状态,当成为规定时间没有进行黑名单追加的状态时,决定为使该边界路由器20转移为名单防御状态。然后,控制器10针对该边界路由器20设定名单防御用规则(s23)。

即,当控制器10判断为已成为攻击源(例如反射器)的ip地址几乎全部被注册在名单准备状态的边界路由器20的黑名单中的状态时,决定使边界路由器20转移为名单防御状态。然后,针对该边界路由器20设定名单防御用规则。

另外,这里的名单防御用规则是如下这样的规则:在该边界路由器20中,阻断发给目标的dns响应以及对以记载在黑名单中的ip地址作为发送源的发给目标的udp后续片段。另外,在名单防御状态下,边界路由器20也从没有记载在黑名单中的ip地址对发给目标的dns响应进行采样,然后转发给控制器10。此外,边界路由器20应用与在初始状态时设定的例外设定相同的“规则的例外设定”而使符合从控制器10接收到的例外设定的dns响应通过。

这样,当各边界路由器20转移为名单防御状态时,各边界路由器20原则上阻断发给目标的dns响应,但却使对于来自目标的dns请求的dns响应(即,合法的dns响应)能够通过。此外,各边界路由器20虽然阻断由记载在黑名单中的ip地址发给目标的udp后续片段,但却使由没有记载在黑名单中的ip地址发给目标的udp后续片段(即,合法的udp后续片段)能够通过。

(结构)

接下来,使用图4对控制器10和边界路由器20的结构进行说明。首先,对控制器10的结构进行说明。

(控制器)

如图4所示,控制器10具有通信控制部11、存储部12、控制部13。

通信控制部11是用于与外部装置之间进行数据的发送接收的通信接口。通信控制部11例如掌管从控制部13向边界路由器20进行规则的发送、或从边界路由器20取得发给目标的dns响应的采样结果的通信接口。

存储部12存储路由器信息。该路由器信息是示出设置在中继网络中的各个边界路由器20的识别信息的信息。如图5所示,该路由器信息除了包含各边界路由器20的识别信息外,例如还可以包含各边界路由器20的状态(初始状态、名单准备状态、名单防御状态)。各边界路由器20的状态由状态决定部132(后记)写入。

控制部13掌管控制器10整体的控制,在此,主要向边界路由器20发送与分组转发、阻断相关的规则。

控制部13具有攻击检测部130、观测部131、状态决定部132、分组取得部133、名单制作部134、分组丢弃指示部135、分组转发指示部136、例外设定指示部137以及分组转发部138。

攻击检测部130用于检测针对目标的攻击。例如,攻击检测部130从收容路由器30取得业务量信息,当根据该业务量信息判断为dns响应集中在用户网络内的规定的目的地地址(目标)时,检测为以该目的地地址作为目标的攻击。

观测部131观测各个边界路由器20的发给目标的dns响应的业务量。例如,观测部131对各个边界路由器20进行指示,指示对发给目标的ip地址的dns响应的业务量进行测量,并按照每个规定期间从该边界路由器20取得该业务量的测量结果。

状态决定部132决定将各边界路由器20设为初始状态、名单准备状态、还是名单防御状态。

例如,状态决定部132根据由观测部131观测到的各个边界路由器20的发给目标的dns响应的业务量来估计当边界路由器20转移至名单准备状态时将要从边界路由器20转发至控制器10的发给目标的dns响应的业务量的总量。即,状态决定部132估计从转移至名单准备状态的边界路由器20接收到的采样结果的业务量的总量。并且,状态决定部132在推测出的dns响应的业务量的总量不超过规定值的范围内从初始状态的边界路由器20中决定转移至名单准备状态的边界路由器20的集合。

此外,例如,状态决定部132监视向名单准备状态的边界路由器20中的黑名单进行的ip地址的追加情况,当规定期间没有进行向黑名单进行的ip地址的追加时,决定为使该边界路由器20转移至名单防御状态。即,状态决定部132当名单准备状态的边界路由器20中的黑名单某种程度成熟时,决定使该边界路由器20转移为名单防御状态。

此外,也可以是,状态决定部132参照由观测部131观测到的名单准备状态的边界路由器20中的发给目标ip地址的dns响应的业务量、以及该边界路由器20的黑名单,当从没有列入该边界路由器20的黑名单中的ip地址发给目标ip地址的dns响应(发给目标的黑名单外响应分组(target-addressedblack-listexcludedreplypacket))的每小时的业务量为规定值以下时,决定为使该边界路由器20转移为名单防御状态。

分组取得部133进行由名单准备状态或名单防御状态的边界路由器20接收到的发给目标的dns响应的采样。例如,分组取得部133从名单准备状态或名单防御状态的边界路由器20接收对由该边界路由器20接收到的发给目标的黑名单外响应分组以规定速率进行采样而得到的dns响应。

名单制作部134制作各边界路由器20的黑名单。具体而言,名单制作部134将由分组取得部133进行采样而得到的、由边界路由器20接收到的dns响应的发送源ip地址追加到该边界路由器20的黑名单中。另外,该黑名单是当名单防御状态的边界路由器20阻断发给目标的udp后续片段时所参照的名单。

分组丢弃指示部135根据各边界路由器20的状态对各边界路由器20进行指示应阻断(丢弃)何种分组。

例如,分组丢弃指示部135对初始状态的边界路由器20设定如下内容的规则:当接收到发给目标的dns响应和发给目标的udp后续片段中的任意一方时,丢弃该分组。

此外,例如,分组丢弃指示部135对名单防御状态的边界路由器20设定如下内容的规则:当接收到发给目标的dns响应和以记载在黑名单中的ip地址作为发送源的发给目标的udp后续片段中的任意一方时,丢弃该分组。

进而,例如,分组丢弃指示部135对名单准备状态的边界路由器20设定如下内容的规则:当接收到发给目标的dns响应和发给目标的udp后续片段中的任意一方时,丢弃该分组。

分组转发指示部136对收容路由器30进行如下内容的指示:当收容路由器30接收到来自目标的dns请求时,将该dns请求转发给控制器10。

例外设定指示部137如果经由收容路由器30接收到来自目标的dns请求,则对各个边界路由器20设定如下内容的规则(例外):将以该dns请求的目的地ip地址作为发送源ip地址的dns响应排除在丢弃的对象之外。由此使得在各边界路由器20中,使针对来自目标的dns请求的dns响应(即,合法的dns响应)能够通过。另外,当例外设定指示部137检测到攻击时,对收容路由器30预先设定如下内容的规则:将来自目标的dns请求转发给控制器10。由此使得在攻击检测之后来自目标的dns请求到达控制器10。另外,例外设定指示部137在经过规定时间之后将边界路由器20上的上述例外设定消去。

在由例外设定指示部137对各边界路由器20进行例外规则的设定之后,分组转发部138将从收容路由器30接收到的dns请求转发给任意一个边界路由器20。

(边界路由器)

如图4所示,边界路由器20具有通信控制部21、存储部22、控制部23。

通信控制部21是用于与外部装置之间进行数据的发送接收的通信接口。通信控制部21例如掌管各种分组的发送接收、来自控制器10的规则的接收、以及发给目标的dns响应的采样结果的接收等的通信接口。

存储部22存储路径选择表和规则信息。

路径选择表是在控制部23决定分组转发目的地时所参照的路径信息。

规则信息是示出与边界路由器20的分组的处理(通过、阻断(丢弃)、转发等)有关的规则的信息。该规则信息由控制器10进行发送。关于边界路由器20,根据该边界路由器20的状态而例如将图6所示的任意一个状态的规则设定为规则信息。即,对初始状态的边界路由器20设定初始状态的规则,对名单准备状态的边界路由器20设定名单准备状态的规则,对名单防御状态的边界路由器20设定名单防御状态的规则。另外,图6所示的各状态的规则也一并记载规则的例外。

图6所示的初始状态的规则是这样的规则:(1)原则上阻断发给目标的dns响应和udp后续片段。在该规则中设定有:(2)使针对从控制器10转发的dns请求的dns响应通过这一例外。

此外,图6所示的名单准备状态的规则除了包含所述(1)的规则和(2)的例外之外,还包含(3)对发给目标的黑名单外响应分组进行采样后发送给控制器10的规则。

此外,图6所示的名单防御用规则除了包含所述(2)的例外和(3)的规则之外,还包含(1)所示的、原则上阻断发给目标的dns响应以及对以记载在黑名单中的ip地址作为发送源的发给目标的udp后续片段这一规则。

另外,在此省略图示,但是规则信息中包含在各边界路由器20中使用的黑名单、以及由各边界路由器20进行发给目标的dns响应的采样时的采样比例(采样速率)的值。

控制部23的转发控制部232(后记)基本上是根据路径选择表来决定分组的转发目的地,但是,如果已设定有规则,则应用该规则来进行分组的转发目的地的决定、分组的丢弃、分组丢弃的停止等。

控制部23根据从控制器10接收到的与分组转发、丢弃相关的规则(以及例外)来进行分组的转发控制和丢弃。

控制部23具有规则管理部231、转发控制部232、业务量测定部233以及采样部234。

如果规则管理部231经由通信控制部21接收到从控制器10发送的规则和例外,则将上述规则和例外作为规则信息保存在存储部22中。此外,当规则管理部231经由通信控制部21从控制器10接收到规则或例外的删除指示时,依照该指示将删除对象的规则删除。

转发控制部232使用存储部22的路径选择表来进行分组的转发控制。在此,如果在存储部22中存在符合规则信息的规则(及其例外),则转发控制部232还参照该规则(及其例外)来进行分组的转发控制和分组的丢弃。

例如,如果在规则信息中存在图6所示的名单防御状态的规则,则转发控制部232原则上依照该规则阻断发给目标的dns响应和以记载在黑名单中的ip地址作为发送源的发给目标的udp后续片段,但却使针对从控制器10发送的dns请求的dns响应通过。此外,还将发给目标的黑名单外响应分组发送给控制器10。

另外,在转发控制部232中,通过观察发送源端口编号能够判断接收分组是否是dns响应。例如,如果接收分组的发送源端口编号=53,则转发控制部232将该接收分组判断为dns响应。此外,通过观察分组的ip报头能够判断接收分组是否是udp后续片段。例如,当接收分组的协议编号=17(udp)且偏移字段的值>0(表示是后续片段)时,转发控制部232将该接收分组判断为udp后续片段。

业务量测定部233依照来自控制器10的观测部131的指示来进行由本身的边界路由器20接收的业务量的测定。例如,如果边界路由器20是初始状态,则业务量测定部233依照来自控制器10的观测部131的指示来测定由该边界路由器20接收的发给目标的dns响应的每小时的业务量,然后向控制器10进行发送。此外,如果边界路由器20是名单准备状态或名单防御状态,则业务量测定部233依照来自控制器10的观测部131的指示来测定由该边界路由器20接收的、以不是记载在黑名单中的ip地址作为发送源的发给目标的dns响应的每小时的业务量,然后向控制器10发送。

采样部234对由转发控制部232接收的发给目标的dns响应进行采样后向控制器10发送。例如,如果该边界路由器20是名单准备状态或名单防御状态,则采样部234将由转发控制部232接收的发给目标的黑名单外响应分组以规定速率进行采样后向控制器10发送。这里的采样速率可以是接收到的发给目标的dns响应的全部,也可以是一部分。

(处理流程)

接下来,使用图7~图9对通信系统的处理流程进行说明。在此,以控制器10对边界路由器20a、20b进行控制的情况为例进行说明。

(初始状态)

如果控制器10根据收容路由器30的业务量信息检测到对目标进行的攻击(s212:攻击检测),则对边界路由器20a、20b进行初始状态的规则设定(s213、s214)。即,如果控制器10的攻击检测部130检测到攻击,则分组丢弃指示部135对边界路由器20a、20b进行如下内容的设定:原则上阻断发给攻击目标的dns响应和udp后续片段。

接到上述规则的设定的边界路由器20a、20b原则上阻断发给目标的dns响应和udp后续片段(s215、s216)。

此外,控制器10对收容路由器30设定规则(s217)。这里的规则是如下内容的规则:当接收到来自目标的dns请求时,将该dns请求转发给控制器10。被设定了这样的规则的收容路由器30如果接收到来自目标的dns请求,则将该dns请求转发给控制器10(s218)。

然后,如果控制器10经由收容路由器30接收到来自目标的dns请求,则利用例外设定指示部137对边界路由器20a、20b进行使针对该dns请求的dns响应通过这样的例外设定(s219、s220)。然后,分组转发部138将经由收容路由器30接收到的dns请求转发给任意一个边界路由器20(例如边界路由器20b)(s221)。

控制器10通过对边界路由器20a、20b进行上述那样的设定而使得边界路由器20a、20b原则上阻断发给目标的dns响应和udp后续片段,但却使针对来自目标的dns请求的dns响应(合法的dns响应)通过。

(初始状态→名单准备状态)

控制器10如上所述使各边界路由器20转移为初始状态时,控制器10的观测部131每规定期间进行边界路由器20a、20b的业务量的观测(图8的s231)。例如,观测部131对边界路由器20a、20b进行指示,指示测量发给目标的dns响应的业务量,并通过轮询等每规定期间从该边界路由器20a、20b取得该业务量的测定结果。

并且,控制器10的状态决定部132根据观测到的各边界路由器20(边界路由器20a、20b)的业务量来决定转移至名单准备状态的边界路由器20(s232)。例如,状态决定部132根据由观测部131观测到的边界路由器20a、20b的发给目标的dns响应的业务量来估计当边界路由器20a、20b转移至名单准备状态时将要从边界路由器20a、20b发送的dns响应的采样结果的每小时业务量的总量。并且,状态决定部132在推测出的业务量的总量不超过规定值的范围内从初始状态的边界路由器20中决定转移至名单准备状态的边界路由器20的集合。另外,通过参照路由器信息(参照图5)能够确定哪个边界路由器20是初始状态。

接下来,控制器10的分组丢弃指示部135对已被决定为要转移至名单准备状态的边界路由器20(例如边界路由器20a、20b)进行名单准备状态的规则设定(s233、s234)。即,控制器10的分组丢弃指示部135对边界路由器20a、20b设定如下内容的规则:原则上阻断发给目标的dns响应和udp后续片段。此外,控制器10的分组取得部133对边界路由器20a、20b设定如下内容的规则:对发给目标的黑名单外响应分组进行采样后发送至控制器10。另外,边界路由器20a、20b还继续应用在s219、s220中设定的例外设定。

然后,接到上述规则的设定的边界路由器20a、20b原则上阻断发给目标的dns响应和udp后续片段,而对发给目标的黑名单外响应分组进行采样后发送至控制器10(s235、s236)。另外,边界路由器20a、20b根据在s219、s220中设定的例外设定使对于来自目标的dns请求的dns响应(合法的dns响应)通过。

控制器10的名单制作部134在从边界路由器20a、20b接收到采样结果(发给目标的黑名单外响应分组)(s237、s238)的情况下,则对边界路由器20a、20b进行指示,指示将包含在采样结果中的发送源ip地址追加到边界路由器20a、20b的黑名单中(s239:黑名单追加指示)。即,名单制作部134对边界路由器20a进行指示,指示将包含在来自边界路由器20a的采样结果中的发送源ip地址追加到黑名单中。此外,名单制作部134对边界路由器20b进行指示,指示将包含在来自边界路由器20b的采样结果中的发送源ip地址追加到黑名单中。名单制作部134每次如上所述从边界路由器20(20a、20b)接收到采样结果时,对该边界路由器20进行指示,指示将包含在该采样结果中的发送源ip地址追加到黑名单中。由此将攻击分组的发送源(例如,图1的反射器)的ip地址蓄积在边界路由器20a、20b的黑名单中。

(名单准备状态→名单防御状态)

接下来,控制器10的状态决定部132根据向边界路由器20a、20b的黑名单进行的ip地址的追加情况(黑名单的成熟度)来决定转移至名单防御状态的边界路由器20(图9的s240)。例如,状态决定部132监视向边界路由器20a、20b的黑名单进行的ip地址的追加情况,当规定期间以上没有进行ip地址的追加时,判断为该边界路由器20的黑名单已成熟,从而决定使该边界路由器20转移至名单防御状态。

然后,控制器10的分组丢弃指示部135对已被决定为要转移至名单防御状态的边界路由器20(例如边界路由器20a、20b)进行名单防御状态的规则设定(s241、s242)。即,控制器10的分组丢弃指示部135对边界路由器20a、20b设定如下内容的规则:原则上阻断发给目标的dns响应和以记载在黑名单中的ip地址作为发送源的发给目标的udp后续片段。另外,边界路由器20a、20b还继续应用在s233、s234中设定的、对发给目标的黑名单外响应分组进行采样后发送至控制器10这样的规则以及在s219,s220中设定的例外设定。

然后,接到上述规则的设定的边界路由器20a、20b原则上阻断发给目标的dns响应和以记载在黑名单中的ip地址作为发送源的发给目标的udp后续片段。此外,还对发给目标的黑名单外响应分组进行采样后发送(s243、s244)。此外,边界路由器20a、20b根据在s219、s220中设定的例外设定使针对来自目标的dns请求的dns响应(合法的dns响应)通过。进而,与s239同样地,控制器10的名单制作部134每次从边界路由器20a、20b接收到采样结果(发给目标的黑名单外响应分组),就对边界路由器20a、20b进行指示,指示将包含在采样结果中的发送源ip地址追加到边界路由器20a、20b的黑名单中。由此使得在由新的攻击源向目标发送了攻击分组的情况下,控制器10的名单制作部134也能够将该攻击源的ip地址追加到黑名单中。

由此,在进行了反射型ddos攻击等的情况下,通信系统对于后续片段也识别出攻击分组从而通过边界路由器20进行阻断。此外,通信系统使针对来自攻击目标的dns请求的dns响应(合法的dns响应)通过。因此,通信系统能够阻断大部分攻击分组同时使合法的分组通过。

进而,通信系统在检测攻击之后阻断发给目标的dns响应和udp后续片段,在确认黑名单某种程度成熟之后,使用该黑名单进行发给目标的udp后续片段的阻断。由此,通信系统能够减少不合法的udp后续片段的攻击。进而,由于通信系统自动检测出黑名单某种程度成熟的情况,因此,能够提前进行合法的udp后续片段的疏通修复。

此外,通信系统中,当使边界路由器20从初始状态转移至名单准备状态时,控制器10使得以从边界路由器20接收的业务量的总量处于规定范围内的方式进行转移,因此,能够避免控制器10成为超负载的状态。此外,通信系统能够最大限度地有效利用可通过控制器10处理的负载量来制作各边界路由器20的黑名单。

(其它实施方式)

另外,还存在如下情况:当控制器10的状态决定部132从初始状态的边界路由器20组中决定转移至名单准备状态的边界路由器20时,在中继网络内存在已经转移至名单防御状态的边界路由器20。这样的情况下,状态决定部132还需要考虑从名单防御状态的边界路由器20转发给控制器10的发给目标的dns响应的业务量。因此,状态决定部132根据以下公式(2)来计算将要从各边界路由器20转发给控制器10的发给目标的dns响应的业务量的总量。

t_1хr_1+t_2хr_2…公式(2)

t_1:由名单准备状态的各个边界路由器20接收的发给目标的黑名单外响应分组的每小时的业务量的合计

t_2:由名单防御状态的各个边界路由器20接收的发给目标的黑名单外响应分组的每小时的业务量的合计

r_1:名单准备状态的各个边界路由器20的响应分组的采样比例(即,由名单准备状态的各个边界路由器20接收的发给攻击目标的规定服务的响应分组中的、由控制器10的分组取得部133取得的响应分组的比例)

r_2:名单防御状态的各个边界路由器20的响应分组的采样比例(即,由名单防御状态的各个边界路由器20接收的发给攻击目标的规定服务的响应分组中的、由控制器10的分组取得部133取得的响应分组的比例)

由此,即使在中继网络内存在名单防御状态的边界路由器20的情况下,状态决定部132也能够计算将要从各边界路由器20转发给控制器10的发给目标的dns响应的业务量的总量。其结果是,状态决定部132能够高精度地计算将要从各边界路由器20转发给控制器10的发给目标的dns响应的业务量的总量。

此外,控制器10的分组丢弃指示部135对名单防御状态的边界路由器20进行指示,当接收到发给攻击目标的规定服务的响应分组和以记载在黑名单中的ip地址作为发送源的发给攻击目标的被片段化后的分组中的任意一方时,丢弃该分组,但是,不限于此。例如,也可以是,分组丢弃指示部135对名单防御状态的边界路由器20进行指示,当接收到以记载在黑名单中的ip地址作为发送源的发给攻击目标的分组时,丢弃该分组。由此,边界路由器20也能够丢弃基于该攻击通信的攻击分组。

此外,也可以是,通信系统在各边界路由器侧进行黑名单的制作和管理。使用图10对该情况的控制器100和边界路由器200进行说明。对与所述实施方式相同的结构附加相同的标号并省略说明。

例如,当控制器100检测出向规定目的地地址进行的dns响应的集中(发给目标的攻击)时,对各边界路由器200进行以下指示。即,控制器100对各边界路由器200进行指示,在接收到以本身的边界路由器200所具有的黑名单中没记载的ip地址作为发送源的发给目标的dns响应的情况下,将该ip地址追加到黑名单中。并且,控制器100对各边界路由器200进行指示,在接收到发给目标的dns响应和以黑名单中记载的ip地址作为发送源的udp后续片段的情况下,阻断该udp后续片段。此外,控制器100对各边界路由器200进行如下内容的例外设定:使针对发给目标的dns请求的dns响应通过。即,控制器100对各边界路由器200进行如下内容的例外设定:使合法的dns响应通过。由此,通信系统也能够阻断大部分攻击分组同时使合法的分组通过。

如图10所示,控制器100的控制部13具有攻击检测部130、分组转发指示部136、例外设定指示部137、分组转发部138以及防御指示部139。当由攻击检测部130检测到攻击时,防御指示部139对各边界路由器200进行目标ip地址的通知和防御设定指示。这里的防御设定指示是如下内容的指示:阻断发给目标的dns响应和以本身的边界路由器200所具有的黑名单中记载的ip地址作为发送源的udp后续片段,此外,在接收到以本身的边界路由器200所具有的黑名单中没记载的ip地址作为发送源的发给目标的dns响应的情况下,将该ip地址追加到黑名单中。

此外,边界路由器200的控制部23还具有规则管理部231、转发控制部232、攻击观测部235以及名单制作部236。当攻击观测部235从防御指示部139受理了目标ip地址的通知和防御设定指示时,如以下那样进行分组的观测。即,攻击观测部235观测由转发控制部232和通信控制部21转发的分组,在接收到以黑名单中没记载的ip地址作为发送源的发给目标的dns响应的情况下,将该ip地址通知给名单制作部236。接到该通知的名单制作部236将该ip地址追加到黑名单中。此外,当规则管理部231从防御指示部139受理了目标ip地址的通知和防御设定指示时,对规则信息进行防御设定。即,规则管理部231在存储部22的规则信息中设定阻断发给目标的dns响应这样的规则。此外,规则管理部231在存储部22的规则信息中设定如下内容的规则:每次将新的ip地址追加到黑名单中时,就阻断以该ip地址作为发送源的udp后续片段。

接下来,使用图11,对具有图10所示的控制器100和边界路由器200的通信系统的处理流程进行说明。在此,以控制器100对边界路由器200a、200b进行控制的情况为例进行说明。

首先,如果控制器100根据收容路由器30的业务量信息检测到对目标进行的攻击(s312:攻击检测),则防御指示部139对边界路由器200a、200b进行目标ip地址的通知和防御设定指示(s313、s314)。

然后,接到上述目标ip地址的通知和防御设定指示的边界路由器200a、200b原则上阻断发给目标的dns响应和以记载在黑名单中的ip地址作为发送源的udp后续片段。此外,边界路由器200a,200b每次接收到以不是记载在黑名单中的ip地址作为发送源的发给目标的dns响应就将该ip地址追加到黑名单中(s315、s316)。

此外,控制器100与所述控制器10同样地,对收容路由器30设定规则(s317)。这里的规则是如下内容的规则:当接收到来自目标的dns请求时,将该dns请求转发给控制器100。被设定了这样的规则的收容路由器30如果接收到来自目标的dns请求,则将该dns请求转发给控制器100(s318)。

然后,如果控制器100经由收容路由器30接收到来自目标的dns请求,则利用例外设定指示部137对边界路由器200a、200b进行使针对该dns请求的dns响应通过的例外设定(s319、s320)。然后,分组转发部138将经由收容路由器30接收到的dns请求转发给任意一个边界路由器200(例如边界路由器200b)(s321)。

由此,通信系统也能够阻断大部分攻击分组同时使合法的分组通过。另外,在上述通信系统的情况下,在攻击检测时利用各边界路由器200本身来进行黑名单的制作。即,控制器100无需由边界路由器200进行分组的采样,因此,在攻击检测时,各边界路由器200能够迅速地开始黑名单的制作,从而进行针对攻击的防御。另外,上述边界路由器200阻断发给目标的dns响应和以黑名单中记载的ip地址作为发送源的udp后续片段,但是,也可以将以黑名单中记载的ip地址作为发送源的发给攻击目标的分组全部阻断。

此外,如图12所示,上述边界路由器200还可以例如通过对应openflow的路由器和受控制器100控制的子控制器来实现。由于该子控制器具有通用的计算能力,因此,能够由边界路由器200本身来管理黑名单。具体而言,图10所示的边界路由器200的通信控制部21、存储部22和控制部23的转发控制部232的功能由对应openflow的路由器来实现,边界路由器200的通信控制部21、存储部22、控制部23的规则管理部231、攻击观测部235和名单制作部236的功能由子控制器来实现。

以下示出如上所述通过对应openflow的路由器和子控制器来实现边界路由器200时的处理流程的一例。

首先,如果控制器100检测到攻击,则对各边界路由器200的子控制器进行目标ip地址的通知和防御设定指示。接下来,接到目标ip地址的通知和防御设定指示的子控制器对本身所管理的对应openflow的路由器(即,配备有该子控制器的边界路由器200的对应openflow的路由器)指示以下两点。即,子控制器(1)在接收到发给目标的dns响应中的、以黑名单中没记载的ip地址作为发送源的分组时,将该分组转发给子控制器。(2)阻断发给目标的dns响应和以黑名单中记载的ip地址作为发送源的udp后续片段。然后,子控制器在接收到根据(1)的指示而从本身所管理的对应openflow的路由器转发的分组时,将该分组的发送源ip地址追加到黑名单中。

此外,如果控制器100经由收容路由器30接收到来自目标的dns请求,则对各边界路由器200的子控制器进行使针对该dns请求的dns响应通过这样的例外设定。接到这样的例外设定的子控制器对本身所管理的对应openflow的路由器指示,使针对该dns请求的dns响应通过。由此,边界路由器200能够使来自目标得合法的分组通过。

(程序)

此外,还可以制作以计算机可执行的语言记载了上述实施方式的控制器10、100以及边界路由器20、200执行的处理的控制程序并执行。该情况下,通过由计算机执行程序而能够获得与上述实施方式相同的效果。而且,还可以通过如下方式来实现与上述实施方式相同的处理:将有关程序记录于计算机可读取的记录介质中,使计算机读入记录于该记录介质中的程序并执行该程序。以下,对执行实现与控制器10、100以及边界路由器20、200相同的功能的控制程序的计算机的一例进行说明。

图13是示出执行控制程序的计算机的图。如图13所示,计算机1000例如具有存储器1010、cpu(centralprocessingunit:中央处理器)1020、硬盘驱动器接口1030、磁盘驱动器接口1040、串口接口1050、视频适配器1060和网络接口1070。上述各部通过总线1080连接起来。

存储器1010包含rom(readonlymemory:只读存贮器)1011和ram(randomaccessmemory:随机存取存储器)1012。rom1011存储例如bios(basicinputoutputsystem:基本输入输出系统)等启动程序。硬盘驱动器接口1030与硬盘驱动器1090连接。磁盘驱动器接口1040与磁盘驱动器1100连接。磁盘驱动器1100中例如可插入磁盘、光盘等能够拆装的存储介质。串口接口1050例如与鼠标1110和键盘1120连接。视频适配器1060例如与显示器1130连接。

在此,如图13所示,硬盘驱动器1090存储例如os1091、应用程序1092、程序模块1093和程序数据1094。在上述实施方式中说明的路由器信息、规则信息等被存储于例如硬盘驱动器1090或存储器1010中。

此外,控制程序还例如作为记载有由计算机1000执行的指令的程序模块而被存储于硬盘驱动器1090中。具体而言,记载有在上述实施方式中说明的控制器10执行的各处理的程序模块被存储于硬盘驱动器1090中。

此外,基于控制程序的信息处理中使用的数据作为程序数据例如被存储于硬盘驱动器1090中。并且,cpu1020根据需要将存储于硬盘驱动器1090中的程序模块1093、程序数据1094读出至ram1012,从而执行上述各流程。

另外,控制程序的程序模块1093、程序数据1094不限于存储于硬盘驱动器1090的情况,例如还可以存储于能够拆装的存储介质中,从而经由磁盘驱动器1100等而由cpu1020读出。或者,也可以是,控制程序的程序模块1093、程序数据1094被存储于经由lan(localareanetwork:局域网)或wan(wideareanetwork:广域网)等网络连接起来的其它计算机中,从而经由网络接口1070由cpu1020读出。

标号说明

10、100:控制器(控制装置);

20、200:边界路由器;

30:收容路由器;

130:攻击检测部;

131:观测部;

132:状态决定部;

133:分组取得部;

134:名单制作部;

135:分组丢弃指示部;

136:分组转发指示部;

137:例外设定指示部;

138:分组转发部;

139:防御指示部;

231:规则管理部;

232:转发控制部;

233:业务量测定部;

234:采样部;

235:攻击观测部;

236:名单制作部。

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