拒绝服务攻击(Denial of Service)
可用性(负载均衡、过滤、缓存等)
处理过程拒绝服务攻击
发起大量请求,消耗系统资源
-
攻击者是否可能在短时间内发起大量的交互请求,从而消耗应用的资源?
-
攻击者有没有可能在有限的交互中发起大量的资源请求,从而消耗应用的资源?
-
业务资源是否存在被滥用的场景?
-
网络设备中,从用户面上送控制面/管理面处理的流量是否做了流量控制(CAR)?
输入畸形数据,导致系统崩溃,无法对外提供服务
校验内容
-
是否所有输入信息在未验证前都默认为恶意数据?是否考虑格式、长度、大小、类型和范围的校验?
-
跨越信任边界的通信消息容易遭受畸形报文攻击。是否对这些消息所定义的所有字段做了校验?产品测试过程中是否对这些消息做了Fuzzing测试?
校验处理策略
-
输入校验是在客户端做的吗?服务端会重新做校验吗?
-
输入校验使用白名单还是黑名单?
-
是否支持集中式输入校验?
构造特殊请求,触发系统死锁条件,造成拒绝服务
-
对于系统已有的锁定机制(比如多次认证失败的锁定机制),是否设置合适的解锁机制、恢复机制以防止恶意利用?
-
系统是否使用了安全证书(SSL证书等),证书过期后系统是怎么处理的,是否会导致拒绝服务?
-
若服务因死锁或异常终止时,是否有可自动恢复服务的措施?
-
系统的license控制策略是怎样的?攻击者能否消耗license授权?License是怎样对有效时间进行控制的?License过期是否会导致拒绝服务?
数据流拒绝服务攻击
消耗链路带宽
-
网络带宽是否充足?是否为重要业务预留了足够的带宽?
-
是否传送海量数据?海量数据的传输是否考虑选择链路闲时传输?
-
网络设备中,从用户面上送控制面/管理面处理的流量是否做了流量控制(CAR)?
中断传输链路
-
物理链路是否可被切断?是否需要备份链路?
-
是否可通过发送控制消息中断逻辑链路?
数据存储拒绝服务攻击
构造垃圾数据占用存储空间
- 存储空间满是怎么处理的?对于重要的数据是否单独配置了配额,以防止被其他数据覆盖?
破坏存储介质
- 是否有机制保护数据存储的物理破坏?
篡改数据,使数据内容不可用
-
有无密钥备份恢复机制?
-
对于重要的数据,是否考虑了备份?备份和恢复机制是怎样的?