《Java安全编码标准》一1.5 拒绝服务

1.5 拒绝服务

拒绝服务攻击试图使计算机的资源不可获得,或者对需要使用该计算机资源的用户来说,会造成资源不足的情况。通常这种攻击是持续服务的服务器系统需要重点关注的,它与桌面应用程序有很大区别;然而,拒绝服务的问题可以出现在所有类别的应用上。

1.5.1 资源耗尽型的拒绝服务

拒绝服务可能出现在,相对于输入数据需要的资源消耗来说,使用比例上更为巨大的资源。通过客户端软件检查资源是否被过度消耗,并希望用户来处理与资源相关的问题是不合理的。但是,存在这样的客户端软件,它们可以检查那些可能会导致持久拒绝服务的输入,比如将文件系统进行填充的操作。
《Java安全编码指南》(Secure Coding Guidelines for the Java Programming Language)[SCG 2009]中列举了可能的攻击的例子:
请求一个大的矢量图片,如SVG文件或者字体文件。
“Zip炸弹”(Zip bomb)那些如ZIP、GIF或那些经过gzip编码的HTML内容,会因为解压而消耗大量的资源。
“XML解析炸弹”,在解析的时候,在扩展XML所包含的实体时,有可能会使得XML文档急剧增长。可以通过设置XMLConstants.FEATURE_SECURE_PROCESSING功能并设置合理的限度值解决前面的问题。
过度使用的磁盘空间。
在一个散列表中插入了多个密钥,而这些密钥使用相同的散列码。这样会导致最差的性能(O(n2))而不是平均性能(O(n))。
发起许多连接,服务器为每个连接分配大量的资源(例如传统的洪水攻击)。
针对拒绝服务攻击并防止出现资源耗尽的规则,有以下几点:
image
image

1.5.2 与并发相关的拒绝服务

某些拒绝服务攻击是通过试图引入并发问题来实现的,如线程死锁、线程饥饿和竞态。
针对拒绝服务攻击并防止出现并发问题的规则,有以下几点:
image

1.5.3 其他的拒绝服务攻击

其他预防拒绝服务攻击的规则如下:
image

1.5.4 拒绝服务的前提

其他的规则会处理安全漏洞,这些安全漏洞会导致拒绝服务攻击,但它们自己并不足以导致拒绝服务:
image

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值