资源描述
2013 绿盟科技DOS攻击与防护目录2 知己知彼DOS攻击详解与防护1 简单探索DOS的分类和简介3 居家旅行必备抓包分析简单探索DOS分类和简介 DOS攻击和防护 DOS攻击在众多的网络攻击技术中是一种简单有效并且具有很大危害性的攻击方法 目的特点:通过各种手段消耗网络带宽和系统资源 攻击系统缺陷,使正常系统的正常服务陷于瘫痪状态 DDOS攻击是基于DOS攻击的一种特殊形式 攻击者将多台受控制的计算机联合起来向目标计算机发起DOS攻击 特点 大规模协作的攻击方式 对象 比较大的商业站点,具有较大的破坏性DDoS 类型的划分 应用层垃圾邮件、病毒邮件DNS Flood 网络层SYN Flood、ICMP Flood伪造 链路层ARP 伪造报文 物理层直接线路破坏电磁干扰攻击类型划分II 堆栈突破型(利用主机/设备漏洞)远程溢出拒绝服务攻击 网络流量型(利用网络通讯协议)SYN Flood ACK Flood ICMP Flood UDP Flood、UDP DNS Query Flood Connection Flood HTTP Get Flood攻击类型划分I我没发过请求DDoS攻击介绍SYN FloodSYN_RECV状态半开连接队列 遍历,消耗CPU和内存 SYN|ACK 重试 SYN Timeout:30秒2分钟无暇理睬正常的连接请求拒绝服务SYN(我可以连接吗?)ACK(可以)/SYN(请确认!)攻击者受害者伪造地址进行SYN 请求为何还没回应就是让你白等不能建立正常的连接!SYN Flood 攻击原理攻击表象DDoS攻击介绍ACK Flood大量ACK冲击服务器受害者资源消耗 查表 回应ACK/RSTACK Flood流量要较大才会对服务器造成影响ACK(你得查查我连过你没)攻击者受害者查查看表内有没有你就慢慢查吧ACK Flood 攻击原理攻击表象ACK/RST(我没有连过你呀)攻击者受害者大量tcp connect这么多?不能建立正常的连接DDoS攻击介绍Connection Flood正常tcp connect正常用户正常tcp connect攻击表象正常tcp connect正常tcp connect正常tcp connect正常tcp connect 利用真实 IP 地址(代理服务器、广告页面)在服务器上建立大量连接 服务器上残余连接(WAIT状态)过多,效率降低,甚至资源耗尽,无法响应 蠕虫传播过程中会出现大量源IP地址相同的包,对于 TCP 蠕虫则表现为大范围扫描行为 消耗骨干设备的资源,如防火墙的连接数Connection Flood 攻击原理攻击者受害者(Web Server)正常HTTP Get请求不能建立正常的连接DDoS攻击介绍HTTP Get Flood正常HTTP Get Flood正常用户正常HTTP Get Flood攻击表象利用代理服务器向受害者发起大量HTTP Get请求主要请求动态页面,涉及到数据库访问操作数据库负载以及数据库连接池负载极高,无法响应正常请求正常HTTP Get Flood正常HTTP Get Flood正常HTTP Get Flood正常HTTP Get Flood正常HTTP Get Flood受害者(DB Server)DB连接池用完啦!DB连接池占用占用占用HTTP Get Flood 攻击原理知己知彼DOS攻击详解与防护TCP数据包格式客户端向服务器发送包含初始序列值的数据段,开启通信会话TCP/IP三次握手 服务器发送包含确认值的数据段,其值等于收到的序列值加1,并加上其自身的同步序列值。该值比序列号大 1,因为ACK 总是下一个预期字节或二进制八位数。通过此确认值,客户端可以将响应和上一次发送到服务器的数据段联接起来TCP/IP三次握手发送带确认值的客户端响应,其值等于接受的序列值加1TCP/IP三次握手SYN FloodTCP客户端客户端端口(103465535)TCP服务器端服务器端口(11023熟知端口)SYNACKSYN/ACK123.SYNSYN Cookie/SYN Proxy防护synsyn/ackackClientServerADSSynsyn/ackackack1ack2SynCookie存在的问题代理的性能反向探测量数量=攻击包数量,上行带宽堵死Safereset防护synsyn/ack(特殊的)ResetClientServerADSSynsyn/ackackack1加入信任客户端再次自动发起SYN的时间3-6秒ACK Flood发送大量的 ACK 包冲击设备服务器回应 ACK/RST 包,消耗资源正常连接ack包承载数据传输,容易误判带宽阻塞连接建立TCP客户端TCP服务器端数据DATAACK12数据传输ACK-FLood普通算法ackClientServerADS断开连接synSYN防御算法l存在的问题-会话中断1次Synsyn/ackackack1ACK-FLood高级防御算法ackClientServerADS加入信任ack1进入防御状态查无此人synSYN防御算法l存在的问题-攻击开始后启用无效-必须攻击开始前进行学习ACK-FLood攻击Client具备信任ackTCP客户端UDP FloodTCP服务器端UDP1IP:随机流量:大包:小包UDP,无连接状态的防御1、限速2、报文内容特征-模式匹配3、IP特征ACL4、随机丢包ICMP Flood 的攻击原理和ACK Flood原理类似,属于流量型的攻击方式,也是利用大的流量给服务器带来较大的负载,影响服务器的正常服务。由于目前很多防火墙直接过滤ICMP报文,因此ICMP Flood出现的频度较低。防护:其防御也很简单,直接过滤ICMP报文。ICMP Flood连接耗尽攻击TCP客户端客户端端口(103465535)TCP服务器端服务器端口(11023)ESTABLISHEDESTABLISHEDESTABLISHEDTime:long long long.连接耗尽防护1、限制每一个源IP的连接数量,对肉鸡群无效2、对恶意连接的IP进行封禁。3、主动清除残余连接。4、可以对特定的URL进行防护。HTTP GET FloodTCP客户端客户端端口(103465535)TCP服务器端调用数据库页面ESTABLISHEDESTABLISHEDESTABLISHED.MSSQLMYSQLORACLE肉鸡Http get可三次握手代理服务器发起图形验证码防护脚本解析防护智力型名称描述防御Slowloris极低的速录往服务器发送HTTP请求。由于Web Server对于并发的连接数都有一定的上限,因此若是恶意地占用住这些连接不释放,那么Web Server的所有连接都将被恶意连接占用,从而无法接受新的连接,导致拒绝服务限制连接数:比如在APACHE中由MaxClients的值定义。HTTP POST DOS类似Slowloris,指定Content-Length的值。限制连接数Server Limit DOSCookie过长造成的拒绝服务调整Apache配置参数LimitRequestFieldSize面对DDOS攻击的策略方法 流量分析方法流量数据所含有的信息:空间信息:地域,IP地址,AS号,时间信息:时间片,时间段(时间片整数倍)时,日,月,年技术指标信息:应用类型,TCP-flag,ToS,包大小三种信息构成三个维度数据分析数据分析 就是将流量数据分割成一个一个数据立方,从不同的视角透视数据立方,得出在指定的时间或空间范围内,技术指标数据对不同维度的分布。流量分析的方法论流量分析的方法论流量分析的方法论流量分析的方法论基于流技术的流量分析的有效性探讨:大流量环境下,分析7层数据很难满足性能要求流技术提供的信息虽然粗糙,但可以用于效率较高的“初筛”“初筛”与“特异性检验”结合是未来的发展趋势时间信息对于检测异常流量,流数据所提供的信息是足够,通过统计的方法可以快速的发现异常流量。由于流数据中还包含一些镜像/分光数据所没有的信息,如路由信息、自治域信息、物理端口信息,这些信息对分析流量的地域分布。有的用户对信息内容的保密非常重视,镜像/分光数据容易有可能造成信息泄漏。NetFlow定义由由7 7个独立关键字定义个独立关键字定义:源 IP 地址目的 IP 地址源端口目的端口第三层协议类型TOS 字节(DSCP)输入逻辑端口(端口索引号)输出数据输出数据NetFlow的生成1.Create and update flows in NetFlow Cache Inactive timer expired(15 sec is default)Active timer expired(30 min(1800 sec)is default)NetFlow cache is full(oldest flows are expired)RST or FIN TCP FlagHeaderExportPacketPayload(30-50 flows)2.Expiration3.Aggregation?Protocol PktsSrcPort DstPort Bytes/Pkt1111000 00A200A21528SrcIfSrcIPaddDstIfDstIPaddProtocol TOS Flgs PktsSrcPort SrcMsk SrcAS DstPort DstMsk DstAS NextHopBytes/Pkt ActiveIdleFa1/0 173.100.21.2 Fa0/0 10.0.227.12 11801011000 00A2/24500A2/241510.0.23.2 152818004e.g.Protocol-Port Aggregation Scheme becomes4.Export VersionYesNoAggregated Flows export Version 8 or 9Non-Aggregated Flows export Version 5 or 95.Transport Protocoll流量数据所含有的信息流量数据所含有的信息:空间信息:地域空间,IP地址空间,AS号空间,时间信息:时间片,时间段(时间片整数倍)时,日,月,年技术指标信息:应用类型,TCP-flag,ToS,包大小l三种信息构成三个维度:三种信息构成三个维度:空间空间、时间时间、业务业务l流量流向定义流量流向定义上行下行:有绝对坐标发送接收:相对自身坐标l流量分析的定义:流量分析的定义:流量分析就是在指定的时空范围内,计算流量数据对不同维度的统计分布。流量分析的方法论专网用户关注专网用户关注运营商关注运营商关注网络异常流量的分类网络层网络层DDoSP2P下载下载蠕虫传播蠕虫传播应用层应用层DDoS用户自定义用户自定义控制层攻击控制层攻击二层攻击二层攻击异常流量检测方法异常流量检测方法基线阈值法基线阈值法(统计异常检测法)统计异常检测法)检测指标的选定检测指标的选定基线算法基线算法实际测量值与基线对比(阈值为允许浮动的范围)实际测量值与基线对比(阈值为允许浮动的范围)特征匹配法特征匹配法基于机器学习的异常检测方法基于机器学习的异常检测方法基于基于数据挖掘数据挖掘的异常检测法(本质上也是一种统计方法)的异常检测法(本质上也是一种统计方法)基于神经网络的异常检测法基于神经网络的异常检测法异常流量监测异常流量检测的方法论 异常检测的方法:对每个检测指标生成动态基线 实时计算检测指标的实际值 将实际值与基线值进行比对,判断是否超过阈值,超过则认为存在异常异常流量检测指标:异常流量检测指标:网络层网络层DDoSDDoS的检测指标的检测指标 异常种类异常种类检测指标(统计方法)检测指标(统计方法)SYN FloodTCP-Flag=SYN,包个数=1ICMP Flood协议号=0,目的端口=0,流量占比ICMP 请求响应比UDP Flood协议号=6,流量占比协议号=6,流入流出流量比Stream FloodTCP-Flag=ACK,ToS=0 x08,协议号=17,总流量TCP-flag NullTCP-Flag=0,总流量PSH&ACK 攻击TCP-Flag=PSH&ACKIGMP Flood协议号=2,目的端口=0,Reset FloodTCP-Flag=RST,包个数=1Connection Flood单位时间内TCP 连接数目的变化其它TCP-Flag异常有些文献上提出有9种左右的TCP-Flag异常空链接攻击源地址=目的地址,TCP-Flag=SYN伪造源地址或端口扫描源地址的随机度(分散度)突然增加,IP地址的个数突然增多异常流量监测应用层应用层DDoSDDoS的检测指标及的检测指标及 蠕虫传播及某些行为异常的检测指标蠕虫传播及某些行为异常的检测指标 异常种类异常种类检测指标(统计方法)检测指标(统计方法)DNS Query FloodDNS Query Flood协议号协议号=6=6或或17 17 端口号端口号=53=53HTTP Get FloodHTTP Get Flood目的端口号目的端口号=80=80,80008000,80808080,449449,平均每个流所含包数,平均每个流所含包数异常名称异常名称检测方法检测方法Code Red 目的端口目的端口=80,协议类型协议类型=TCP,包数,包数=3,字节数,字节数=144,总字节和总包数,总字节和总包数硬盘杀手硬盘杀手目的端口目的端口=137,协议类型,协议类型=UDP,字节数,字节数=78,总字节和总包数,总字节和总包数2003蠕虫王蠕虫王目的端口目的端口=1434,协议类型,协议类型=UDP,字节数,字节数=404,总字节和总包数,总字节和总包数冲击波冲击波目的端口目的端口=135,协议类型,协议类型=TCP,字节数,字节数=48,总字节和总包数,总字节和总包数冲击波杀手冲击波杀手目的端口目的端口=2048,协议类型,协议类型=ICMP,字节数,字节数=92,总字节和总包数,总字节和总包数振荡波振荡波目的端口目的端口=445,协议类型,协议类型=TCP,字节数,字节数=48,总字节和总包数,总字节和总包数蠕虫传播蠕虫传播外网地址频繁访问内网地址的外网地址频繁访问内网地址的NetBIOS端口(端口(TCP和和UDP port 137,138,139,445)目的目的IP和目的端口突然增加,且包数和字节数分别相同和目的端口突然增加,且包数和字节数分别相同异常行为异常行为telnetsshrlogin 的源、目的地址相隔很远的源、目的地址相隔很远异常数据包异常数据包目的端口目的端口=23、53,包大小包大小1000Byte 伪造源地址伪造源地址源地址源地址黑黑IP地址空间地址空间异常流量监测基线算法基线算法固定基线固定基线动态基线动态基线周期性基线周期性基线单周期轮廓线单周期轮廓线由同一时点的一组历史数据值计算得来由同一时点的一组历史数据值计算得来常用算法:算术平均、加权平均、置信区间、混合算法常用算法:算术平均、加权平均、置信区间、混合算法非周期性线(非周期性线(移动窗口基线)由历史数据计算得来由历史数据计算得来由一组时点连续历史数据计算得来由一组时点连续历史数据计算得来常用算法同上常用算法同上基线的刷新基线的刷新一个新的实际测量值如果没有超过有效范围,则取代那组历史数据中最陈旧的一个,用来一个新的实际测量值如果没有超过有效范围,则取代那组历史数据中最陈旧的一个,用来计算新的轮廓值。计算新的轮廓值。超过有效范围,则被丢弃,不参与新轮廓线计算超过有效范围,则被丢弃,不参与新轮廓线计算14.33.55.66.14.22.93.24.55.16.722.52.85.35.66.22.82.93.16.87.334.93.86.67.35.62.95.33.65.95.344.54.95.62.95.62.96.14.22.92.553.14.72.85.35.66.23.65.95.32.962.85.33.42.52.85.35.65.62.95.375.33.84.15.65.62.93.55.66.12.9.4.33.55.66.14.22.93.24.55.16.75.62.95.62.96.14.22.92.93.5.移动时间窗口移动时间窗口异常流量监测检测指标与适用的基线检测指标与适用的基线检测指标检测指标 定义定义适用基线的指标适用基线的指标固定基线固定基线周期性基线周期性基线 非周期性基线非周期性基线流量相关型只有检测指标测量值达到相当大的时候才会触发告警,若指标值相对较小,则不告警。无总流量、Web应用流量、协议比例各种泛洪攻击次数相关型即使检测指标测量值没有达到很大流量,但是已经累积了一定次数,仍然要告警。ICMP请求/应答比、蠕虫传播、端口扫描、P2P通讯无异常流量监测流量分析的技术架构Core NetworkEnable NetFlowTraffic采集和分析器采集和分析器UDP NetFlowExport Packets用户界面用户界面Router流量清洗工作原理企业用户企业用户流量限速源、目的地源、目的地址检查址检查/验证验证协议合法性协议合法性检查检查四到七层特四到七层特定攻击防护定攻击防护用户行为异用户行为异常检查和处常检查和处理理流量清洗中心流量清洗中心交付已过滤的内交付已过滤的内容容Internet城域网特定应用防护协议栈行为分析用户行为模式分析动态指纹识别反欺骗动态检查和动态检查和生成攻击指生成攻击指纹并匹配攻纹并匹配攻击数据击数据未知可疑流未知可疑流量限速量限速操作1、查看流量大小 流量是否超过处理能力,链路带宽2、抓包,ADS可以抓取接受、丢弃、发送的报文 粗略判断ADS的清洗动作3、根据抓包,判断是否可进行ACL动作 优化防护效果4、根据抓包,判断是否可进行模式匹配动作 对抗肉鸡的有效手段,模式匹配并启用黑名单并中断连接5、查看ADS日志(结合抓包),再次判断ADS的清洗行为6、查看业务状态,TCP7、调整防护策略时,不要影响其他未被攻击的IP居家旅行必备抓包分析 分析报文简要信息 拿到报文,首先从Wireshark中查看报文的简要特征,如图3.9所示。点击Wireshark中“statistics”“Summary。从上图我们可以得到以下重要信息:平均每秒报文数量 平均报文长度 流量大小抓包分析技术 在这里,假设A客户的业务主要为web,带宽为2M,而现在抓包分析了解到目前A客户的流量大小为5.6M,且每秒上万个报文,则该客户遭到了DDoS攻击。分析报文分布特征:抓包分析技术如下图所示,进入“statistics”“Endpoints”,抓包分析技术 点击“IPv4”,可以观察到报文的分布情况,了解top流量的来源。在这里,可以看出流量分布均匀,且存在如“3.106.242.34”较“突出”的IP地址,使用攻击工具攻击的可能性较大。若流量分布不均匀,且排名靠前的几个源IP流量较大,可以考虑使用“访问控制策略”进行过滤分析报文详细内容:抓包分析技术为了避免无效的分析,通常从可疑的IP,怀疑的动作进行过滤分析,可在Wireshark中输入过滤,点击“Filter”,选择过滤的选项,从而进行过滤,缩小分析范围,如下所示抓包分析技术抓包分析技术此时再可以再次点击“statistics”“summary”,查看该过滤内容所占抓取报文的比例情况,如下图所示抓包分析技术在这里,100%都是tcp.port=8080|udp.port=8080的报文,可以得知该攻击主要针对web业务端口的攻击。从报文的内容还可以得知,绝大部分都是SYN的攻击,所以主要调整A用户所在防护群组中SYN Flood的防护参数。”。步骤走马观花,寻找疑点量变到质变ACK Flood深入分析 加强防护效果:深入报文分析,使用模式匹配或ACL过滤 使用模式匹配的关键在于找到攻击包的典型特征 使用ACL过滤的关键在于找到流量最大的几个攻击IP谢谢
展开阅读全文