科技信息 o IT论坛0 SCIENCE&TECHNOLOGY INFORMATION 2011年第9期 DHCP耗尽攻击及防范 高顾君 (上海交通大学 中国 上海【摘200023) 要】DHCP服务可以说是接入网络的必备服务,但是其在安全方面还存在很多不足之处,其中包括能够引发DoS攻击的Ip耗尽攻 击,DHCP服务器冒用等等。针对攻击的方式,防御的措施有:Port Security,DHCP Snooping和基于VLAN的ACL等。本文讨论的主要是IP耗 尽攻击及防御措施。 【关键词】DHCP;耗尽攻击;Port Security;DHCP Snooping 【Abstract】DHCP is the necessary protocol to access the network,but it leaves much to be desired in terms of security.Include of IP address pool exhaustion(which leads to a DoS attack)and installing a rogue DHCP server.There ale such methods to against the attacks like:Port Security, DHCP Snooping and vlan—based ACLs. 【Key words]DHCP;Exhaustion;orPt Security;DHCP Snooping 0 引言 当今生活,网络无处不在。DHcP——动态主机配置协议作为一个 应用广泛的LAN协议在当今网络中扮演着不可或缺的角色。绝大多 数客户端(PC,笔记本,工作站,网络设备等)都是通过DHCP动态分 配IP地址来接入网络。由于DHCP设计之初并没有到考虑安全的因 素,面对如今日益严峻的安全态势以及人们对安全要求的不断提高. 做好DHCP安全工作已成~大课题。如今的不安全因素有:耗尽IP地 址,发送错误IP,DNS等信息,恶意冒充DHCP服务器,劫持流量等 见表2。 表2 操作代码OP(1) 硬件类型Htype(1) 硬件地址长度Hlen(11 跳计数Hops(1) 事务ID Transaction ID(4) 秒数Seconds(2) 标记Hags(2) 客户端IP地址Ciaddr(4) 你的IP地址Yiadd(4)r 服务器IP地址Siaddr(4) 代理IP地址Giaddr(41 客户端硬件地址Chaddr(161 服务器主机名Sname(64、 等。本文通过对DHCP协议的研究,针对IP耗尽做出模拟攻击以及提 出与之相应的防范策略。 1 DHCP概述 见图1。 引导文件Hle(128) 选项Option(variable1 r—————————————] l照 # 个0HcP Offer鼓据l 一】 目直 l i. ...................... .. ...。.............._J 1.3 DHCP数据包的内部字段 字段名 操作代码 硬件类型 硬件地址长度 跳计数 事务Id 字节数 1 l l 1 4 描述 l=request,2=reply l=10Mbi/ts以太网 MAC地址的长度 Relay agent 由客户端选择的随机数字,用来使得request/ reply相互关联 秒数 2 由客户端来填充,自事务开始以后,对流逝的 时间以秒为单位的计数 图1 初试的DHCP数据包交换示意图 标记 客户端IP 2 4 l=广播,O=其余 对于新的请求,字段为0 】-1各类DHCP数据包定义 见表1。 表1 DHCP消息 定义 你的IP 服务器IP 4 4 有服务器提供的地址 在自举过程下一步中使用的地址,有 DHCPOFFER/ACK数据报返回 Relay agent的地址 网关IP 4 DHCP 客户端发现服务器(广播数据包) 客户端硬件地址 服务器主机名 引导文件 选项 16 64 128 长度可变 客户端IP地址 可选 DHCP0FFER 服务器以单播的方式发送一个包含各种参数(IP、子网掩码 等)的回应数据包 DHCPREQUEST 客户端对感兴趣的DHCPOFFER数据包发送的广播包 可选 DHCPACK DHCPNAK DHCPRLEASE 服务器对DHCPREQUEST数据包的确认(单播数据包) 服务器对一个DHcPREQuEsT消息的拒绝(单播数据包) 客户端释放自己的IP地址 1.4 DHCP工作原理 DHCP Client向DHCP Server发送请求,通常Client与Server在网 络中是给路由器和交换机等网络设备搁开,此时的路由器等网络设备 1.2 DHCP数据包格式 扮演的是中继Relay Agents的角色,把Client的请求转发给服务器。 2011年第9期 SCIENCE&TECHNOLOGY INFORMATION O IT论ik O 科技信息 Client侦听端15为UDP68,Server侦听端明为UDP67。Client通过68 3防御DHCP耗尽攻击 端El向67端口广播一条DHCPDISC0VER消息用以获得一个IP地 耗尽攻击每次从DHCP服务器请求一个新的IP地址的时候.都 址。在经过DHCPACK确认后.Client得到IP地址。DHCP数据包可以 会采用一个新的MAC,因为一个DHCPDISCOVER数据包对应一个新 包含如默认网关,DNS,DOMAIN等信息。多个DHCP Server可以在一 的MAC,当某一VLAN端El动态学到的MAC地址数量激增的时候. 个LAN上并存。如果一个Client收到多个DHCPOFFER数据包,它便 这便是个危险的信号,正常情况下,每个VLAN端口动态学到的MAC 可以从其中挑选第一个抵达的回应数据包。 地址数量应该不会超过两个。 由于DHCP 议未考虑安全因素,所以其数据包中不包含任何认 3.1 Port Security(端口安全) 证字段或者安全相关的信息。任何人都可以请求IP地址,当一个 这是基于网络巨头CISCO公司产品的安全防范措施。Port Client想要获取IP地址时.会生成一个DHCPREQUEST数据包,并对 Security通过控制相同接口能够学习到的MAC地址数量来减弱 其中的几个字段进行填充。在RFC2131中作了如下描述:将客户端标 DHCP攻击。 识符或客户端硬件地址与分配所得的网络地址加以组合,以组成客户 但是Port Security有其限制,它只能识别物理包的源MAC,如下: 端租约的唯一标识符,并且.DHCP客户端和服务器端同时使用这个 组合,以标识任何DHCP消息中所涉及的租约。DHCP Servei拥有大量 可供分配的IP地址,同时Sever可以根据网关IP地址来分配给Client 适合的IP地址。由于Client通常不知道自己的网关地址,即客户端的 默认路由器,此时,将Client的DHCPDISCOVER中继转发给DHCP Sever的首台路由器时会填写网关IP地址.而此IP地址就是中继路由 器的接口IP地址,该接15是收到Client发送的初始DHCPDISCOVER 数据包的接口 斡l露DLC …—-DEC Reader…—. 国DLC 土 ≥DLC DLC 一 Frame 3 arrived at 22 01:28 9634:f D嚣¥tjnation BROADCAST FFFFFFFFFFFF. 酉砸曩—圈圈囊—■—网圈丽啊圈圈暖豳■ 》DLC Ethertype t 0800(IP) £ DLC: 这是笔者通过Sniffer抓包工具抓得的一个DHCP DISCOVER 2 DHCP的模拟攻击 了解了DHCP的工作原理,笔者尝试通过耗尽DHCP的地址范围 来攻击DHCP。 攻击思路:客户端只要生成唯一可识别的数据包,首先随机生成 源MAC地址,然后将带有伪造MAC地址的DHCPDISCOVER数据 包,服务器端无法辨别主机的真假,便将释放出所有可用的IP地址。 而一些攻击工具,如Yersinia能在确保以源MAC地址单个、唯一 的同时.对ClientHardwareAddress进行随机化填充.如下图 DHCP Cllent IP address DHCP Next server to use in bootstrap DHCP Rel矗y Agent ・(0 0 0 0】 【0.0.0 0】 -f 0 0 0 0】 对DHCP Server来说,每个数据包都是一个单独而有效的请求, 此时如果一台真正的客户机想获取一个IP地址,因为所有可用IP地 对网络设备来说,情况看上去更为正常,在连接攻击者的端口上只能 址已经耗尽,这个请求将给丢弃,无法获取到IP地址。 学到一个MAC地址。由于在设备端口上不会出现多于一个MAC地 笔者通过Yersinia这个工具来达到模拟的效果。(Yersinia是一款 址.Port Security就不会发现任何可疑情况。而采取措施。 针对STP 802.1Q,DHCP等二层协议的攻击工具)。 同时DHCP的租约通常以天为计数,而Port Security是以分钟计, 首先模拟一台WIN2003主机作为DHCP的Server 对于经验丰富的攻击者来说可以调整攻击MAC地址的节奏,以适应 orPt Security的计时周期更迭,有效的饶过了Port Security 3.2 DHCP Snooping DHCP Snooping在一个VLAN上严密监视并限制DHCP的操作, 通过建立和维护DHCP Snooping绑定表过滤来自不信任区域的 DHCP信息。DHCP Snooping允许将某个物理端口设置为信任端口或 不信任端口。Client仅会发布DHCPDISCOVER和DHCPREQUEST消 息.非信任端口不会让Client发出的DHCPOFFER和DHCPACK数据 包进入网络设备.因此可以将DHCP Snooping看为一台放置在信任和 不信任端口之间的防火墙。它从每个信任端口收集动态IP和MAC的 绑定信息,通过对DHCP数据包的监测,网络设备了解到一个DHCP Server已将IP地址分配给一个给定的VLAN内某一特定的端口,该 然后在Ubnntu系统上启用Yersinia发动攻击 Client由一个唯一的MAC地址来标识,该DHCP动态IP和MAC的绑 定信息包含IP地址,MAC地址,租期和接口等信息。在为一个端口创 ::;:rt a鬻n t。= ,rac鍪 k s攀 ‘:: ::嚣。: ”““ 一 秘i 建了条目之后,该绑定信息会与进入的DHCP消息进行比较。如果包 含在DHCP数据包中的信息与绑定信息不匹配,则标记为一个错误状 态,将该DHCP包丢弃。 DHCP Snooping安全特性: 每端口的DHCP消息速率限制 为每一个端口配置阀值,用来限定第端口每秒可以接收的DHCP 稍等片刻后,主机的DHCP可供分配的IP地址已经给耗尽 数据包的最大数目,超过便关闭端口,用以防止DoS攻击。 DHCP消息确认 对信任端口上收到的DCHP消息,不做任何措施。对非信任端口 上收到的DHCP消息.会采取如下措施: DHCP Server发往DHCPNAK被全部丢弃。 消息 Client的DHCPOFFER.DHCPACK和 丢弃中继代理/网关IP地址段非0或option宇段为82的DHCP 将DHCPRELEAsE/DHcPDECuNE消息于绑定条目进行核实,以 防止恶意释放或拒绝已经租用的合法IP。 丢弃源MAC地址与Client硬件地址字段不匹配的 DHCPDISCOVER消息。 Option 82的插入和移除 DHCP option 82是为了增强DHCP Server的安全(下转第6页) 2011年第9期 SCIENCE&TECHNOLOGY INFORMATION o本刊重稿。 科技信息 4.1 注重案饲的收集与整理 运用所学知识,通过分析、思考、判断,做出自己的决策,实现从理论到 案例教学法的关键是案例,依据这些案例来展开教学。但教学实 实践的转化.使学生在校园内就能接触并学习到大量的社会实际问 践中这些案例的收集却是七零八落、支离破碎的,有必要加强对案例 题,弥补实践的不足和实际运作能力匮乏的缺陷。 的收集和整理。案例收集的途径主要有:第一,组织学生通过上网、去 此外,随着信息技术的不断发展与进步,案例教学的手段和方法 图书馆、阅览室、书店、走访景区、旅行社等方式收集案例,规定学生每 也可以更加丰富和多样化。除了文字资料的收集和讲解外,还可以通 两周完成一篇导游案例,注明出处,写出阅读心得作为课程作业:第 过录像、多媒体等手段进行更加生动、直观的教学。 二,教师在批改作业过程中,发现新的、有价值的案例便及时补充到教 总之,通过案例教学法等教学方法在《导游业务》课程中的运用, 案中。这些都可以形成与教学相配套的《导游服务案例精选》。 必将丰富我们的教学方式,改进现有的教学方法,充分调动学生学习 4.2注重调动学生积极性和主动性 的积极性和主动性,对其独立思考、获取知识、解决问题等方面能力的 案例教学中,教师的职责是精心选择、编写案例,并组织和指导课 培养发挥积极的作用。l 堂讨论,防止课堂讨论的气氛过于冷漠或激烈。学生作为案例教学的 主体,他们的参与更显得极为重要。在教师的指导下.学生积极参与、 【参考文献】 深入到案例所描述的情景中,充分体验案例角色,对案例进行分析、讨 [1]王志国.浅论《导游实务》课程中案例教学的运用【JJ.内江科技,2006(6):59. 论,并在此过程中相互学习。在这个教学过程中,不仅存在着教师个体 [2]史美兰.体会哈佛案例教学fJ].国家行政学院学报,2005(2):42. 和学生个体的交流 还存在着老师个体与学生群体、学生个体与学生 [3]朱金生,刘耀辉.案例教学法在教学中的应用探讨【JJ.理工高教研究,2005(6): 个体、学生群体与学生群体的交流,也就是师生互动、生生互动。实践 66. 证明,案例教学质量提升的关键是充分调动学生学习的主观能动性。 [4]陈万明.案例教学的针对性原则及其运用要领探讨【J】.中国大学教学,2006 4.3 注重案例教学过程的设计 (1 1):23—24. [5]张定方.旅游管理案例教学法的评价与效果分析叨.南宁师范高等专科学校 与传统的教学法不同,案例教学法的整个教学过程一直是动态 学报,2009(1):101—102. 的。首先,综合性的案例分析应在单项案例分析基础上进行;案例分析 的形式可以是书面的也可以采用课堂讨论的方式。采用课堂讨论的方 作者简介:张丹宇(1965一),女,云南昆明人,云南师范大学旅游与地理科 式 一定要在之前让学生做好充分准备,认真阅读相关材料并提出思 学学院,副教授,主要从事旅游管理的教学与研究。 考和解决问题的方法。在讨论中,教师除了指定学生代表发言、阐述观 点,组织同学进行辩论外,还应根据讨论的情况实时地提出启发性问 ※基金项目:教育部“旅游管理与服务教育”全国第二类特色专业 题引导辩论的深入。最后,在进行课堂讨论的点评。这样,有助于培养 建设项目阶段性成果(TS2380h 学生的独立思考能力、获取知识的能力以及语言表达的能力。 4.4注重案例教学的实践环节 [责任编辑:汤静] 通过案例教学,可以让学生充当案例发生中的各种各样的角色, (上接第6O页)性,改善IP地址配置策略而提出的一种DHCP选项。 多个IP地址。 Option 82为DHCP Server提供信息:DHCP Request数据包来自哪个 网络设备以及该设备的哪个端口。该信息由中继信息,DHCP Option, 4结束语 代理ID和电路ID来提供。当从非受信任端口向DHCP服务器转发 随着网络规模的扩大化和网络环境的复杂化,DHCP服务已是无 DHCP Request消息时,可在其Request消息中插入DHCP中继Option 所不在。由于先天的安全性方面的不足,导致DHCP很容易受到IP地 82选项,然后再把该消息转发给DHCP Server,支持Option 82功能的 址耗尽,DHCP服务劫持,信息嗅探等攻击。笔者使用LINUX下的攻击 DHCP Server接收到消息后,根据预先配置策略和消息中Option 82信 工具对DHCP展开了模拟的攻击,导致DHCP可用地址的耗尽,并通 息分配IP地址和其它配置信息给Client,同时DHCP Server也可以依 过分析攻击原理.基于目前主流网络设备的防范特性,如Port Security, 据Option 82中的信息识别可能的DHCP攻击信息并做出防范。DHCP DHCP Snooping以及VLAN访控列表来针对DHCP耗尽攻击提出防 中Relay Agent收到Sewer应答消息后,剥离其中的option 82选项并 范思路与方案,更大限度地来保障DHCP服务的安全与有效运行。锰 根据选项中的物理端口信息,把应答消息转交到网络接入设备的指定 端口 【参考文献】 3.3基于VLAN的访问列表 f1_李洋.LINUX安全技术内幕.清华大学出版社,2010. 如果有的网络设备不支持Port Security和DHcP Snooping,可以 [2]Scan Convery.王迎春,谢琳,译.网络安全体系结构.人民邮电出版社,2005. 利用基于VIAN的访问列表来防范特定DHCP的攻击。DHCP Client [3]Eric Vyneke,Christopher Paggen.局域网交换机安全.孙余强,孙剑,译.人民邮 会从UDP 68端口向UDP67端口广播DHCPDISCOVER消息,如果 电出版,2010. DHCP Server没有涉及UDP 67端口的服务,可以配置访问列表来组 [4]Jones,Steven.A tool to audit DHCP networks.2003. 塞源自UDP 67端口的所有流量。但是这对于DHCP的耗尽攻击没有 作用.因为攻击者可以通过发送多个DHCPDISCOVER数据包来获得 [责任编辑:常鹏飞] 上接第64页)5结束语 2001. [2]王殊,阎毓杰,胡富平,等.无线网络传感器网络的理论及应用[M].北京:北京 我们相信,RFID技术在商品防伪领域必将引起一场重大变革, 航空航天大学出版社.2007:143—165. RFID可以实现商品供应链的可视化管理,通过与现有信息技术相结 [3]赵军辉.射频识别技术与应用.北京:机械工业出版社,2008:1-22. 合,大大提高造假难度,有效提升防伪能力。今后RFID必将成为商品 [4]余雷.基于RFID电子标签的物联网物流管理系统叨.微计算机信息,2006. 防伪领域的一项重要技术手段。 [5]余其炯诱人的RFID应用前景.中国数据通信,2004. 【参考文献】 [责任编辑:曹明明] [1]FinkenzelterK.射频识别(RF1D)技术.2版.陈大才,译.北京:电子工业出版社 6