[关闭]
@EggGump 2019-04-19T12:05:48.000000Z 字数 3285 阅读 623

dFence: Transparent Network-based Denial of Service Mitigation

security

Mahimkar A , Dange J , Shmatikov V , et al. dFence: Transparent Network-based Denial of Service Mitigation[J]. Nsdi ’, 2007:24-24.

本文通过添加dFence中间设备,实现透明的DoS防御。图1架构图,将中间设备透明插入可能受攻击的主机前并拦截所有流量。EptP10.png

Transparent Middlebox Invocation

本部分讲如何透明调用中间设备,网络不用了解中间设备存在于否。要解决的问题有:1.双向流拦截,指定流固定到中间设备;2.动态状态管理;3.中间设务错误恢复

Dynamic Traffic Interception

当前存在的方法无法满足我们的需要。

Inbound traffic interception

通过使用iBGP和隧道技术来拦截inbound流量,iBGP在本在AS发路由表到所有的S,这样所有的目标主机的流量都被定位到一个固定的(dFence Middle box)M上。具体步骤:
见图2a
EpNmqS.png
1.找M。在a中,IGP找的M是M1,但它不是HM。(home middle box,即该M是否是处理某流的M)
2.不是HM,而由M找HM,图a中由M1找M3,M3为HM。(某个特定的目标主机需要由一个M处理。)用流的hash来确认是不是HM。
3.HM通过隧道技术将包发给出口路由Rn,这里这们做是避免环。隧道技术为声明:(ACLs-to-S和ACLs-from-S)

Outbound traffic interception

为达到这样的目的,hash函灵敏定义为:更换sIP和dIP计算得到的Hash值不变。

使用PBR交付所有目的主机流量到M。如图2b
1.若满足ACL-from-S而交付到一个M上,这里是M4
2.M找HM,这里是M3
3.处理后正常交付即可。

Dynamic State Management

当M介入或移除时,分别引入启动时间和移除时间
1.state bootstrapping:在内,所有已有的双向连接都视为合理。
2.state removal:在内,对新来的连接不应用策略。
经过分析,启动时间设为5或10秒较合理,移除时间稍长以处理完连接。移除决策只能由M自己作出。

Falure Recovery and load balancing

可能的出错原因有:power outage,hardware malfunciton,software errors,network outages,..。
解决办法:优雅地流转移。即通过转移处理流的HM来解决出错和负载平衡。
所有的M都维护一个全局home Hash表,对于某个流识别f,计算hash:h(f),再通过HM(h(f))找到它的HM。

Failure rcovery

所有的dF设备连成一个逻辑环,可通过R.next(Mi)递归找到每一个设备。当Mi失效时,则R.next(Mi)接替Mi的工作。

Load balancing

与上面相似,假如M1过载,而通过 HM(e)=M2将e从M1转到M2.

Middlebox Disign.

M维护的TCP连接主要分两类:M引进前和M引进后。
M主要维护连接的一个Connection Hash表,表项由FlowID(sIP,dIP,sP,dP)作键,表项组成:

另个还有个Src-Dest表,记录同样sIP-dIP的连接数,超过阈值就禁止建立新的连接。
再另外,对于目的主机S主动发送的连接使用Bloom filter来维护。

Mitigation Policies

本文要实现的目标是透明实现DoS防御,攻击形式:SYN flood,Smurf-type,reflection attacks。

Mitigation spoofed attacks

Mitigation unspoofed attacks

Evasions and Attacks on Middlebos

implementation

控制平面流量截取XOPR,数据平面攻击缓解IXP(这个并不是SDN里的那个。)完整设计可见图6a,控制平面利用BGP和IGP来进行路由决策并更新交付表。
EpyoNV.png
* Control plane interception: 当有攻击时,M拦截,利用iBGP使所有的victim的流量通向M,并设定隧道和ACL规则来配置egress以防止环路。
* Data plane mitigation:使用Shangri-La framework 实现IXP,将攻击缓解实现成一个包处理函数映射。如图6b。
* Control-data planes interaction: XORP和IXP之间使用ioctl()和系统调用来交流。XORP运行BGP/IGP并在数据平面上庙宇MAC/IP下一跳IP,PORT等信息。

评估

Micro benchmarks

end-to-end benchmarks

服务器:1GHz Intel P-3 processor 256MB RAM,256KB cache,Apache Web Server Linux 2.4.20 kernel。评估:连接时间和最大TCP吞吐量。结果见图7
Ep6sbR.png
* Lantency:7a,x轴为攻击率,y轴为连接时间。
* 吞吐量:10s时加入M,可见加入M后吞吐量随之恢复正常。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注