应用层拒绝服务攻击
作者:互联网
DDOS简介 (Distributed Denial of Service)
常见DDOS攻击
- SYN flood
- 利用TCP协议设计缺陷
- UDP flood
- ICMP flood
SYN flood
过程
- 首先伪造大量的源IP地址, 分别向服务器端发送大量的SYN包
- 服务器返回SYN/ACK包
- 因为原地址是伪造的, 所以伪造的IP并不会应答
- 服务器端没有收到伪造IP的回应, 会重试3~5次并等待一个SYN time(一般为30秒至2分钟)
- 如果超时则丢弃这个连接.
攻击者大量发送这种伪造源地址的SYN请求,服务器端将会消耗非常多的资源(CPU和内存)来处理这种半链接, 同时还要不断对这些IP进行SYN+ACK重试. 最后的结果是服务器无暇理财正常的连接请求, 导致拒绝服务.
对抗措施
- SYN Cookie/SYN Proxy
- 为每个IP地址分配一个"Cookie", 并统计每个IP地址的访问频率.
- safereset
一般来说, 大型网站之所以看起来比较能"抗"DDOS攻击, 是因为大型网站的带宽比较充足, 集群内服务器的数量比较多.
应用层的DDOS
CC攻击(Challenge Collapasar)
- 对一些消耗资源比较大的应用页面不断的发起正常的请求, 以达到消耗服务端资源的目的.
- 入侵一个流量很大的网站后, 通过篡改页面, 将巨大的用户流量分流到目标网站.
解决方法
限制请求频率, 通过IP地址与Cookie定位一个客户端. 但是, IP地址和Cookie动态变化导致失效.
- 应用代码做好性能优化:
- 合理是使用memcache,将数据库的压力尽可能转移到内存中;
- 及时释放资源, 比如及时关闭数据库连接, 减少空连接等消耗.
- 网络架构做好优化:
- 利用负载均衡分流, 避免用户流量集中在单台服务器上;
- 充分利用CDN和镜像站点的分流,缓解主站的压力.
- 实现一些对抗手段, 比如限制每个IP地址的请求频率.
验证码
验证码设计初衷是为了识别人与机器. 但是验证码如果设计的过于复杂, 那么人也很难辨识出来, 所以验证码是一把双刃剑.
有验证码就有验证码破解技术. 除了利用图像相关算法识别验证码之外, 还可以利用Web实现上可能存在的漏洞破解验证码.
- 验证码消耗掉以后SessionID未更新, 导致使用原有SessionID可以一直重复提交同一个验证码.
- 提前生成所有的验证码, 攻击者使用彩虹表.
- 图像相关算法破解.
资源耗尽攻击
#####Slowloris攻击
原理: 以极低的速度网服务器发送HTTP请求, 恶意占用链接不释放, Web Server的所有链接都将被恶意链接占用, 从而无法接受新的请求, 导致决绝服务.
要保持住这个链接, RSnake构造了一个畸形的HTTP请求, 准确地说, 是一个不完整的HTTP请求.
Content-Length: 42\r\n
正常的HTTP包投中, 是以两个CLRF表示HTTP Headers部分结束. 由于Web Server只收到了一个\r\n, 因此将认为HTTP Headers部分没有结束, 并保持此链接不释放, 继续等待完整的请求. 此时客户端再发送任意HTTP头, 保持住链接即可. 当构造多个连接后, 服务器的连接数很快就会达到上限.
本质: 对有限资源的无限制滥用.
HTTP POST DOS
原理: 发送HTTP POST包时, 指定一个非常大的Content-Length值, 然后以很低的速度发包, 比如10~100秒发一个字节, 保持这个链接不断开.
解决: Web应用方法强或者一个定制的WebServer安全模块.
Server Limit DOS
Cookie也能造成一种拒绝服务.
ReDOS(正则)
互联网业务安全
账户是如何被盗的
途径
- 网站某登录入口可以被暴力破解:
- D(3)+R(3)+E(3)+A(3)+D(3)=15
- 网站密码取回流程存在漏洞:
- D(3)+R(3)+E(3)+A(3)+D(2)=14
- 网站登录过程中无HTTPS, 密码在网络中被嗅探:
- D(3)+R(3)+E(3)+A(1)+D(3)=13
- 网站存在SQL注入等服务器漏洞, 网站被黑客入侵导致用户账户信息泄露:
- D(3)+R(3)+E(2)+A(3)+D(1)=12
- 用户被钓鱼网站所迷惑, 密码被钓鱼网站所骗取:
- D(3)+R(1)+E(3)+A(2)+D(3)=12
- 网站存在XSS等客户端脚本漏洞, 用户账户被简介窃取.
- D(3)+R(2)+E(2)+A(2)+D(2)=11
- 用户电脑中了木马, 密码被键盘记录软件所捕获:
- D(3)+R(1)+E(2)+A(1)+D(1)=8
用户登录时的安全 > 网站实现上的安全漏洞 > 用户使用环境安全
#####被盗原因分析
- 首先, 客服是最重要和直接的渠道.
- 大胆假设, 小心求证.
- 其次, 从日志中寻找证据.
- 最后, 打入敌人内部, 探听最新动态.
互联网的垃圾
垃圾的危害
- 垃圾注册几乎成为一切业务安全问题的源头.
- 发广告
- 宣传政治观点
- 诈骗
垃圾处理
- 识别
- 拦截
- 根据业务决定
优秀的垃圾识别算法
- 基于内容的规则: 以自然语言分析、关键词匹配等为代表.
- 基于行为的规则: 以业务逻辑规则为代表.
- 基于客户端识别的规则: 以人机识别为代表, 比如验证码, 或者让客户端去解析JavaScript.
拦截上也要讲究策略和战术, 避免规则见光死.
标签:拒绝服务,HTTP,请求,攻击,SYN,验证码,网站,IP地址,应用层 来源: https://blog.csdn.net/woniu317/article/details/113320744