互联网自治域间IP源地址验证技术综述
一、文章信息
- 作者:贾溢豪,任罡,刘莹
- 单位:清华大学
- 来源:软件学报
- 时间:2017年
二、基于加密、签名及标记信息
2.1 技术原理
采用端到端验证的设计结构,其中以密钥协商最为常见。通信双方在事前协商可供彼此验证的校验标识,并将其加载在通信过程中的数据报文内以供接收方进行身份确认。若接收方验证通过,则判定通信对端真实而接收报文;否则,视其为伪造而丢弃报文。
2.2 典型技术实例
2.2.1 SPM(spoofing prevention method)
SPM的核心思想在于建立安全联盟体系。对于发往安全联盟成员内的数据报文进行伪造源地址过滤检测,并在此基础上对发送的合法源数据报文添加其与目的端事先协商的特定标签 Tag(Source,Destination)供目的端进行真实性检验,以防止安全联盟内外的任何其他自治域伪造本域源地址向此通信对端尝试非法通信。对于发生在联盟外对内的反射式攻击,联盟成员则不具备区分能力,只能争取扩大联盟范围以降低受到联盟外反射攻击的概率。
2.2.2 DISCS(distributed collaboration system)
DISCS赋予防御技术的最大贡献在于,将防御功能分时空地按需调用执行。DISCS通过在BGP消息中设置可选、可传递的路径属性,以辨识不同的子联盟,当自治域在接收到若干 BGP报文后,可选择加入与之存在利益共识的联盟,并最终将整个互联网划分为多个并行的防御联盟,每个联盟内提供与SPM类似的防御保护,但联盟之间并不建立防御共识。
2.2.3 技术分析
此类方法应用的安全性在于采用加密技术的安全性,主要技术难点在于设计安全、高效的标签协商方案,即端到端特征协商方案。此外,密钥协商的复杂性使得此类方案在大规模部署时具有较大的维护开销,可扩展性受限,制约了其实用价值。并且,过多的对端校验开销使其方案本身也极易成为DDoS的攻击目标,因而造成网络拥塞甚至服务瘫痪。
此类方法优势在于不受网络拓扑动态性影响,过滤性能仅与拟采用加密算法的验证特征相关,且不具备固有假阳性,极大地规避了自治域部署的运维风险。
三、基于域间路由信息
3.1 技术原理
攻击者仅能伪造数据报文的源地址信息而不能控制报文的转发路径,当伪造源地址的数据报文从非法的路由端口进入时,路由器可进行真伪性验证以过滤伪造报文。DPF(distributed packet filtering)通过对各个路由器的各转发端口建立合法源地址绑定列表,并对转发过程中接收到的绑定列表范围之外的源地址报文判伪并丢弃。
3.2 典型技术实例
3.2.1 IDPF(inter-domain packet filtering)
IDPF通过学习BGP Update报文获取各段前缀的路由方式,通过假定每段前缀的抵达端口与转发端口一致,从而独立地通过监听BGP报文来建立过滤规则。最大优势在于:其免除了自治域间的相互协作,极大地提高了部署的可行性。然而,独立预测使得部署自治域不能获得真实完整的路由信息。
3.2.2 SN(selection notice)
SN为BGP增加新的选路通知报文:当自治域接收到BGP路由更新时改变路由策略,均需要将新的选路策略通过BGP选路报文告知目的对端,而沿途所经各个自治域均可通过学习选路通知报文为其建立过滤规则。
3.2.3 技术分析
建立基于域间路由信息的过滤技术需要依赖两项基本因素以建立过滤规则,一是获取自治域号对所持前缀的合法映射,二是获取源端路由选择信息。基于域间路由信息的源地址验证方法能够使伪造报文在传输途中被尽早过滤,从而保护了带宽资源的有效利用,其分布式的验证机制也要求验证规则必须根据路由变化而改变,因此具备较强的自适应性。然而,此类源地址验证技术通常需要广泛的部署才能够取得较佳的过滤性能。
四、基于IP分组转发经历跳数
HCF(hop count filtering)不同于上述两类源地址验证技术,它巧妙地利用了报文TTL(time-to-live)剩余跳数的可行性范围来确立对端实体的合法性。由于通信双方的数据报文具备较为统一的转发路径,因此也应具备相对稳定的路由跳数。通信接收端在接受报文前对报文已转发跳数进行计算,若对于特定的通信源地址而言,其报文跳数在合理的范围之内,则可相信其在很大程度上未被伪造。
HCF的特征在于将验证执行的位置移至通信主机,并未针对域间而进行设计优化。因为路由震荡的存在,HCF仅能保持较粗的过滤粒度,过滤能力相对有限。尽管HCF消除了密码学带来的庞大计算开销,但其并不能取代为其提供的更为严密的安全保障。另一方面,互联网同样不对TTL的伪造执行任何检查,使其验证技术在得到攻击者足够“重视”后可以被彻底绕过。
五、基于自治域间商业互联关系
5.1 技术原理
BGP协议的背后实质上却是自治域间的商业关系。自治域间的商业关系存在一种最为显著的商业特质:Valley-Free,即无低谷特性。Valley-Free特性使得任何自治域都没有动力去为自身及其Customer以外的任何流量付费。由于商业关系是域间路由流量流向的最终本质,以自治域商业关系为基础的过滤方案相比其他方案更加精炼和简要。由于其仅从商业关系出发构建过滤策略,使得方案的部署将不受任何因域间路由缺陷而产生的固有限制或束缚。
5.2 典型技术实例
Arbif以自治域商业合作关系为基础,在相邻部署自治域内传递过滤规则。部署自治域在启动防御技术时,其过滤规则生成引擎在其邻居之间建立通信连接,生成初始过滤规则,并根据商业关系导出表选择性地将部分过滤规则传递给特定的部署邻居。部署邻居在接收到新的过滤规则后,判断是否需要更新自身过滤规则表,若更新发生,再决定是否选择性地将部分过滤规则继续传递给具备特定商业关系的部署邻居。在过滤规则更新传播中,规则将以自治域号的形式不断扩散,这要求部署自治域直接相邻,但Arbif却未能对增量部署策略提出好的建议。
5.3 技术分析
此类方案的难点在于如何获取完整的域间商业关系。一方面,利用现有检测方案获取的商业关系未能保证100%的正确性,仍使得过滤技术有少许假阳性存在;另一方面,由于商业关系是通过BGP获取的,使得过滤系统未能与路由系统完全分离,而降低了防御方案的灵活性和扩展性。
六、源地址验证技术特征归纳
通过对比可知:基于加密、签名及标记信息的源地址验证技术往往具有较好的过滤性能,极少引入假阳性的风险,但复杂性和开销较高,规模可扩展性较低;而自治域间的商业关系作为互联网域间的本质特征,无论直接利用商业关系或是间接以域间路由信息为基础构建的防御技术均具有更好的灵活性和可扩展性。通过分析、概括各种方案的技术特征,域间源地址验证技术面临的挑战主要包括以下 4 个方面:
- 协议设计存在缺陷
- 自治域间合作困难
- 协议开销过重
- 缺乏部署激励
互联网自治域间IP源地址验证技术综述的更多相关文章
- 【转】网络中的AS自治域
1. 什么是AS自治域? 全球的互联网被分成很多个AS 自治域,每个国家的运营商.机构.甚至公司等都可以申请AS号码,AS号码是有限的,最大数目是65536.各自分配的IP地址被标清楚属于哪个AS号码 ...
- [LeetCode] IP to CIDR 将IP地址转为CIDR无类别域间路由
Given a start IP address ip and a number of ips we need to cover n, return a representation of the r ...
- Ip地址和子网掩码和CIDR无间别域间路由
开始,网络的制定者将网络划分为A,B,C三种网络,想这个样子: A类网: xxx.0.0.0 子网掩码:255.0.0.0 xxx.0.0.0/8 //后面的数字代表网络地址的字段 ...
- RIP、OSPF、BGP、动态路由选路协议、自治域AS
相关学习资料 tcp-ip详解卷1:协议.pdf http://www.rfc-editor.org/rfc/rfc1058.txt http://www.rfc-editor.org/rfc/rfc ...
- IP组播技术
1 概述 1.1 产生背景 传统的IP通信有两种方式:一种是在源主机与目的主机之间点对点的通信,即单播:另一种是在源主机与同一网段中所有其它主机之间点对多点的通信,即广播.如果要将信息发送给多 ...
- IP组播技术介绍及实现例子
引 言 近年来,随着Internet的迅速普及和爆炸性发展,在Internet上产生了许多新的应用,其中不少是高带宽的多媒体应用,譬如网 络视频会议.网络音频/视频广播.AOD/VOD.股市行情发布. ...
- 转载-lvs官方文档-LVS集群中的IP负载均衡技术
章文嵩(wensong@linux-vs.org) 2002 年 4 月 本文在分析服务器集群实现虚拟网络服务的相关技术上,详细描述了LVS集群中实现的三种IP负载均衡技术(VS/NAT.VS/TUN ...
- LVS集群中的IP负载均衡技术
LVS集群中的IP负载均衡技术 章文嵩 (wensong@linux-vs.org) 转自LVS官方参考资料 2002 年 4 月 本文在分析服务器集群实现虚拟网络服务的相关技术上,详细描述了LVS集 ...
- TCP/IP笔记(五)IP协议相关技术
IP旨在让最终目标主机收到数据包,但是在这一过程中仅仅有IP时无法实现通信的.必须还要又能够解析主机名称和MACdivide功能,以技术包在发送过程中异常情况处理的功能. 这篇主要介绍下DNS.ARP ...
随机推荐
- Python 基础之class魔术方法
类的常用魔术方法:无需人为调用,基本是在特定的时刻自动触发,方法名被前后两个下划线包裹 魔术方法,总结表: __init__:构造函数.初始化的时候调用. __new__:对象实例化方法,其实这才是类 ...
- Linux系统文件与目录管理(1)
文件与目录的操作 在Linux系统的文件与目录的管理上,不外乎『显示属性』.『拷贝』.『删除文件』.『移动文件或目录』.『重命名』等常用操作,由于文件与目录的管理在 Linux当中是很重要的,尤其是每 ...
- [NOIP2018]赛道修建(二分+multiset)
考场上打了一个 \(vector\) 解法,因为我当时不会 \(multiset\) 好吧,我来讲一讲今年的 \(tgD1T3\) 首先,这题 \(55\) 分是不难想的 1. \(b_i=a_i+1 ...
- day02 基本数据类型与运算符
day02 1.基本数据类型 2.算术运算符 +,-,*,/,%,++,-- 3.赋值运算符 =,+=,-=,*=,/=,%= 4.关系运算符 +=,-=,*=,/=,%= 结果是boolean类型 ...
- 杀掉所有 skynet 进程
ps aux | grep skynet | awk '/config/{print $2}' | xargs kill
- 防止活动上线时 微信openid 被伪造的解决办法
背景 前不久上线了一个 campaign 项目,一个 h5,后端为php,用户可以在微信中通过网页授权的方式登录,然后用微信 openid 作为唯一标识符进行签到和抽奖的操作. 结果后期出现了很多脏数 ...
- JavaScript 那些不经意间发生的数据类型自动转换
JavaScript可以自由的进行数据类型转换,也提供了多种显式转换的方式.但是更多的情况下,是由JavaScript自动转换的,当然这些转换遵循着一定的规则,了解数据类型自由转换的规则是非常必要的. ...
- Unity使用Rider作为IDE的体验
Rider 2017.2.1比较完整的支持Unity开发. 通过添加插件代码实现了直接选择Rider作为编辑器. 支持调试. 支持双击跳转代码. Alt+Insert可以插入Unity event函数 ...
- 微信小程序(wx:for)遍历对象
最近在折腾微信小程序,遇到这么一个情况:后端返回一个key-value的对象数据,需要遍历对象的key-value,然后渲染到视图中.就像下面这样: { '2018-1-9':{ address: ' ...
- 到网上收集了一个“高大上”的CSS3登入表单和大家分享一下
要求 必备知识 基本了解CSS语法,初步了解CSS3语法知识. 开发环境 Adobe Dreamweaver CS6 演示地址 演示地址 预览截图(抬抬你的鼠标就可以看到演示地址哦): 制作步骤: 一 ...