研究文章|开放访问
使用FDAD防止安全邻居发现协议中的DAD攻击
抽象的
发送使用CGA作为其地址配置方法。CGA与多个辅助参数绑定IPv6地址,从而使IPv6地址与主机之间的依赖关系可提供,这可以防止地址陷阱。由于CGA参数验证中相当大的开销,恶意主机可以使用此点来执行DOS攻击。为防止DOS,本文提出了一种名为FDAD的SDN环境中的新重复地址检测方法。将两种额外的机制添加到FDAD中,即查询和反馈;还设计了新机制使用的消息。通过这两个机制,一方面,主机可以将可疑主机的MAC地址查询到控制器。另一方面,如果CGA参数验证失败,则控制器将使用反馈信息从其源端口抑制恶意主机以防止后续攻击。实验表明,在遭受拒绝服务攻击时,FDAD的CPU开销远低于正常CGA。增加的CPU消耗和控制器的存储器开销也在可接受的范围内,并且网络通信开销大大减少。
1.介绍
人们使用模块化方法来处理复杂问题。在复杂的网络通信中,人们利用分层方法来简化其设计和实现。无论TCP / IP结构还是OSI结构,两者都表达了模块化[1].为了简化设计,每个层采用不同的独立通信地址,例如,互联网层(第3层)使用IP地址作为分组的通信地址,而数据链路层(第2层)利用媒体访问控制(MAC)作为其通信地址转发框架的地址。
等级网络应该解决两个问题:一个是网络实体如何获得其通信地址并确保其唯一性,另一个是如何确定图层之间的通信地址的对应关系N+封装和转发数据时的第1层和第N层。例如,当第3层使用IP地址封装数据并将其转发到数据链路层时,数据链路层需要确定应该使用哪个MAC地址来完成当前层的封装。
目前,有两个主要协议来解决上述问题:地址解析协议(ARP)和邻居发现协议(NDP)[1那2].ARP用于解决IPv4中IP和MAC地址之间的相应关系。IPv6使用NDP进行同样的事情[3.].NDP协议对ARP具有功能扩展,包括一些新功能,例如重复地址检测(爸爸),邻居无法访问检测(NUD),以及无状态地址自动配置(SLAAC)[4.].然而,ARP中的许多弱点尚未得到适当的解决,并持续在NDP中,例如父亲的拒绝服务(DOS)。
如图所示1,当主机A在局域网中被访问时,它必须获得一个网络地址用于以后的通信,并且在使用一个新地址以确保其唯一性之前,需要完成DAD。因此,恶意主机C可以利用它进行攻击,基本方法有两种:(一)发送回复主机A,宣布该地址已被占用(ii)执行父亲,并且目标地址与想要使用的主机相同
这两种攻击都可能导致主机A相信IPX被占用,并且应该选择其他地址并重复爸爸。如果恶意主机的攻击仍然存在,那么受害者主持人A将没有地址使用。
虽然IPv6建议使用Internet协议安全(IPSec)来完全保护IPv6消息,但是当使用IPSec来保护NDP消息时,鸡蛋和蛋问题是麻烦的[5.].在安全通信之前,IPSec应建立点对点安全关联(SA)。但是,邻居发现过程应在SA设置之前完成。因此,IPSec不能用于保护NDP [6.].在这方面,IETF提出了安全邻居发现(发送)作为NDP的增强。发送使用四个选项,即加密生成的地址(CGA),时间戳,签名和随机性,以防止IPv6地址贪污[7.].即便如此,DOS攻击仍然困扰发送[8.].
为了提高DAD的安全性,我们提出了一种新的方法,称为反馈重复地址检测(FDAD)。FDAD的查询和反馈机制能够在DAD进程中记录邻居请求(NS)和邻居广告(NA)的信息,从而使DAD进程有状态。节点可以使用其计算能力使用伪造的CGA参数识别NA,然后将结果反馈给FDAD服务器。这将使控制器能够从入口阻止恶意NA,从而防止DoS攻击。部分2介绍了爸爸和相关研究的DOS原则。部分3.介绍了反馈机制的原理,并通过一个实例说明了FDAD的工作流程。部分4.实验和结果分析;部分5.对文章进行了总结。
2.相关工程
为了防止地址欺骗,互联网工程工作组(IETF)提出的发送。为了增强NDP,发送使用CGA [9.那10.[数字签名和时间戳保护NDP消息并防止IP地址档案。CGA是一个唯一的发送地址格式,它的生成方法有两个步骤:首先,通过在公钥,零位,修改器和扩展字段上通过多次散列操作找到适当的修改器;其次是在导致Hash1的修饰符,碰撞计数,公钥和扩展字段上创建哈希操作;然后,160位HASH1的左64位与安全级别(SEC)和其他参数组合以形成最终CGA地址。CGA计算过程如图所示2。
虽然发送使用复杂的安全技术,但一些问题仍然存在。首先,CGA计算和验证过程需要大量的CPU资源。其次,其他选项扩展了NDP消息并提高通信开销。第三,CGA生成时间与SEC位相关,其中SEC值越大,时间越长。此外,当生成新地址时,仍然需要爸爸。
鉴于上述问题,Alsa'deh等人[11.]通过确定资源的上限来获得CGA过程的CGA过程的停止时间算法,它限制了CGA上的时间消耗,以及适当的SEC值,以确保在指定时间内生成CGA地址。Rafiee等人。[12.通过使用多核处理器来缩短CGA计算时间的并行计算算法。Chenau等。[13.]建议使用椭圆曲线加密(ECC)键和ECDSA来替换RSA密钥和相应的签名算法,以降低CGA计算时间,但可以实现相同的安全性。由于ECC的键更短,因此生成的NDP消息较小。Qadir和Umar Siddiqi [14.]对移动环境中CGA的部署进行性能评估,并表明,除了SEC字段不应大于0时,公钥的选择也至关重要。
Su等人。[15.]在LAN中添加了一个高性能服务器进行关键计算,建议使用动态主机配置协议(DHCP)服务器来管理CGA。改进了DHCP协议,以便可以在网络中广播CGA参数。当主机需要计算CGA时,计算过程被移交给DHCP服务器以完成。当然,这使得DHCP服务器单点失败。CS-CGA建议使用ECC而不是RSA加速计算,并且子网前缀也加密以对抗时空余额算法[16.];然而,这无疑对路由和转发产生了负面影响。Reshmi和Murugan [17.[使用系统状态的熵生成接口标识符(IID),它克服了CGA的集中计算,减少了地址计算时间,并防止了隐私泄漏。
由于技术和成本原因,大多数操作系统和通信设备供应商只能实现发送的部分功能。因此,发送协议仍然具有从实际部署中完成的丰富工作[18.那19.].CGA验证过程在图中描述3.如下:(1)如果碰撞计数不等于0,1或2,则CGA验证失败;否则,请继续步骤2。(2)检查CGA参数中的子网前缀是否等于地址的子网前缀;如果它不平等,则CGA验证失败;否则转到第3步。(3)计算hash1;比较hash1和IID(忽略左1、2、3、6和7位)。如果不相等,则CGA验证失败;否则,执行步骤4;(4)计算Hash2,与秒结合;如果Hash2中的左16×SEC位为零,则验证通过;否则,CGA验证失败。
从理论上讲,CGA可以有效防止地址欺骗。哈希函数手段单向的特征是,对于一个给定y,找到一个X满足方程哈希(x) =y在计算上是不可行的[20.].因此,恶意主机无法通过伪造参数挪用其他主机的地址;同时,数字签名进一步提高了欺骗性。但是,主机应完成CGA参数是否正确验证。因此,恶意主机可以通过假CGA参数发送众多NA以消耗受害者的计算资源,形成DOS [21.].因此,如何防止DoS攻击和减少主机CPU开销仍然是SEND面临的主要挑战。
3. FDAD.
在传统的以太网中,由于HOSTS与单个主持人的知识等当量,解决父亲在DAD过程中的拒绝服务(DOS)攻击是困难的[22.].然而,软件定义网络(SDN)的出现和发展已经向现代网络注入了新的生命力。其转发和控制分离和可编程性的特点为解决网络问题提供了新的思路[23.-26.],例如SDN环境中的NDP消息身份验证方案[27.].在发送中,网络设备无法使用假CGA参数来区分由恶意主机构建的NA,但主机能够通过哈希计算区分它们;因此,我们将FDAD提出为解决方案。在FDAD中,计算密集型任务由各种主机执行,并且控制平面可防止来自数据平面的DOS攻击。FDAD的特征包括以下方面:(一)FDAD设计了SDN环境中的重复地址检测的反馈机制,它包含两个部分:FDAD-S(FDAD-Server)和FDAD-C(FDAD-Client)。(ii)FDAD-C可以利用主机的计算能力来识别恶意消息,然后反馈给FDAD-s。(iii)FDAD-S可以基于反馈信息抑制来自源的恶意攻击,从而避免无意义的CGA验证消耗主机的CPU资源。
FDAD的体系结构如图所示4.. 它主要包括四个模块:监控、状态、反馈和抑制。各模块的功能如下:监视模块:它包括两个功能。一方面,它负责初始化交换机以监控NDP消息;另一方面,它将收到的消息进行分类,将NDP消息转发到反馈模块,并将OpenFlow统计消息转发给状态模块。状态模块:它负责开关流量表的统计查询和转发查询结果满足特定条件来进行处理反馈模块。反馈模块:它负责维护和记录NDP中DAD进程的行为,启动MAC地址统计信息,并发送NDP消息抑制规则。要实现上述功能,它包括四个表: 那 那 那和 。抑制模块:它会根据反馈模块生成的抑制规则生成流表并将它们发送到相应的交换机。
FDAD-C主要负责CGA验证,MAC查询和客户端发送过程中的反馈。
在以下描述中,我们假设所有DAD消息都包括CGA,签名,随机数和时间戳选项,并且网络由启用OpenFlow的交换机组成。要实现FDAD,我们设计了三条新消息:FDAD-Request,Fdad-Report和FDad-Feedback。它们的格式与NDP消息的格式基本相同,而差异如下:(1)与NS和NA不同,他们的ICMPv6“类型”字段为200(2)使用了三个新的选择,详细的格式显示在图5.,选项中的每个字段的描述显示在表中1
|
|||||||||||||||||||||||||||||||||
3.1。FDAD-S.
FDAD-S是运行在SDN控制器上的应用程序。在FDAD- s中,我们增加了一个反馈模块来控制FDAD工作流。反馈模块包含四个表: 那 那 那和 ;它们的格式与表中的格式相同2-5., 分别。这表用于记录爸爸中的ns和表用于记录与NS相对应的NA。这个表用来注意先前发送了NS的主机发起的查询,它受到限制和 。这专用表以记录之前进行爸爸的主机的反馈,并受到限制 。
|
||||||||||||||||||||||||||||||
|
||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
FDAD-S通过交换机中的预设流表在DAD过程中监视NS和NA消息。不同消息的处理如下:(1)NS: if the entry, which meets the condition Entry’.NS.Tgt = = NS.Tgt, does not exist in the 那然后添加了一个新条目NS(字段。Dpid和NS。Port从Packet_In报文的Dpid和In_Port字段中提取。ns.mac.那NS。Tgt那ns.ts.那NS, and Nonce are extracted from the corresponding NA fields carried by the Packet_In message. These methods are also used in ).否则,丢弃NS。(2)NA:如果满足条件1-3,然后一个新的条目添加到 ;否则,丢弃NA。
|
条件1。接收NA不与所有条目复制 。
条件2。有一个条目满足条目的.ns.tgt = = na.tgt。
条件3。Nonce和Timestamp条目的字段与Na的相应字段有关(Na.nonce = = entry'.ns.nonce和Na.timestamp-entry'.ns.timestamp≤3)。(3)fdad-request:如果有一个条目和一个条目“满足条件4.-7.,然后添加新条目 那这意味着查询是合法的。新条目的各个字段从条目“和条目”中提取。然后,然后执行MAC查询。查询算法以算法显示1。(一)如果查询成功,则新条目的标志设置为T.;否则,该标志应设置为F。如果不满足条件,则丢弃该消息。
条件4。Entry’.NS.Dpid = = Packet_In.Dpid.
条件5。entry'.ns.port = = packet_in.inport。
条件6。entry'.ns.mac = = fdad-request.srcmac。
条件7。Entry ' . na . mac = = FDAD-Request.Option.MAC。(4)fdad-Feedback:如果有一个条目如果满足条件8–13,则会在中添加一个新条目 那和新条目的各种字段从条目中提取。相关条目 那 那和应该被删除;否则丢弃FDAD反馈。删除程序:如果反馈是成功的,这意味着一个NA是恶意的;那么,首先它删除相关的NA的条目 那然后删除与NA相关的条目 那最后删除了与NA相关的条目 。
条件8。entry'.ns.dpid = = packetin.dpid。
条件9。条目'.NS.Port = = Packetin.InPort。
条件10。entry'.na.dpid = = fdad.feedback.option.datapath_id。
条件11。entry'.na.dpid = = fdad.feedback.option.port_no。
条件12。entry'.na.mac = = fdad.feedback.option.mac。
条件13。旗帜是T.。
3.2。FDAD-C
从以太网的视图,所述拒绝服务可分为两大类,如使用实部和伪造的MAC地址。对于第一类,黑名单将是一个不错的选择。这意味着受害主机可以在一个黑名单,以防止DoS攻击编写恶意主机的MAC地址。对于第二类,只有黑名单是不够的,因为恶意主机可以随机改变与它的MAC地址的字段的值。
当MAC帧在以太网中转发时,相同的MAC地址将在多个交换机上形成转发路径。如果主机使用新的MAC地址进行通信,则将在交换机上形成新的转发路径。对应于SDN网络,如果主机采用新的MAC地址,无论开关都是无线电还是主动,那么它将生成与新MAC地址相关的流表。因此,我们可以通过分析与MAC地址相关的流表的生成时间来确定MAC地址的真实性。FDAD-C中主机的DAD过程如图所示6.,描述如下:(1)主机生成新的CGA地址后,假设它是CGAX,主持人应播出NS进行DAD,并记录开始时间为T.1。(2)内的指定时间(通常为3秒),如果主机接收到NA响应NS,那么它将记录接收时间为T.2并检查选项字段中的MAC地址是否与NA的头部以及它是否在黑名单中一致。如果满足任何这些条件,则NA将被丢弃,然后返回步骤2.如果不满足所有条件,则转到步骤3。(3)发送FDAD-Request消息来查询交换机标识,端口号,和NA的MAC地址生成的时间。(4)接收fdad-reply消息:如果没有符合其MAC地址的记录,则应丢弃NA;否则,转到第5步。(5)确定是否添加了MACT.2-T.1.如果是,则转至步骤6;否则,转至步骤7。(6)添加交换机的dpid和port_no。到黑名单,将其标志设置为F,然后执行CGA验证。(7)如果验证失败,则主机执行CGA验证,然后执行步骤8;否则,执行步骤9。(8)使用NA.SRCMAC作为黑名单中的密钥搜索,如果没有条目“满足条件条目的MAC = = NA.SRCMAC,则NA的SRCMAC,DPID和PORT_NO。应该添加到黑名单,并将标志设置为t.如果存在,则其标志应更新为T.,并将FDAD-Feedback消息发送给FDAD-S以报告NA的源MAC,切换DPID和PORT_NO,然后返回步骤2。(9)爸爸失败了,CGAX处于冲突中。如果黑名单有一个与NA.SRCMAC字段对应的条目,则将其删除。
黑名单包含5个字段:交换机Dpid、端口id、端口id。、MAC、Idle_time和Flag。Idle_time字段用来记录表项的空闲时间,字段值加1 / s;如果该表项在3分钟内未被匹配,则该表项将从黑名单中删除。每次匹配条目时,Idle_time字段都会被清除。
3.3。FDAD实例
假设网络由一个SDN控制器,两个OpenFlow交换机和三个主机组成。网络已经运行超过3分钟。拓扑显示在图中7.并且每个主机的配置都在表中呈现6.。
|
|||||||||||||||||||||||||||||||||||
首先,控制器应当派遣流表toOpen vSwitch1(OVS1)和OVS2中以便在网络中以监测DAD消息。在相关的显示器的流表项示于表7.。
|
||||||||||||||||||
假设主机A生成新的链接本地地址CGAX使用CGA作为地址配置方法(用于说明目的,假设CGA的最后32位X是“CC00-AABB”),然后托管一个广播NS的爸爸,并且NS的细节如图所示8.。
当OVS1接收到该NS时,它将封装消息并向FDAD-S发送Packet_in。在FDAD-S获取Packet_in中包含的NS之后,它将检查并添加新条目 。其结果示于表4.。
主机B收到NS后,发现CGAX主机B与自己的IPv6地址没有冲突,因此丢弃该NS。主机C收到NS后,认为C是恶意的,伪造NA攻击主机A, NA详细信息如图所示9.。根据流表,OVS2生成Packet_in消息,并在收到NA后将其转发给FDAD-S。在FDAD-S检查NA之后,发现满足1-3的条件,然后更新 。其结果示于表3.。
收到NA后,主机A不会立即验证参数但检查MAC和黑名单的一致性;如果检查已通过,则将发送FDAD-Request消息。消息的细节如图所示10.。OVS1接收到消息后,它使用Packet_in将消息转发给FDAD-S。
FDAD-S检查和 那它发现两个与FDAD-Request对应的条目,并满足条件4-7,因此,它更新表(请参阅表中的更新结果4.).然后,FDAD-S向OVS2查询MAC的生成时间C。一旦查询成功,条目的标志字段被设定为T.(见表8.).然后,控制器向OVS1发送FDAD-REPLY消息,并指示OVS1使用端口1转发消息,并且FDAD-REPLY的细节显示在图中11.。
|
|||||||||||||||||||||||||||||||||||
一旦主机A收到FDAD应答,它就会发现MACC存在了很长时间,新地址没有及时出现T.2-T.因此,主机A验证NA中包含的CGA参数。因为参数由主机C制造,结果失败,因此它发送了将被转发到FDAD-S的FDAD反馈消息,并且FDAd-反馈的细节如图所示12.。
FDAD-S收到FDAD-Feedback后,发现符合条件8-13,因此更新(见表5.).然后它提供流表来抑制通过OVS2端口3访问的NA,并删除与NA相关的条目 那 那和 。
4.实验和分析
4.1。实验
为了验证FDAD,我们在Mininet中实现它。OpenFlow开关是Open VSwitch,控制器是Ryu。操作系统是Ubuntu Mate(虚拟机:CPU 2 GHz×2,存储器2 GB)。每个软件的特定版本如表所示9.。网络有三个主机,即,A,B和C.主机A和C模拟正常和恶意主机,B用于监控。
|
||||||||||||||||||||
假设C具有以下计算和通信功能。(一)计算能力:(1)计算能力是有限的。对于任何散列值y, C找不到原始图像X满足方程式哈希(X)= y在有限的时间内(3秒)。(2)C可以根据NS构建具有假CGA参数的NA,但不能使伪造的NA通过另一边的CGA验证。(ii)通信能力:(1)C可以接收广播和单播。(2)C可以通过改变协议栈来发送任何NDP消息,例如发送带有虚假MAC地址和CGA参数的NA,以及发送大量的NA来消耗目标的资源和执行DoS。(3)C不能嗅探点对点通信,例如开关将单播帧从端口1转发到端口2。(4)C了解FDAD机制,并能够向控制器发送虚假的FDAD- request和FDAD- feedback或虚假的FDAD- reply。
场景1。在NDP和SEND中测试DAD的开销,以及在受攻击的SEND中测试DAD的开销
情景1模拟了连续地产生新的IPv6地址,并执行DAD主机。它记录CPU的消耗,并执行以下三个实验。
实验1。甲行为地址配置和DAD使用NDP方法;B和C显示器。
实验2。A执行频道配置和父亲利用发送方法;B和C显示器。
实验3。使用发送方法进行地址配置和爸爸;c使用随机MAC地址和假CGA参数发送错误的NA,以攻击(我们将这种攻击定义为DOS1)。实验结果如图所示13.. 该图显示NDP的CPU开销最低。SEND使用的CGA将导致CPU开销略微增加约4.15%。当SEND接收到假NA时,其CPU消耗与正常状态相比没有明显增加,约增加0.369%。
场景2。在遭受DoS时测试SEND和FDAD的CPU开销
情景2模拟CGA地址配置和爸爸期间遭受DOS攻击的主机,攻击者使用随机MAC地址和伪造CGA参数,并记录其CPU开销;它还进行以下四个实验。
实验4。主机A执行CGA地址配置和爸爸。对于主机C收到的每个NS,它发送十次NA,其中包含响应的假参数(DOS10)。
实验5。主持CGA地址配置和爸爸。C发送NA 100次,其中包含它收到的每个NS的错误参数(DOS100)。
实验6。主机A进行CGA地址配置和DAD;C发送NA 200次,其中包含它接收到的每个NS的错误参数(DoS200)。
实验7。主机使用FDAD进行地址配置和爸爸;C发送NA 200次,其中包含它收到的每个NS的假参数(DOS200)。
实验结果如图所示14.。我们可以看到,当宿主在CGA达达进程中受到DOS攻击时,其CPU消耗随着攻击频率的增加而增加。当攻击频率达到200时,主机的CPU已耗尽。相比之下,该图还表明FDAD的CPU效用远低得多,稳定,对高频攻击不敏感。
数字15.显示了控制器的CPU和存储器在实验之间的比较6和7之间的比较。如图所示,FDAD中的控制器的CPU开销是稳定的,但发送的波动,平均增加约1.59%。在FDAD中,内存开销平均值增加约0.402%,因为控制器需要维护四个额外的状态表。
在通信开销方面,在实验开始时,FDAD-S需要查询MAC信息的开关,并经常与交换机通信;这些导致FDAD通信开销略高于正常环境。但是,当FDAD的抑制机制工作时,它有效地抑制了恶意主机C发送的DOS攻击数据包。结果,网络流量显着减少,远低于正常环境,如图所示16.。
数字17.显示在实验6和7中的开关带宽和RTT的开销比较。在患有DOS时,FDAD的带宽相对稳定。即使存在一些波动,幅度也很小。在相同的攻击强度下,发送的带宽随着时间的推移逐渐增加,最后达到峰值。由于DOS引起的网络数据包增加,发送的RTT也显着高于FDAD的rTT。
(一种)
(b)
(一种)
(b)
4.2。安全分析
4.2.1。攻击模式分析
(1)恶意主机使用真实的MAC地址进行攻击。攻击方式:当攻击主机收到普通主机发送的DAD NS时,发送一个包含真实MAC的假NA作为响应,声明冲突。在FDAD中,主机收到声明地址冲突的NA后,不会立即执行参数验证。相反,它将向控制器查询NA源MAC的生成时间。如果交换机上的MAC存在时间超过1 其次,主机将进一步验证CGA参数。假设NA是伪造的,参数验证步骤将失败,主机将把恶意主机的信息写入黑名单并反馈给FDAD-s。结果是恶意主机的后续NA将被流表阻止,无法进入网络。即使随后伪造的NA到达正常主机,也会被屏蔽在主机黑名单之外。(2)恶意主机使用假冒的Mac进行拒绝服务攻击。攻击模式:当攻击主机接收到正常主机发送的爸爸NS时,它会发送一个假NA,其中包含随机Mac以响应声明冲突。由于随机MAC地址是新生成的,所以在交换机上停留时间小于1秒。在FDAD中,如果主机收到包含新生成MAC的NA,则立即将其写入黑名单,然后验证丢弃,并向FDAD- s反馈。这样,恶意主机的后续NA将被抑制,不能造成有效的攻击。(3)主机使用FDAD请求消息消耗控制器资源。攻击模式:恶意主机使用FDAD机制发送大量FDAD-Request消息来消耗控制器资源。在FDAD中,控制器不允许在查询其他主机的MAC信息之前未执行父亲的主机。对于已启动DAD的主机,不允许MAC查询,并且仅存在响应NS的主机。查询仅限于特定条目 。查询条目时,将被标记为标记,即重复查询。(4)主机使用FDAD-FEEDBACK消息来攻击其他主机。攻击模式:恶意主机使用FDAD机制来发送大量FDAD-REFEWBACK消息来抑制正常主机的通信。仅在满足8-13时才允许反馈,因为受限于 那 那和问: 那即使反馈成功,这三个表中的相关条目也将被清除,所有这些都意味着,对于特定的NA,主机在DAD过程中只能反馈一次。(5)C向其他主机发送伪造的FDAD应答。攻击模式:在爸爸的过程中,如果C收到NS,它会向响应发送伪造的NA和FDAD - 包含伪造的DPID和端口信息。交换机不会转发正常主机生成的FDAD-reply。因此,FDAD - 回复不会到达主机A,而是直接到达控制器并被丢弃。此外,假NA不能通过CGA验证,并由主机A反馈给控制器。因此,这种攻击无效。随后的攻击消息被抑制;它无法进入网络。
4.2.2。存储和通信开销分析
(1)开关存储开销. 在以太网中,交换机能够学习MAC地址。当帧到达时,交换机学习源MAC地址并访问帧的端口。然后在高速缓存中生成转发条目;它的格式是 < mac、输入端口、ttl、类型>。然后,在单播或广播中转发帧。在SDN中,启用OpenFlow的交换机的帧转发模式类似于以太网交换机的帧转发模式。因此,在SDN中,当主机使用随机MAC地址进行DoS时,交换机中会产生大量垃圾流,占用大量存储空间。
在FDAD中,如果恶意节点响应随机MAC地址的NS,因为新生成了转发条目,则交换机上的存在时间小于1秒。因此,节点直接写入主机的黑名单。在CGA验证之后,主机丢弃它并返回到控制器。因此,在控制器的入口端口抑制了恶意主机的后续NA。即使恶意主机发送随机MAC地址的众多帧,它也不会形成DOS攻击并在交换机上生成其他流。
(2)通信开销。在某些情况下,这三个选项无疑增加了NDP数据包的大小以及爸爸的通信开销。原始NDP消息的大小为78字节,并且FDAD-Request,FDAd-Reply和FDad-Fextback的大小分别为90,102和110字节。具有CGA选项的NDP大小为238字节。因此,FDAD采用的新信息大于原始NDP,比率增加了15.4%,30.8%和41%,但仍然少于发送的信息。增加的开销主要用于减少由DOS引起的额外消耗。在几种典型方案中分析了通信开销。(1)正常爸爸进程(没有地址冲突):正常的FDAD过程如图所示18.。主机A生成地址CGAX然后广播NS_CGAX。没有主机答案,因为不存在地址冲突。超时后,爸爸进程已完成,CGAX可用。在这种情况下,发送和FDAD的通信开销是相同的,即两者都有一个NS广播。具体数字由数量确定N,这是指LAN中的主机: (2)地址冲突发送:(一)当B的地址也是CGAX,存在地址冲突。爸爸工艺如图所示19.(一种)。发送ns_cga.X在广播中,B回复NA_CGAX检测地址冲突,再经过重新生成一个新的地址CGAy并广播ns_cga.y再次没有冲突。整个流程的通信开销如下: (3)DoS攻击在SEND:发送中的DOS进程如图所示19.(b)。在爸爸中,C在收到NS_CGA后,发送M NA以回复并消耗A的资源X由A发送。通信开销如下: (4)在FDAD地址冲突的通信过程在图中所示20.(一种)。在爸爸中,A将FDAD-Request消息发送给控制器,并在收到NA_CGA后接收FDAD-replyX由B发送。然后,验证CGA参数为NA。找到地址冲突后,主机需求生成新地址CGAy然后广播NS_CGAy。此时,不存在地址冲突,父亲进程已完成。通信开销如下: (5)DOS攻击在FDAD:的通信过程在图中所示20.(b)。主机A接收伪造的NA_CGAXns_cgax广播后由c发送。然后,主机A向控制器发送FDAD-Request并接收FDAD-Reply消息。主机A将FDAD-反馈发送到控制器,因为伪造的NA无法通过CGA验证,然后FDAD-S执行连接到C的端口上的NDP消息抑制。因此,随后的NA_CGAX无法再进入网络。通信开销如下:
以下是对上述情况的定量分析。(1)正常爸爸进程(没有地址冲突): (2)地址冲突: 两者之间的差异是 (3)在DOS攻击下:
适合兰N节点,CGA地址的总长度为64位。如果sec位(3位),你位,和删除位,剩余的59位是随机值。如果每个节点生成K.特定网络前缀的IPv6地址,然后是地址冲突的概率详情如下:
一般LAN的大小不到29.防止广播风暴。为相同的网络前缀,地址由每个节点不超过2生成的IPv6的数量5.(通常只生成一个地址)。当N设置为29.和K.到2.5.那
真实地址冲突的概率非常小。因此,FDAD和发送的通信开销几乎相同。
假设H局域网中存在攻击节点,每个节点在DAD过程中发送m个NA,开销比较如下:
只要 那表达式 满意。因此,FDAD的通信开销远低于DOS攻击时的发送。
4.3. FDAD的优势和局限性
FDAD是主机的计算能力和SDN控制能力的组合。虽然网络协议可以在主机和网络设备中实现,但是在传统网络中,它们都检测到自己的角度来看攻击并采用不同的方法。例如,分布式主机具有强大的计算能力,但它们无法阻止DOS攻击中的攻击数据包的生成和访问。网络设备能够防止数据包进入网络但缺乏计算能力验证攻击。FDAD有效地结合了这两种能力,其优点如下:(1)它可以保护主机的DAD过程的安全性主机顺利产生IPv6地址(2)它可以从源头上抑制DoS攻击,减少SDN中无用流的产生(3)患有DOS攻击时,可以大大减少LAN包的数量
FDAD也有一些局限性:(1)它为网络添加了三条新的NDP消息,新消息大于原始NDP消息。因此,在某些情况下,通信开销增加。(2)它不适合传统以太网,因为其机制需要对控制层的支持。否则,fdad查询,fdad-reply和fdad-反馈消息无法播放其角色。(3)FDAD机制增加了控制器的内存和CPU成本,但是当在网络中发生DOS攻击时,这种成本大大降低。
5.结论
DOS攻击很难消除,主要是因为攻击主机被隐藏。在DAD过程中,对于NA中的CGA参数,主机无法在验证完成之前识别其真实性。但是,即使主机通过验证识别错误NA,它也无法防止来自同一主机的后续攻击,因为恶意主机可以使用其他错误源地址发送消息。在FDAD中,主机可以使用FDAD-Request来检索特定MAC的生成时间并提前评估NA的真实性。对于假NA,主机可以使用FDAD-FEEDBACK消息来将攻击主机的功能发送到控制部分。通过调度流表,控制器可以通过调度流动表来抑制来自源的攻击消息,打破攻击主机的隐藏。实验表明FDAD大大减少了痛苦的主机的CPU和通信开销。当然,反馈机制导致控制器的CPU和内存消耗略微增加S.某些方案,但其安全性不能通过传统方法匹配。
数据可用性
所有数据都包含在原稿中。
利益冲突
作者声明他们没有利益冲突。
参考
- A. Tanenbaum和D. Wetherall,计算机网络:Pearson新国际版皮尔森AG,瑞士,瑞士楚格州,2013。
- D. Plummer,“以太网地址解析协议:或将网络协议地址转换为48.以太网硬件上传输的位以太网地址,”1982。视图:谷歌学者
- S.柴郡,“IPv4地址冲突检测RFC 5227,” 2008年。视图:谷歌学者
- T. Narten,“IP版本6 (IPv6) RFC 4861的邻居发现”,2007。视图:谷歌学者
- J.Arkko和P. Nikander,“IPSec政策机制的限制”安全议定书国际研讨会的诉讼程序,施普林格,英国剑桥,2003年4月。视图:谷歌学者
- S. UL。Rehman和S. Manickam,“IPv6重复地址检测过程中的拒绝服务攻击,”国际杂志高级计算机科学与应用,卷。7,第232-238,2016。视图:出版商网站|谷歌学者
- J. Arkko, J. Kempf, B. Zill, and P. Nordmark,“安全邻居发现(SEND) RFC 3971,”2005。视图:谷歌学者
- A. Alsa'deh和C. Meinel,“安全邻居发现:审查,挑战,观点和建议”,IEEE安全与隐私杂志,卷。10,不。4,pp。26-34,2012。视图:出版商网站|谷歌学者
- T. Aura,“加密生成的地址(CGA),”第6届国际会议信息安全诉讼程序,ISC 2003,英国布里斯托尔,2003年10月。视图:谷歌学者
- M. Bagnulo,“基于散列的地址(HBA)IETF RFC 5535”。视图:谷歌学者
- A. Alsa'deh,H. Rafiee和C. Meinel,“停止实际IPv6加密生成地址的时间条件”2012年信息网络国际会议(iCoin)的诉讼程序, IEEE,泰国曼谷,2012年2月。视图:谷歌学者
- H. Rafiee,A.Alsa'deh和C. Meinel,“基于多芯的自动扩展安全邻居发现,适用于Windows操作系统”2012年信息网络国际会议(iCoin)的诉讼程序, IEEE,泰国曼谷,2012年2月。视图:谷歌学者
- T. Chenau,A. Boudguiga和M. Laurent,“由于ECC和GPGPU,”加密生成的地址的性能显着提高了,“电脑与安全,卷。29,不。4,pp.419-431,2010。视图:出版商网站|谷歌学者
- S. Qadir和M.Muar Siddiqi,“加密生成的地址(CGA):调查和对移动环境中使用的性能分析,”IJCSNS国际计算机科学与网络安全杂志,卷。11,不。2,第24-31,2011。视图:谷歌学者
- G. Su,W. Wang,X.Gong,X. Que,S.江和X. Gao,“一种快速的CGA发电方法,”未来计算机与通信在2010第二届国际学术会议论文集(ICFCC),第1卷,IEEE,武汉,2010年5月。视图:出版商网站|谷歌学者
- A. F. C. Alsa'deh和C. Meinel,“CS-CGA:紧凑且更安全CGA”2011年第17届IEEE国际网络会议记录(ICON),Ieee,新加坡,2011年12月。视图:谷歌学者
- T. R. Reshmi和K. Murugan,“使用系统状态熵聚集的基于IPv6的舰队的系统状态熵聚会”轻量加权加密地址生成(LW-CGA)“中国传播,卷。14,不。9,pp。114-126,2017。视图:出版商网站|谷歌学者
- S.霍格和E. Vyncke,IPv6安全,Pearson教育,伦敦,英国,2008年。
- H. C. Liu和Q. G.黛“安全邻居发现协议的设计,”在2013年国际通信系统和网络技术会议的会议记录(CSNT),IEEE,瓜利尔,印度,2013年。视图:谷歌学者
- D. R.斯廷森,密码学:理论与实践,CRC印刷机,博卡拉顿,FL,美国,2005。
- YE盖洛戈河。DCaytiles和B。Park,“IPv6 NDP安全增强型安全邻居发现协议(SEND)的威胁和安全分析,”国际控制与自动化杂志,卷。4,2011年。视图:谷歌学者
- S.广角和J. Zhenzhou,“研究地址分辨率与重复地址检测之间的等价研究,”第五届国际会议仪表仪器和测量IEEE论文集,阿纳海姆,CA,USA,2016年9月。视图:谷歌学者
- A. S. Ahmed,R. Hassan和N. E. Othman,IPv6邻居发现协议规范,威胁和对策:调查,“IEEE访问,卷。5,pp。18187-18210,2017。视图:出版商网站|谷歌学者
- C.艾略特,“网络创新格尼 - 全球环境,”在IEEE关于本地计算机网络的IEEE会议的程序,2008. LCN 2008,p。8,IEEE,蒙特利尔,加拿大,2008年10月。视图:谷歌学者
- N. McKeown,T. Anderson,H. Balakrishnan等,“OpenFlow”,ACM SIGCOMM计算机通信评论第38卷第2期2,第69-74页,2008。视图:出版商网站|谷歌学者
- M. Paliwal,D. Shrimankar和O. Tembhurne,“SDN的控制器:审查报告”IEEE访问,卷。6,pp。36256-36270,2018。视图:出版商网站|谷歌学者
- 王敏,“基于sdn的IPv6邻居发现协议安全认证机制,”安全和通信网络文章编号5838657,9页,2017。视图:出版商网站|谷歌学者
版权
版权所有©2020 Guangjia Song等人。这是分布下的开放式访问文章创意公共归因许可证如果正确引用了原始工作,则允许在任何媒体中的不受限制使用,分发和再现。