《DNS域名安全实时检测研究》由会员分享,可在线阅读,更多相关《DNS域名安全实时检测研究(32页珍藏版)》请在金锄头文库上搜索。
1、中国移动集团重点中国移动集团重点/ /联合研发项目联合研发项目结题汇报报告结题汇报报告项目名称:项目名称: DNS DNS域名安全实时检测研究域名安全实时检测研究项目编号:项目编号:第2页研究背景目目 录录系统组网结构图DNS防护目标概述海量DNS请求攻击的安全防护机制研究DNS缓存投毒防护机制研究DNS域名劫持防护机制研究模拟实验情况汇报第3页研究背景研究背景1 1、DNSDNS是目前互联网攻击热点,一旦被攻击,将产生重大通信阻断问是目前互联网攻击热点,一旦被攻击,将产生重大通信阻断问题:题:2009年电信519暴风攻击事件导致电信6省互联网DNS服务完全瘫痪,多省受到不同程度影响;联通、铁
2、通各有14省DNS服务受到不同程度影响;移动由于互联网用户较少,6个省DNS解析成功率下降10%左右。2 2、缓存投毒、域名劫持安全问题越发突出:、缓存投毒、域名劫持安全问题越发突出: 2010年1月12日晨7时起,至12时之间网络出现百度出现无法访问的情况。官方事故原因说明为:因的域名在美国域名注册商处被非法篡改,导致全球多处用户不能正常访问百度。 针对DNS高危的现状,需要一个系统能够实现对DNS系统的运行实时监控,并依靠策略对于所有的访问进行监控,对于可能出现的安全事件(如大规模攻击、网站欺诈等)及时作出判断,并可采取相应的措施进行封堵。 第4页研究背景目目 录录系统组网结构图DNS防护
3、目标概述海量DNS请求攻击的安全防护机制研究DNS缓存投毒攻防护机制研究DNS域名劫持防护机制研究模拟实验情况汇报第5页四川移动针对四川移动针对DNSDNS实时安全防护措施的目标实时安全防护措施的目标( (一一) )一、建立应用层网络攻击自动防御机制,当DNS遭受来自用户侧的海量域名请求攻击以及畸形报文攻击时,有效消除DNS处理过载而导致退服的风险,确保DNS系统自身设备安全。预警环节:(三项关系为或)1、单位时间DNS域名请求总量达到设定条件,可能为遭受海量请求攻击2、单位时间域名解析失败量达到设定条件,可能遭受畸形报文攻击,以及构造虚拟域名进行海量请求攻击;3、某域名单位时间请求量达到设定
4、条件,可能某网站被攻击启动环节:DNS系统处理负载达到设定条件智能化封堵环节:建立单位时间“IP-域名请求最大次数”关系模型,并动态更新。封堵机制启用时,系统将用户侧IP在单位时间内的请求次数与模型进行比对,将满足设定条件的IP列入僵尸黑名单并自动登陆防火墙,按序添加IP封堵策略。智能化保护环节:当DNS防火墙处理负载达到设定条件,停止僵尸IP添加,防止防火墙过载退服。智能化还原环节:当DNS防火墙处理负载正常,按序自动解封。第6页二、建立DNS域名解析异常的监测及修复机制,当遭受缓存投毒攻击以及域名劫持攻击时,自动清理缓存服务器域名数据,确保DNS系统业务解析正常。1、有效识别缓存投毒攻击,
5、实时预警并自动修复DNS缓存服务器数据。在DNS递归请求时,对于发往同一个递归DNS服务器的一个请求,正常的情况只产生1个回应包。当在10秒内收到来自该IP地址的多个相同事务ID的回应包时,说明这个请求链路之间被缓存投毒,系统将实时告警,并自动登陆缓存服务器进行数据清除。2、有效识别域名劫持,实时预警并自动修复DNS域名数据。建立第三方域名库(部分热点域名、重点域名),将DNS域名解析回应数据与三方域名库进行实时比对分析,当域名解析错误时,自动登陆授权服务器进行数据修复。3、对于域名异常情况进行半自动分析,生成钓鱼网站库,并自动同步DNS实施钓鱼网站拦截,加强用户关怀,提升客户感知。(该功能的
6、完善,还需要结合网页数据比对分析,计划下阶段开展)四川移动针对四川移动针对DNSDNS实时安全防护措施的目标(二)实时安全防护措施的目标(二)第7页研究背景目目 录录系统组网结构图DNS防护目标概述海量DNS请求攻击的安全防护机制研究DNS缓存投毒防护机制研究DNS域名劫持防护机制研究模拟实验情况汇报第8页系统组网结构图系统组网结构图四川公司CMNet域名解析系统采用缓存和授权分开组网模式,前端采用两台Cisco5550防火墙作为DNS系统的安全防护及访问控制。DNS安全实时监测平台为旁路的方式部署,通过镜像数据方式抓取前端8508上所有数据包进行分析,监测平台根据预设规则加以处理,对监控的异
7、常IP通过通信口与防火墙和DNS服务器进行联动处理。这种部署结构适用于不同网络的DNS系统,不影响DNS系统的运行。第9页研究背景目目 录录系统组网结构图DNS防护目标概述海量DNS请求攻击的安全防护机制研究DNS缓存投毒防护机制研究DNS域名劫持防护机制研究模拟实验情况汇报第10页海量海量DNSDNS请求攻击的安全防护机制请求攻击的安全防护机制预警环节:分析海量DNS请求攻击,建立一套对异常请求攻击的预警模型,包括DNS解析总量及失败量模型、单个域名解析请求增量模型。启动环节:系统实时关注DNS服务器运行状态,系统设定适当的启动条件,当DNS服务器符合达到一定压力时,启动DNS保护处理流程,
8、对发起攻击的IP进行封堵。封堵环节:系统建立单一IP单位时间域名请求话务模型,通过模型可判断提取发起异常解析请求的IP地址。当某IP在单位时间的请求量骤增并达到设定条件,列入僵尸库,根据请求总量大小,按序封堵。保护环节:在封堵过程中,系统同时实时关注防火墙负载情况,当防火墙符合达到一定压力时,停止添加阻断策略,防止防火墙因过载导致退服风险,对防火墙及整个网络起到智能保护作用。还原环节:当攻击结束,DNS服务器负载逐步恢复到正常状态后,系统根据智能化策略老化机制,撤除防火墙上的阻断策略,使得整个网络运行状态恢复到攻击发生前的原始正常状态。预警启动封堵保护还原第11页海量海量DNSDNS请求攻击的
9、安全防护机制请求攻击的安全防护机制第12页预警环节单位时间预警环节单位时间DNSDNS解析总量设定条件研究解析总量设定条件研究DNSDNS解析总量话务模型解析总量话务模型 通过较长时间对四川移动DNS服务器请求总量的监测发现:白天平均每分钟访问量通常在26-28万之间,夜晚高峰也不会超过34万。我们据此建立了5分钟DNS请求总量的模型,当5分钟累计请求量超过170万时,系统将进行实时告警,并给出5分钟内请求的客户端IP明细。目前根据此策略,日均告警量在15条左右,而且在短时间内都能恢复正常,基本排除人为攻击,通常是网站促销等秒杀活动,或热点事件。正常情况下DNS解析请求量应该保持在一个平稳变化
10、的范围内,当短时间内域名访问请求突然大幅增高,则有可能发生了DNS攻击。我们以此建立了DNS单位时间总请求量模型。第13页通过较长时间对四川移动DNS服务器失败返回量的监测发现:白天平均每分钟失败量通常0.5万-1.5万之间,夜晚高峰也不会超过2.5万。我们据此建立了5分钟DNS失败量的模型,当5分钟累计请求量超过15万时,系统将进行实时告警,并给出5分钟内失败请求的发起端IP明细。目前根据此策略,日均告警量在25条左右,仅在11月30日晚上22:10-22:40表现异常,5分钟内最大失败次数最高达到了22万,经查是111.9.35.149发起的大量异常域名请求,再确认此IP为移动内部IP,故
11、没进行封堵,监控40分钟后,恢复正常。 正常情况下DNS解析失败返回应该保持在一定范围内,当短时间内域名访问失败返回突然大幅增高,则有可能发生了DNS畸形包攻击或构造虚拟域名海量请求攻击。我们以此建立了DNS单位时间失败量模型。DNSDNS解析总失败量话务模型解析总失败量话务模型预警环节单位时间预警环节单位时间DNSDNS解析总失败量设定条件研究解析总失败量设定条件研究第14页通过对单一域名的解析请求话务模型的分析,建立了两种攻击发现机制:单一域名解析总量模型和但以域名解析增量模型。分别适用于点击量小的非热点域名和点击量大的热点域名。因此,我们建立了“访问量滑动平均值”计算模型:系统会针对单个
12、域名在5倍单位时间内的解析请求平均值作为判定基数,以智能化的适应每天访问量的自然波峰和波谷计算,有效提高判断的准确性。此策略可针对不同数量级的点击量的域名,设定响应的告警阀值。预警环节单一域名解析请求增量设定条件研究预警环节单一域名解析请求增量设定条件研究 正常情况下同一域名的解析量应该保持在相对平稳的变化范围内,当短时间内该域名访问请求突然大幅增高,则该域名可能被攻击。我们以此建立了单个域名解析总量和增量话务模型。单个域名解析总量话务模型单个域名解析总量话务模型单个域名解析增量话务模型单个域名解析增量话务模型滑动均值:滑动均值:86峰值:峰值:2507滑动均值:滑动均值:606峰值:峰值:5
13、103第15页启动环节启动环节DNSDNS系统处理负载设定条件研究系统处理负载设定条件研究启动环节:系统实时关注DNS服务器运行状态,系统设定适当的启动条件,当DNS服务器符合达到一定压力时,启动DNS保护处理流程,对发起攻击的IP进行封堵。通过近一个月对我省DNS及防火墙状态的观察,发现在正常情况下它们的状态值都很稳定,当出现大量的攻击事件时,DNS及防火墙的状态也会随着变化。如下图所示:根据这些统计值,我们将DNS的CPU使用率阀值设置为3%,内存使用率设置为35%,即能够作为系统运行状态是否正常的重要判定依据。当DNS的状态值超过设置阀值时,即启动自动封堵处理流程,对事件源IP进行封堵。
14、第16页封堵环节智能化封堵设定条件研究封堵环节智能化封堵设定条件研究通过较长时间的观察,我们发现除开WAP网关、办公网出口等这些内部IP地址以外,单一IP请求数通常保持在500次/分钟以内,即便是夜间峰值也很难超过1500次/分钟;请求失败率通常稳定在10%以下,峰值不会超过20%。因此,我们分别建立了单一IP域名请求数量绝对值超过15000次/5分钟,较话务模型增长倍数超过2倍/5分钟及5分钟单一IP请求失败次数超5000/次的异常IP判定条件。封堵环节:系统建立单一IP单位时间域名请求话务模型,通过模型可判断提取发起异常解析请求的IP地址。当某IP在单位时间的请求量骤增并达到设定条件,就列
15、入僵尸库,根据请求总量大小,按序封堵。正常情况下单一IP在一个时间段内对DNS的请求数量及请求失败的数量是在个范围内的,当短时间内某个IP的请求或失败请求突然大幅增高,则该IP极有可能正向DNS发动DDOS攻击。我们以此建立了单一IP请求解析量话务模型。第17页封堵环节封堵实施环节封堵环节封堵实施环节通过这两个话务模型的应用,平均每天能够发现610个IP被发现请求异常告警。后经观察,均为短时间请求异常,未对DNS带来较大影响。当DNS的状态值超过设置阀值及防火墙状态值低于设置阀值时,即启动自动封堵机制,即对事件源IP进行封堵。封堵方式:系统通过SSH登录到DNS防火墙,将事件源IP添加到封堵策
16、略中,以实现对该IP地址的封堵。第18页保护环节防火墙过载保护设定条件研究保护环节防火墙过载保护设定条件研究保护环节:在封堵过程中,系统同时实时关注防火墙负载情况,当防火墙符合达到一定压力时,停止添加阻断策略,防止防火墙因过载导致退服风险,对防火墙及整个网络起到智能保护作用。我省系统采用的防火墙是CiscoASA5550,虽然它对策略条数无限制,但是当封堵策略中的IP数目过大时,会使防火墙的性能明显下降。当防火墙处理负载达到设定条件时,停止僵尸IP添加,防止防火墙过载退服。通过通过SSHSSH登录防火墙进行封堵登录防火墙进行封堵防火墙防火墙是否过载是否过载否否封堵封堵IPIP触发触发不做处理不
17、做处理是是过载设定:第19页还原环节解封设定条件研究还原环节解封设定条件研究还原环节:当攻击结束,DNS服务器负载逐步恢复到正常状态后,系统根据智能化策略老化机制,撤除防火墙上的阻断策略,使得整个网络运行状态恢复到攻击发生前的原始正常状态。智能还原机制:当防火墙上对应IP中标率明显下降后,通过如下两种方式进行自动老化:(1)定时老化机制:根据设定的封堵时长,能够定时将已经超过封堵时长的IP地址解除封堵。除此之外,还可以手动将未到达封堵时长的IP提前解除封堵;(2)智能老化机制:实时检测DNS防火墙运行状态,当DNS运行状态恢复正常后,按照封堵顺序,自动排序退化老化策略,结束封堵。通过通过SSH
18、SSH登录登录防火墙解除封堵防火墙解除封堵不作任何处理不作任何处理DNSDNS状态是否状态是否恢复正常恢复正常防火墙中标是否防火墙中标是否明显下降限明显下降限是是是是否否否否第20页研究背景目目 录录系统组网结构图DNS防护目标概述海量DNS请求攻击的安全防护机制DNS缓存投毒攻监测响应机制DNS域名劫持监测响应机制模拟实验情况汇报第21页DNSDNS缓存投毒攻击防护机制研究缓存投毒攻击防护机制研究l缓存投毒保护模型:在DNS递归请求时,对于发往同一个递归DNS服务器的一个请求,正常的情况只产生1个回应包。当在10秒内收到来自该IP地址的多个相同事务ID的回应包时,说明这个请求链路之间被缓存投
19、毒,系统将实时告警,并自动登陆缓存服务器进行数据清除。由于缓存数据清理后,DNS服务器通过递归重新获取该域名的IP列表,达到域名保护作用。解析解析DNS请求包请求包与回应包与回应包否否DNS域名域名缓存清理缓存清理回应包的数量回应包的数量大于大于1是是对每一请求包的对每一请求包的回应包计数回应包计数不做处理不做处理否否第22页研究背景目目 录录系统组网结构图DNS防护目标概述海量DNS请求攻击的安全防护机制研究DNS缓存投毒防护机制研究DNS域名劫持防护机制研究模拟实验情况汇报第23页l域名劫持保护模型:DNSDNS域名劫持攻击防护机制研究域名劫持攻击防护机制研究在DNS服务范围内,提取TOP
20、N热点域名和重点域名,建立第三方热点/重点域名库,以此为标准进行域名解析正确性判断,发现解析错误时,借助人工判断确定是否发生域名劫持。当解析结果判定为正确时,可同步更新域名库。当解析结果判定为错误时,系统同步告警,并按照设定自动登录DNS授权服务器修复错误的解析信息,解除域名劫持。DNS解析解析响应数据响应数据第三方重点第三方重点/热点域名库热点域名库是否匹配是否匹配否否实时告警实时告警不做处理不做处理是是人工审核人工审核错误错误正常正常更新域名库更新域名库自动登录授权自动登录授权服务器修复错服务器修复错误解析信息误解析信息第24页l钓鱼网站发现机制:疑似钓鱼网站域名缓存投毒攻击监测域名相似度
21、分析网页相似度分析人工审核DNS封堵策略老化机制 将现有系统缓存投毒和域名劫持模块所告警的域名,进行域名相似度的分析,对十分相似的域名以组的方式形成报表。 对报表内的域名,利用我公司现有的网页爬虫系统进行网页数据的爬取,并对网页进行结构和内容相似度分析。 对域名相似度和网页相似度都很高的网站加入到疑似钓鱼网站库。 再由人工拨测的方式对疑似钓鱼网站库中的网站进行审核确认,找出钓鱼网站,加入钓鱼网站库。 对存在于疑似钓鱼网站库的域名,可通过DNS服务器黑名单进行封堵,同时向客户端IP推送友情提示,进一步提高移动DNS服务的质量和美誉度。DNSDNS域名异常的后续处理机制(下一步研究方向)域名异常的
22、后续处理机制(下一步研究方向)第25页研究背景目目 录录系统组网结构图DNS防护目标概述海量DNS请求攻击的安全防护机制研究DNS缓存投毒防护机制研究DNS域名劫持防护机制研究模拟实验情况汇报第26页模拟实验情况汇报模拟实验情况汇报搭建与现网环境相同的模拟环境,采集点部署在DNS服务器前端交换机,并接入真实DNS请求数据进行实验。具体拓扑图如下:第27页实验目的:单一IP发起大流量请求,验证系统告警和阻断。实验过程:添加【监测策略管理】【DNS流量攻击】策略,如5分钟单一IP请求次数阀值30000次;测试人员利用请求工具由公网发起3万次以上包含正常域名的循环请求,系统产生单一IP请求告警;点击
23、阻断,登录防火墙查看是否存在阻断策略记录,并由攻击发起端IP确认是否可继续打开网址;点击取消阻断,登录防火墙查看是否已取消阻断,并由攻击发起端IP确认是否可打开网址。实验结果:单一IP请求次数告警点击添加阻断点击取消阻断阻断成功。模拟实验情况汇报模拟实验情况汇报第28页实验目的:单一IP错误域名请求失败告警阻断功能。实验过程:添加【监测策略管理】【DNS流量攻击】策略,如5分钟单一IP请求失败次数阀值5000次;利用请求工具由公网发起5000次以上包含错误域名的请求,系统产生单一IP失败告警;点击阻断,登录防火墙查看是否存在阻断策略记录,并由攻击发起端IP确认是否可继续打开网址;点击取消阻断,
24、登录防火墙查看是否已取消阻断,并由攻击发起端IP确认是否可打开网址。实验结果:单一IP请求失败次数告警点击添加阻断点击取消阻断阻断成功。模拟实验情况汇报模拟实验情况汇报第29页实验目的:域名访问绝对流量超过阀值告警阻断。实验过程:添加【域名流量攻击】策略,如5分钟请求次数从100到1000(即原访问数在100到1000内级别)增加到5000以上,并选择自动阻断选项为“不阻断”;通过请求工具发起5000次以上针对测试域名的循环请求,系统产生域名绝对流量告警;点击阻断,登录DNS缓存服务器查看是否存在阻断策略记录,并确认是否可继续打开网址;点击取消阻断,登录DNS缓存服务器查看是否已取消阻断策略,
25、并确认是否可打开网址。实验结果:域名绝对流量请求次数告警点击添加阻断点击取消阻断阻断成功。模拟实验情况汇报模拟实验情况汇报第30页实验目的:域名访问相对增量超过阀值告警阻断。实验过程:添加【域名流量攻击】策略,如5分钟请求次数从1000到10000增加百分之150以上(即在原访问数基础上增量超过150%)以上,并选择自动阻断选项为“不阻断”;通过请求工具发起5000次以上对测试域名的循环请求,系统产生域名相对增量告警;点击阻断,确认是否可继续打开网址;点击取消阻断,确认是否可打开网址。实验结果:域名相对增量请求次数告警点击添加阻断点击取消阻断阻断成功。模拟实验情况汇报模拟实验情况汇报第31页实验目的:实验目的: 域名解析错误告警并清除缓存功能。实验过程:实验过程: 手动在数据库中添加域名的错误IP信息,正常访问域名,系统产生域名解析错误告警; 点击清除缓存,登录DNS缓存服务器查看域名缓存是否已清除; 再次访问域名,登录DNS缓存服务器查看域名缓存已存在。实验结果:实验结果:清除缓存成功。清除缓存成功。测试前域名缓存测试前域名缓存产生告警:产生告警:点击清除缓存:点击清除缓存:模拟实验情况汇报模拟实验情况汇报第32页32结束结束谢谢大家!