crossPath attack:通过共享链路攻击控制平面读书笔记

    科技2022-07-14  113

    文章目录

    abstractintroductionthreat modelthe crossPath attackadversarial path reconnaissancestage 1stage 2 improved reconnaissanceDefense Against the CrossPath Attack

    abstract

    利用控制流量和数据流量共享的链路,利用精心设计的数据流里破坏控制流量的转发。 本文值得学习:各种图表的使用,实验环节,数据建模环节。

    introduction

    链路共享的这种思想是很常见的,因为他可以降低成本。攻击者首先要找到目标共享链路,但是这对于终端用户是很难的。传统网络一些探测工具也是无效的。本文展示了对抗路径侦查发现共享路径。

    根据思想:如果出现短期突发流量,控制平面的消息会延迟,本文展示了一种探测方法找到目标链路。

    为了证明我们的攻击是有效的,实验了四个典型的sdn应用。

    文章的主要贡献: 展示了一种攻击方法; 发展一种探测技术寻找包含共享链路的目标链路。

    threat model

    流表被动下发,in-band 控制通道。攻击者至少已经控制了一台主机。

    the crossPath attack

    攻击者通过生成共享链路的数据流量干扰控制流量的传输。首先攻击者需要首先探测目标链路:也就是和控制流量共享的链路。 如上图,h1 h3通信链路为h1->s2->s3->s4->h3 s2和控制器通信链路为s1->s3->s5->c 所以链路s2 s3为共享链路。

    adversarial path reconnaissance

    如果共享链路数据大爆发,控制路径延迟会变高,基于这个发现,我们实现我们的探测。

    两个阶段:第一是测量控制平面延迟 第二辨别目标路径。

    stage 1

    measuring delay of control path

    一些数据建模,大概意思为,一个新数据包(需要向控制器发出请求)到达控制器的往返时间减旧数据包(流表可以匹配)的往返时间等于 控制器下发控制信息的时间。

    stage 2

    identifying target data path

    发送两类数据包: timing stream time stream 需要是一种收到响应的包,这样可以测量RTT。 这种类型的包有很多,例如icmp, TCP 等。 time stream需要包含一对数据包:第一个数据包触发新流安装第二个匹配新安装的规则。 可以首先等待足够的时间之后,发送第一个数据包,然后收到第一个回复之后马上发送第二个。

    计算一个时间δ。 一般而言,流表的超时时间30s足够了。

    第二类数据包: testing stream

    等到第一种流过期之后,我们在发送短期爆发流的同时发送测试包测量。

    计算一个时间δ‘

    如果δ‘ 远大于δ, 那么说明短期爆发的数据包链路中包含共享链路。 如果两者相近,那么说明不包含。

    improved reconnaissance

    T-test

    上述的方法虽然短短的数据包可以计算出时间,但是受到噪音因素影响大,可以通过T-test 提高精确度。

    parallelization

    每个网络有若干链路,每条链路如果都使用上述的T-test,并且发送测量数据包之前需要等待一个超时时间,那么测完整个网络的效率非常低下,需要等待很长的时间。一些链路之间可以并行测试提高效率。

    Defense Against the CrossPath Attack

    文中在附录中提到两种防御手段,首先可以使用优先级的方法,为控制信息提供更高的优先级,在交换机中由于控制信息优先级更高,率先被转发,控制平面不受影响。

    一些交换机并不支持优先级的实现,所以可以采用链路预留的手段。

    Processed: 0.015, SQL: 8