zoukankan      html  css  js  c++  java
  • 网络安全内容整理三

    借我杀死庸碌的情怀,借我纵容的悲怆与哭喊。

    拒绝服务

    拒绝服务(Denial of Service,DoS):一种破坏性攻击,通常利用传输协议弱点、系统漏洞、服务漏洞对目标系统发起大规模进攻,用超出目标处理能力的海量数据包消耗可用系统资源、带宽资源等,或造成程序缓冲区溢出错误,致使其无法处理合法用户的请求,无法提供正常服务,最终致使网络服务瘫痪,甚至系统死机。

    拒绝服务攻击的类型

    1.网络带宽攻击:极大的通信量使可用的网络资源被消耗殆尽,最终导致合法用户请求无法通过
    2.连通性攻击:大量的连接请求冲击计算机,使得所有可用的系统资源被消耗殆尽,最终计算机无法处理合法用户请求
    3.滥用合理的服务请求:过度请求系统的正常服务,占用过多服务资源,致使系统超载。如执行耗时操作(数据库查询,读写文件)、消耗开放连接数等
    4.利用传输协议缺陷,构造畸形的数据包并发送,导致目标主机无法处理,出现错误或崩溃
    5.利用服务程序的漏洞,针对服务程序的特定漏洞,发送一些有针对性的特殊格式的数据,导致服务处理错误而拒绝服务

    典型拒绝服务攻击技术

    Ping of Death(死亡之Ping)

    1.ICMP报文长度固定(64KB),很多操作系统只开辟64KB的缓存区用于存放ICMP数据包,如果ICMP数据包的实际尺寸超过64KB,就产生缓存溢出,导致TCP/IP协议堆栈崩溃,造成主机重启或死机
    2.ping –l:指定发送数据包的尺寸:Ping -l 65540 192.168.xxx.xxx
    3.现在的操作系统已修补了这一漏洞

    泪滴(分片攻击,Teardrop)

    利用TCP/IP协议缺陷,首个实现攻击的程序名为Teardrop

    1.如果传输的数据无法在一个报文中传输完成,就会被分片,传送到目标主机后再到堆栈中进行重组,该过程称为“分片”
    2.为能进行数据重组,TCP首部包含——分片识别号、偏移量、数据长度、标志位,目标主机据此将各分片重组还原
    3.信息到达目的主机后在堆栈中重组,由于畸形分片的存在,会导致重组出错,错误并不仅仅是影响到重组数据,由于协议重组算法会导致内存错误,引起协议栈的崩溃

    UDP泛洪(UDP Flood)

    1.利用主机自动回复的服务(如使用UDP协议的chargen和echo)进行攻击

    • echo:回显接收到的数据包
    • chargen:收到数据包时随机反馈一些字符,用作测试

    2.一方的输出成为另一方的输入,两台主机间会形成大量的UDP数据包。当多个系统之间互相产生UDP数据包时,最终将导致整个网络瘫痪

    SYN泛洪(SYN Flood)

    1.利用TCP协议缺陷,发送大量伪造的TCP连接请求,使被攻击方资源耗尽(CPU满负荷或内存不足)
    2.利用TCP的三次握手:客户端向服务器发送SYN后突然死机或掉线,服务器在发出SYN/ACK报文后无法收到客户端的ACK报文,一般会重试3-5次,并等待一段时间(可能几分钟)后丢弃该连接。这段时间称为SYN Timeout
    3.攻击者大量伪造IP地址,服务器将为维护一个非常大的半连接而消耗非常多的资源

    4.防御:SYN泛洪较难防御,以下是几种解决方法

    • 缩短SYN Timeout时间
    • 设置SYN Cookie:给每个请求连接的IP分配一个Cookie,如果短时间内连续收到某个IP的重复SYN报文,就认定是攻击,丢弃以后来自该IP地址的包
    • 负反馈策略 :一旦SYN半连接的数量超过系统中TCP活动半连接最大连接数的设置,系统将认为受到攻击并作出反应:减短SYN Timeout时间、减少SYN-ACK的重试次数、自动对缓冲区中的报文进行延时等措施
    • 退让策略 :
      SYN Flood攻击的缺陷: 一旦攻击开始,将不会再进行域名解析
      服务器受到攻击后迅速更换IP地址,那么攻击者攻击的将是一个空的IP地址,而防御方只要将DNS解析更改到新的IP地址就能在很短的时间内恢复用户通过
      为迷惑攻击者,甚至可以放置一台“牺牲”服务器让攻击者满足于攻击的“效果” (蜜罐)
    • 分布式DNS负载均衡:将用户的请求分配到不同IP的服务器主机上
    • 防火墙:识别SYN Flood攻击所采用的攻击方法,并将攻击包阻挡在外
    Land攻击

    1.原理: 向目标发送大量的源地址和目标地址相同的包,造成目标主机解析时占用大量的系统资源,从而使网络功能完全瘫痪
    2.检测方法:判断网络数据包的源/目标地址是否相同
    3.反攻击方法:适当配置防火墙或路由器的过滤规则(入口过滤)可以防止攻击,并对攻击进行审计

    Smurf攻击

    1.将源地址设置为被攻击主机的地址,而将目的地址设置为广播地址,于是大量的ICMP echo回应包被发送给被攻击主机,使其因网络阻塞而无法提供服务
    2.不仅影响目标主机,还能影响目标主机的整个网络系统

    Fraggle攻击

    1.原理与Smurf一样,采用向广播地址发送数据包,利用广播的特性将攻击放大以使目标主机拒绝服务
    2.不同:Fraggle使用的是UDP应答消息而非ICMP

    畸形消息攻击

    1.有针对性的攻击方式,利用目标主机或特定服务的安全漏洞进行攻击
    2.操作系统上的许多服务在处理信息之前没有进行适当的错误校验,所以一旦收到畸形信息就有可能会崩溃

    Slashdot effect

    瞬间产生大量进入某网站的动作称作Slashdotting,使web服务器或其他类型的服务器由于大量的网络传输而过载

    WinNuke攻击(带外传输攻击)

    1.特征是攻击目标端口,通常是139、138、137、113、53
    2.TCP中使用带外数据(Out of Band,OOB)来传送一些比较特殊(如紧急)的数据。在紧急模式下,发送的TCP数据包包含URG标志和16位URG指针
    3.WinNuke攻击制造这种报文,但其指针字段与数据的实际位置不符,即存在重合。WINDOWS操作系统在处理这些数据时,就会崩溃
    4.特征:目标端口通常是139、138、137、113、53,而且URG位设为“1”
    5.检测方法:判断目标端口是否为139、138、137等,并判断URG位是否为“1”
    6.反攻击方法:适当配置防火墙或过滤路由器可以防止这种攻击手段(丢弃该数据包),并对攻击进行审计(记录事件发生的时间,源主机和目标主机的MAC地址和IP地址)

    分布式拒绝服务DDoS (Distributed DoS)

    1.通过控制分布在网络各处的数百甚至数万台傀儡主机(肉机),发动它们同时向攻击目标进行DoS攻击
    2.被DDoS攻击时的现象

    • 被攻击主机上有大量等待的TCP连接
    • 网络中充斥着大量的无用数据包,源地址为假
    • 制造高流量无用数据,造成网络拥塞,使受害主机无法正常和外界通讯
    • 利用受害主机提供的服务或传输协议的缺陷,反复高速发出特定的服务请求,使受害主机无法及时处理正常请求
    • 严重时会造成系统死机
    • DDoS攻击期间,用户发出正常的页面请求,请求会完全失败,或者页面下载速度极其缓慢,看起来就是站点无法使用

    3.DDoS的工具:Trinoo,TFN2K,Stacheldraht
    4.防御的困难之处——不容易定位攻击者

    • Internet上绝大多数网络都不限制源地址,即伪造源地址非常容易
    • 很难溯源找到攻击控制端的位置
    • 各种反射式攻击,无法定位源攻击者

    拒绝服务攻击的防御

    1.DoS的防御方法:

    • 有效完善的设计
    • 带宽限制:限制基于协议的带宽。例如,端口25只能使用25%的带宽,端口80只能使用50%的带宽
    • 及时给系统安装补丁
    • 运行尽可能少的服务
    • 只允许必要的通信
    • 封锁敌意IP地址

    2.分布式拒绝服务攻击的监测

    • 监测DDoS时常犯的错误是只搜索那些DDoS工具的缺省特征字符串、缺省端口、缺省口令等
    • 还应着重观察分析DDoS的普遍特征:异常的网络通信流量

    3.分布式拒绝服务攻击的防御

    • 优化网络和路由结构: 提供的服务不仅要有多条与Internet的连接,而且最好有不同地理区域的连接。服务器IP地址越分散,攻击者定位目标的难度就越大,当问题发生时,所有通信可以被重新路由,可以大大降低其影响
    • 保护网络及主机系统安全
    • 安装入侵检测系统
    • 与ISP服务商合作: DDoS非常重要的特点是泛洪般的网络流量,单凭自己管理网络无法对付这些攻击。当受到攻击时与ISP协商,确定发起攻击的IP地址,请求ISP实施正确的路由访问控制策略,封锁来自敌意IP地址的数据包,减轻网络负担,保护带宽和内部网络
    • 使用扫描工具:一些专业工具或大多数商业的漏洞扫描程序都能检测到系统是否被用作DDoS服务器,如Find_DDoS,SARA,DDoSPing v2.0, RID
    感谢阅读,如有问题,请批评指正,谢谢。
  • 相关阅读:
    Mac OS X 10.9 Mavericks 无法启动 WebStorm(PhpStorm)
    JavaScript怎么上传图片
    lazyload support for Zepto.js
    JavaScript的函数
    配置SQLServer(2)——32位和64位系统中的内存配置
    配置SQLServer(1)——为SQLServer配置更多的处理器
    学习使用Word2013向博客园发布随笔
    Kernel与用户进程通信
    IPv6 Ready Logo测试环境搭建
    前端必备的切图技巧
  • 原文地址:https://www.cnblogs.com/clwsec/p/15679709.html
Copyright © 2011-2022 走看看