CN103281318A - 一种针对软件定义网络的攻击测试装置 - Google Patents

一种针对软件定义网络的攻击测试装置 Download PDF

Info

Publication number
CN103281318A
CN103281318A CN2013101884081A CN201310188408A CN103281318A CN 103281318 A CN103281318 A CN 103281318A CN 2013101884081 A CN2013101884081 A CN 2013101884081A CN 201310188408 A CN201310188408 A CN 201310188408A CN 103281318 A CN103281318 A CN 103281318A
Authority
CN
China
Prior art keywords
server
test packet
address
test
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2013101884081A
Other languages
English (en)
Other versions
CN103281318B (zh
Inventor
熊继平
赵健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Normal University CJNU
Original Assignee
Zhejiang Normal University CJNU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Normal University CJNU filed Critical Zhejiang Normal University CJNU
Priority to CN201310188408.1A priority Critical patent/CN103281318B/zh
Publication of CN103281318A publication Critical patent/CN103281318A/zh
Application granted granted Critical
Publication of CN103281318B publication Critical patent/CN103281318B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种针对软件定义网络的攻击测试装置,以对软件定义网络进行攻击测试,该装置包括:获取模块,设置为测试方获取待测试的软件定义网络中对外提供服务的服务器的IP地址,以及服务器提供服务的端口号;构造模块,设置为根据服务器的IP地址以及服务器提供服务的端口号构造第一测试报文和第二测试报文;接收模块,设置为接收服务器对第二测试报文的应答;发送模块,设置为将第一测试报文及第二测试报文先后发送给服务器,并在接收模块没有收到服务器对第二测试报文的应答时,等待一随机时间段再将第二测试报文发送给服务器。本申请的实施例能够在SDN网络难以觉察到异常的境况下完成攻击测试工作。

Description

一种针对软件定义网络的攻击测试装置
技术领域
本发明涉及计算机网络安全,尤其涉及一种针对软件定义网络的攻击测试系统。
背景技术
软件定义网络(SDN)是一种有别于传统网络的创新型的网络体系。在SDN网络中,由控制器(Controller)对网络进行集中控制,也即控制器利用OpenFlow协议(一种开放的标准协议)对所有交换机进行控制,所有交换机只需要负责对接收到的数据报文进行转发。
具体的,当交换机接收到一个数据报文时,提取报文的报头信息(包括源地址、目的地址等),并将报头信息在流表中(Flow Table,类似于传统路由器的路由表)进行匹配。若匹配成功,直接将报文从匹配规则中指定的交换机输出端口进行转发;若匹配失败,交换机利用OpenFlow协议将相关信息发给控制器,由控制器产生新的流表项并通过OpenFlow协议将此流表项添加到交换机的流表中,交换机按照新产生的流表项对报文进行转发。
由此可见,交换机的数据转发功能完全依赖于流表。
由于内存大小的限制,交换机流表的表项规模不会很大,一般为千项左右。为了有效地管理流表,流表中的每个表项都有一个生存周期。当表项空闲的时间超过生存周期,该表项就会被删除,从而腾出占用的空间。
这种基于生存周期的流表管理方法,能够有效地、动态地调整流表的大小。
但是,目前的软件定义网络还不成熟,其性能也还有待于进行测试并验证。
发明内容
本发明所要解决的技术问题是为软件定义网络提供一种攻击测试装置,以对软件定义网络进行攻击测试,提高软件定义网络的实际使用性能。
为了解决上述技术问题,本发明提供了一种针对软件定义网络的攻击测试装置,应用于软件定义网络,该装置包括:
获取模块,设置为测试方获取待测试的软件定义网络中对外提供服务的服务器的IP地址,以及所述服务器提供服务的端口号;
构造模块,设置为根据所述服务器的IP地址以及所述服务器提供服务的端口号构造第一测试报文和第二测试报文;
接收模决,设置为接收所述服务器对所述第二测试报文的应答;
发送模块,设置为将所述第一测试报文及第二测试报文先后发送给所述服务器,并在所述接收模块没有收到所述服务器对所述第二测试报文的应答时,等待一随机时间段再将所述第二测试报文发送给所述服务器。
优选地,该装置包括:
所述构造模块设置为所述接收模块收到所述服务器对所述第二测试报文的应答时,继续构造所述第一测试报文;
所述发送模块将所述构造模块多次构造的所有第一测试报文一起发送给所述服务器,并再次将所述第二测试报文发送给所述服务器。
优选地,所述获取模块设置为通过所述软件定义网络的域名解释功能获取所述服务器的IP地址。
优选地,所述获取模块设置为从所述服务器提供服务的类型获取所述端口号。
优选地,所述构造模块设置为根据所述软件定义网络流表项的规模确定所述第一测试报文的数量。
优选地,所述构造模块设置为构造数量大于等于所述软件定义网络流表项规模的所述第一测试报文。
优选地,所述发送模块设置为所述接收模块没有收到所述服务器对所述第二测试报文的应答时,等待小于等于所述软件定义网络流表项的最大生存时间的所述随机时间段,再将所述第二测试报文发送给所述报务器。
优选地,所述构造模块设置为构造源地址为随机IP地址、源端口号为随机端口号、目的地址为所述服务器的IP地址、目的端口号为所述服务器提供服务的端口号的所述第一测试报文。
优选地,所述构造模块设置为构造源地址为所述测试方的IP地址、源端口号随机端口号、目的地址为所述服务器的IP地址、目的端口号为所述服务器提供服务的端口号的所述第二测试报文。
优选地,所述构造模块设置为构造基于传输控制协议的所述第二测试报文。
与现有技术相比,本申请的实施例能够在SDN网络难以觉察到异常的境况下,持续不断地刷新流表中的攻击类流表项进行网络攻击测试,使得交换机的攻击类流表项一直处于合法的生存周期内,不能被删除,从而不能接收新的合法的流表项,导致交换机不能进行正常的数据转发工作,完成攻击测试工作。
附图说明
图1为本申请实施例的网络攻击测试方法的流程示意图。
图2为本申请实施例的针对软件定义网络的攻击测试装置的构造示意图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。本申请实施例以及实施例中的各个特征在不相冲突前提下的相互结合,均在本发明的保护范围之内。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。而且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
如图1所示,本申请实施例的网络攻击测试方法主要包括如下内容。
步骤S110,测试方首先获取待进行攻击测试的SDN网络中对外提供服务的服务器的IP地址,以及该服务器提供服务的端口号,并预设第一测试阈值N1和第二测试阈值N2,该第一测试阈值N1和第二测试阈值N2的初始值相等。
本申请的实施例中,可以根据SDN网络流表项的规模来设置第一测试阈值N1和第二测试阈值N2的初始值。
本申请的实施例中,可以通过DNS域名解释功能,获取待进行攻击测试的SDN网络中服务器的IP地址,可以从服务器提供服务的类型获知端口号。
步骤S120,测试方检查存储测试报文的缓存,如果在缓存内没有检测到测试报文,则转步骤S121,否则转步骤S122。
步骤S121,测试方构造N1个第一测试报文,每个第一测试报文的源地址为随机IP地址、源端口号为随机端口号、目的地址为服务器IP地址、目的端口号为服务器提供服务的端口号,将此N1个第一测试报文存储在缓存中,转步骤S130。
步骤S122,测试方再构造N2-N1个第一测试报文,每个第一测试报文的源地址为随机IP地址、源端口号为随机端口号、目的地址为服务器IP地址、目的端口号为服务器提供服务的端口号,将此N2-N1个报文存储在缓存中,且将N2的值赋给N1,转步骤S130。
步骤S130,测试方在预设时间段内将缓存中的N1个第一测试报文发送给服务器。其中,该预设时间段小于等于SDN网络流表项的最大生存时间。
一般来说,一个包含有源地址、源端口、目的地址和目的端口的报文,会对应到交换机的一个流表。本申请实施例通过发送N个第一测试报文,就可以占用交换机的N个流表项。
本申请的实施例中,当软件定义网络中的入口交换机首次收到第一测试报文时,会建立对应的攻击流表项。后续交换机再次收到先前已经收到过的第一测试报文时,会刷新交换机流表中对应的攻击流表项的生存时间,使得这些攻击流表项依旧处于生存周期内,不会被交换机删除。对于当前收到的新的第一测试报文(后续新增的第一报文),则建立对应的攻击流表项。
步骤S140,测试方构造至少一个第二测试报文,该第二测试报文的源地址为测试方自己真正的IP地址,源端口号为随机端口号,目的地址为服务器IP地址,目的端口号为服务器提供服务的端口号。该第二测试报文的传输协议为TCP协议。
步骤S150,测试方将该至少一个第二测试报文发送给服务器。
通过构造并向服务器发送第二测试报文,可以测试交换机的流表项是否被填满。如果在测试方发送该至少一个第二测试报文前,交换机的流表项已经被填满,则该第二测试报文就不会被交换机转发,因而测试放也不会收到应答报文。如果在测试方发送该至少一个第二测试报文前,交换机的流表项还没有被填满,则说明交换机还可以继续工作。
步骤S160,在一应答时限内,测试方若收到该第二测试报文的应答报文,则转步骤S170,否则转步骤S180。
步骤S170,测试方增大第二测试阈值N2,返回到步骤S120继续执行。
步骤S180,等待一随机时间段后,返回到步骤S140。其中该随机时间段小于等于交换机流表项的最大生存时间。
本申请的实施例,也可以一次性生成远大于SDN网络流表项规模的第一测试报文,并发送给服务器。服务器据此就可以建立对应的攻击流表项并将整个流表项填满。然后,再构造第二测试报文并发送给服务器,不需要通过多次尝试的方式来填满SDN网络的流表项,可以提高测试效率。
本申请的实施例中,若测试方收到第二测试报文的应答,说明交换机的流表尚未被攻击类流表项填充满,此时增大第一测试报文个数N2,并返回到步骤S120继续进行测试。若没有收到应答报文,说明交换机的流表已经被攻击类流表项填充满,可以认为对SDN网络的攻击已经成功,达到了对SDN网络攻击的测试目的。后续可以等待一段小于交换机流表项最大生存时间的随机时间后再进行检测并攻击,这能够有效地减少平均数据发送率,增加攻击测试被发现的难度。
本申请的实施例中,假设SDN网络中对外提供网页服务的服务器A,其服务的端口号为80,域名为www.service.com,该域名对应的IP地址为10.0.0.1。这种情形下,本申请的实施例主要包括如下内容。
测试方首先利用DNS域名服务功能查询服务器A的域名www.service.com所对应的IP地址,查询结果为10.0.0.1,预设N1等于1000,N2等于1000。
在此步骤中,由于一般SDN交换机的流表项大小不会超过1000,因此,通常来说,预设N1和N2设为1000已经可以满足测试需要。
如果测试报文缓存为空,构造N1个源地址为随机伪造的IP地址,源端口号为随机端口号,目的地址为10.0.0.1,目的端口号为80的第一测试报文,并将这些第一测试报文进行缓存。若不为空,且N2>N1,那么构造N2-N1个源地址为随机伪造的IP地址,源端口号为随机端口号,目的地址为10.0.0.1,目的端口号为80的第一测试报文,将这些第一测试报文添加到缓存,并将N2的值赋给N1。
在此步骤中,由于网页服务对应的传输层为TCP协议,因此此处构造的测试报文为TCP报文。针对不同的传输层协议,需要构造对应的测试报文。
在1秒内将此缓存内的N1个第一测试报文发送出去。
在此步骤中,由于SDN网络中交换机流表项的生存时间最小单位为秒,设定1秒的发送时间能够确保所有的测试报文对应的攻击流表项在交换机中能够同时存在。
测试方构造源地址为测试方真实IP地址、源端口号随机、目的地址为10.0.0.1,端口号为80的基于TCP协议的第二测试报文。测试方将该第二测试报文发送给服务器。
测试方如果收到该TCP测试报文的应答报文,说明被测试交换机的流表项没有被填充满,测试方则增大N2,比如可以是在之前的基础上再增加100,然后回到发送第一测试报文的步骤,否则等待一段小于1秒的随机时间段后,回到发送第二测试报文的步骤。
在此步骤中,第一测试报文的数目的增长幅度可以根据实际交换机流表项规模进行选取。此外,增大N2的方式可以是线性增长方式,也可以采用指数增长方式。
本申请实施例的针对软件定义网络的攻击测试装置,其主要应用于软件定义网络。如图2所示,该装置包括获取模块210、构造模块220、接收模块230以及发送模块240。对图2所示本申请实施例的网络攻击测试装置,还请结合前述本申请实施例的网络攻击测试方法的内容进行理解。
获取模块210,设置为测试方获取待测试的软件定义网络中服务器的IP地址,以及所述服务器提供服务的端口号。
构造模块220,与获取模块210相连,设置为根据所述服务器的IP地址以及所述服务器提供服务的端口号构造第一测试报文和第二测试报文。
接收模块230,与服务器相连,设置为接收所述服务器对所述第二测试报文的应答。
发送模块240,与构造模块220、接收模块230及服务器相连,设置为将所述第一测试报文及第二测试报文先后发送给所述服务器,并在所述接收模块230没有收到所述服务器对所述第二测试报文的应答时,等待一随机时间段再将所述第二测试报文发送给所述服务器。
本申请的实施例中,所述构造模块220设置为所述接收模块230收到所述服务器对所述第二测试报文的应答时,继续构造所述第一测试报文;所述发送模块240将所述构造模块220多次构造的所有第一测试报文一起发送给所述服务器,并再次将所述第二测试报文发送给所述服务器。
本申请的实施例中,所述获取模块210设置为通过所述软件定义网络的域名解释功能获取所述服务器的IP地址。
本申请的实施例中,所述获取模块210设置为从所述服务器提供服务的类型获取所述端口号。
本申请的实施例中,所述构造模块220设置为根据所述软件定义网络流表项的规模确定所述第一测试报文的数量。
本申请的实施例中,所述构造模块220设置为构造数量大于等于所述软件定义网络流表项规模的所述第一测试报文。
本申请的实施例中,所述发送模块240设置为所述接收模块230没有收到所述服务器对所述第二测试报文的应答时,等待小于等于所述软件定义网络流表项的最大生存时间的所述随机时间段,再将所述第二测试报文发送给所述服务器。
本申请的实施例中,所述构造模块220设置为构造源地址为随机IP地址、源端口号为随机端口号、目的地址为所述服务器的IP地址、目的端口号为所述服务器提供服务的端口号的所述第一测试报文。
本申请的实施例中,所述构造模块220设置为构造源地址为所述测试方的IP地址、源端口号随机端口号、目的地址为所述服务器的IP地址、目的端口号为所述服务器提供服务的端口号的所述第二测试报文。
本申请的实施例中,所述构造模块220设置为构造基于传输控制协议的所述第二测试报文。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (10)

1.一种针对软件定义网络的攻击测试装置,应用于软件定义网络,其特征在于,该装置包括:
获取模块,设置为测试方获取待测试的软件定义网络中对外提供服务的服务器的IP地址,以及所述服务器提供服务的端口号;
构造模块,设置为根据所述服务器的IP地址以及所述服务器提供服务的端口号构造第一测试报文和第二测试报文;
接收模块,设置为接收所述服务器对所述第二测试报文的应答;
发送模块,设置为将所述第一测试报文及第二测试报文先后发送给所述服务器,并在所述接收模块没有收到所述服务器对所述第二测试报文的应答时,等待一随机时间段再将所述第二测试报文发送给所述服务器。
2.根据权利要求1所述的装置,其特征在于,该装置包括:
所述构造模块设置为所述接收模块收到所述服务器对所述第二测试报文的应答时,继续构造所述第一测试报文;
所述发送模块将所述构造模块多次构造的所有第一测试报文一起发送给所述服务器,并再次将所述第二测试报文发送给所述服务器。
3.根据权利要求1或2所述的装置,其特征在于:
所述获取模块设置为通过所述软件定义网络的域名解释功能获取所述服务器的IP地址。
4.根据权利要求1或2所述的装置,其特征在于:
所述获取模块设置为从所述服务器提供服务的类型获取所述端口号。
5.根据权利要求1所述的装置,其特征在于:
所述构造模块设置为根据所述软件定义网络流表项的规模确定所述第一测试报文的数量。
6.根据权利要求5所述的装置,其特征在于:
所述构造模块设置为构造数量大于等于所述软件定义网络流表项规模的所述第一测试报文。
7.根据权利要求1或2所述的装置,其特征在于:
所述发送模块设置为所述接收模块没有收到所述服务器对所述第二测试报文的应答时,等待小于等于所述软件定义网络流表项的最大生存时间的所述随机时间段,再将所述第二测试报文发送给所述服务器。
8.根据权利要求1或2所述的装置,其特征在于:
所述构造模块设置为构造源地址为随机IP地址、源端口号为随机端口号、目的地址为所述服务器的IP地址、目的端口号为所述服务器提供服务的端口号的所述第一测试报文。
9.根据权利要求1或2所述的装置,其特征在于:
所述构造模块设置为构造源地址为所述测试方的IP地址、源端口号随机端口号、目的地址为所述服务器的IP地址、目的端口号为所述服务器提供服务的端口号的所述第二测试报文。
10.根据权利要求1所述的装置,其特征在于:
所述构造模块设置为构造基于传输控制协议的所述第二测试报文。
CN201310188408.1A 2013-05-09 2013-05-09 一种针对软件定义网络的攻击测试装置 Expired - Fee Related CN103281318B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310188408.1A CN103281318B (zh) 2013-05-09 2013-05-09 一种针对软件定义网络的攻击测试装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310188408.1A CN103281318B (zh) 2013-05-09 2013-05-09 一种针对软件定义网络的攻击测试装置

Publications (2)

Publication Number Publication Date
CN103281318A true CN103281318A (zh) 2013-09-04
CN103281318B CN103281318B (zh) 2016-06-08

Family

ID=49063765

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310188408.1A Expired - Fee Related CN103281318B (zh) 2013-05-09 2013-05-09 一种针对软件定义网络的攻击测试装置

Country Status (1)

Country Link
CN (1) CN103281318B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105187403A (zh) * 2015-08-13 2015-12-23 国家计算机网络与信息安全管理中心 软件定义网络的网络安全性测试方法
CN106537839A (zh) * 2013-09-13 2017-03-22 瑞典爱立信有限公司 用于具有多个实例的联机服务链的服务安置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1414345A (zh) * 2001-10-23 2003-04-30 洛阳卓飞技术有限公司 无线抄表系统的自动路由方法
US6922395B1 (en) * 2000-07-25 2005-07-26 Bbnt Solutions Llc System and method for testing protocols for ad hoc networks
CN1848777A (zh) * 2006-01-19 2006-10-18 华为技术有限公司 一种协议仿真测试装置
CN103051557A (zh) * 2012-12-27 2013-04-17 华为技术有限公司 数据流处理方法及系统、控制器、交换设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6922395B1 (en) * 2000-07-25 2005-07-26 Bbnt Solutions Llc System and method for testing protocols for ad hoc networks
CN1414345A (zh) * 2001-10-23 2003-04-30 洛阳卓飞技术有限公司 无线抄表系统的自动路由方法
CN1848777A (zh) * 2006-01-19 2006-10-18 华为技术有限公司 一种协议仿真测试装置
CN103051557A (zh) * 2012-12-27 2013-04-17 华为技术有限公司 数据流处理方法及系统、控制器、交换设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
杨明军: "新一代互联网组播路由安全主动测试技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106537839A (zh) * 2013-09-13 2017-03-22 瑞典爱立信有限公司 用于具有多个实例的联机服务链的服务安置
CN106537839B (zh) * 2013-09-13 2020-01-10 瑞典爱立信有限公司 用于具有多个实例的联机服务链的服务安置
CN105187403A (zh) * 2015-08-13 2015-12-23 国家计算机网络与信息安全管理中心 软件定义网络的网络安全性测试方法
CN105187403B (zh) * 2015-08-13 2018-06-12 国家计算机网络与信息安全管理中心 软件定义网络的网络安全性测试方法

Also Published As

Publication number Publication date
CN103281318B (zh) 2016-06-08

Similar Documents

Publication Publication Date Title
Lindgren et al. Probabilistic routing protocol for intermittently connected networks
JP6858749B2 (ja) 負荷平衡システムにおいて接続を確立するデバイス及び方法
US11477106B2 (en) Data packet sending method and apparatus in IPV6 network
CN103795819B (zh) P2p应用中基于nat的终端间的数据传输方法
EP2399370B1 (en) Maximum transmission unit, MTU, size discovery method for data-link layers
EP3352431A1 (en) Network load balance processing system, method, and apparatus
CN104717259B (zh) 分布式中转服务器网络辅助的多路径数据传输系统与方法
CN104025550B (zh) 从数据项获得信息的方法及装置
CN103281317A (zh) 一种软件定义网络的攻击测试方法
CN112073545B (zh) 使用dns来传送服务器设备的mp-tcp能力
CN107370636B (zh) 链路状态确定方法和装置
CN101753637A (zh) 防止网络攻击的方法及网络地址转换设备
CN106101161A (zh) 一种用于处理伪造的tcp数据包的方法和系统
CN101848223B (zh) 基于网络处理器实现快速报文双向转发检测的方法和装置
CN104363181A (zh) 流量传输控制方法及装置
CN105812318A (zh) 用于在网络中防止攻击的方法、控制器和系统
CN112152880A (zh) 一种链路健康检测方法及装置
CN101873235A (zh) 设备网络联通的检测方法、网管系统及网络系统
CN103281318A (zh) 一种针对软件定义网络的攻击测试装置
CN104184565B (zh) 一种处理重传信息的方法及装置
CN107124482A (zh) 一种dns数据包转发方法、系统及路由器
JP2009201054A (ja) Ipマルチキャスト疎通監視方法及びシステム
CN104219168B (zh) 基于udp传输的控制报文处理方法及装置
CN103036984B (zh) 一种单向流量的检测方法及网络设备
CN108833282A (zh) 数据转发方法、系统、装置及sdn交换机

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160608

Termination date: 20170509