ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:175.20KB ,
资源ID:1786816      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1786816.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(链路伪造攻击教学文稿.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

链路伪造攻击教学文稿.docx

1、链路伪造攻击教学文稿将目前几种主流控制器与Mininet一起搭建测试组网,Mininet负责构造网络拓扑。针对SDN中存在的链路伪造安全问题,如下图,通过侵入主机h1向交换机s1发送伪造的LLDP数据包,构造出h3到h1的单向伪造链路。用wireshark抓取交换机各端口的LLDP包,可分析并伪造出想要的LLDP数据包以达到链路伪造的目的。控制器链路伪造攻击伪造LLDP包注入LLDP包重传Opendaylight可实现注:修改source MAC、Chassis ID、Port ID、System Name、Unknown Subtype Content(有两段要改,每个端口的是固定值)可实现

2、Floodlight可实现注:修改source MAC、 Chassis ID、Port ID、Unknown Subtype Content(有两段,只需改第一段,第二段同一个端口的每个LLDP包的值都不一样)可实现POX可实现注:修改source MAC、 Chassis ID、Port ID、System Description可实现伪造LLDP包注入:只需一个妥协的主机;LLDP包重传:需要伪造链路两端的交换机各连着一个妥协的主机。单向伪造链路和双向伪造链路(POX只认定双向链路为有效的链路) 链路发现服务基于两个约束条件:(1)链路发现过程中LLDP包的来源是诚信的;(2)LLDP包

3、的传播路径只包含OpenFlow交换机。 不同OpenFlow控制器发送的LLDP数据包的语法不同,如:POX和Floodlight用一个整数变量来代表交换机的端口号,而Opendaylight采用的是特定ASCII码值;一些控制器增加了额外的TLVs,如Floodlight增加了一个起源认证作为LLDP包额外的TLV,然而该认证在设置后始终保持不变。当前的控制器没有机制来确保LLDP包的完整性。一些OpenFlow控制器如Floodlight和Opendaylight提出了一个APIsupressLinkDiscovery来阻止LLDP包传播给连接主机的端口。Denial of Servic

4、e Attack采用POX控制器,用Mininet创建3个交换机相连的线性拓扑,使能routing模块(l2 learning.py), link discovery模块(discovery.py) 和spanning tree模块(spanning tree.py),得到如下结果: 通过h1向s1发送伪造数据包,构造s1和s3之间的伪造链路: 伪造链路攻击后发现spanning tree服务改变了交换机端口的状态: 拓扑更新时,生成树服务被触发来关闭冗余的交换机端口,攻击者可利用此来发动拒绝服务攻击。被攻击交换机原本可用的端口被误关闭,流可能不再从原来的链路走,而是从虚假链路走,导致连接到该

5、端口的用户无法再使用网络资源。Man-In-The-Middle Attack: 使用Floodlight控制器,用Mininet构建图1中的拓扑,其中h4为妥协的主机,它与两个目标交换机s1和s3相连。图1 实际拓扑用h1主机ping主机h3,此时h4的端口并不能监听到h1和h3之间的通信,说明h1与h3通信的数据流经过的路径不包括h4。 接下来进行伪造链路攻击。h4将s3转发的LLDP包重传给s1,控制器会误以为s1和s3之间存在一条链路直接相连(如图2),则s1与s3之间传输的消息都会被h4窃听到。图2 控制器视角下的拓扑再用h1主机ping主机h3,发现控制器选择的通信路径包括伪造链路

6、,显然ping不通,而h4此时能监听到h1和h3之间的通信。验证LLDP数据包采用HMAC,一种密钥散列消息认证码:其中是密钥;是HMAC计算出的信息,包含相关的LLDP TLVs,如Classic ID和Port ID;是加密哈希函数;|表示级联;表示异或运算;和是衰减值常量。定义HMAC需要一个加密用散列函数(表示为h(),如MD5算法)和一个密钥K。我们用B来表示数据块的字节数(例如MD5的散列函数的分割数据块字长B=64),用L来表示散列函数的输出数据字节数(MD5中L=16)。鉴别密钥的长度可以是小于等于数据块字长的任何正整数值,若使用的密钥长度比B大,则首先用散列函数h()作用于它

7、,然后用h()输出的L长度字符串作为在HMAC中实际使用的密钥。一般情况下,推荐的最小密钥K长度是L个字节。opad 用0x5c重复B次,ipad 用0x36重复B次。HMAC运算步骤:(1) 在密钥K后面添加0来创建一个字长为B的字符串(例如,如果K的字长是20字节,B=64字节,则K后会加入44个零字节)。(2) 将上一步生成的B字长的字符串与ipad做异或运算。(3) 将数据流text填充至第二步的结果字符串中。(4) 用h()作用于第三步生成的数据流。(5) 将第一步生成的B字长字符串与opad做异或运算。(6) 再将第四步的结果填充进第五步的结果中。(7) 用h()作用于第六步生成的数据流,输出最终结果。阻止重传攻击:注意基础HMAC对重传攻击无效。若攻击者掌握两个主机,主机1会把接收到的加密LLDP包以外带通道传给主机2,同样能构造这两个主机间的虚假链路。为阻止重传攻击,传统方法是使用独特的信息标识符以确保每个HMAC值是惟一的。本文选择了一种变换方法:将静态密钥换成动态值,它是为链路发现回合中LLDP包选择的随机值,这样攻击者几乎无法猜出的值。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1