拒绝钱包攻击(Denial of Wallet),一种针对云服务的攻击

拒绝钱包攻击(Denial of Wallet)是一种针对云服务的攻击,它属于拒绝服务器攻击(Denial of Service)中的一种。拒绝钱包攻击利用云服务的弹性伸缩特性,不断地消耗云服务器的资源,从而提高受害者的预算和成本。

弹性伸缩

拒绝服务器攻击(Denial of Service),一般通过发动密集的请求来消耗目标主机的资源,使主机无法为正常用户服务。

而在云服务中,主机的性能和网络资源可以弹性伸缩,当业务高峰期(例如双十一、秒杀等)到来时,系统可以自动分配更多的计算资源,从而为更多用户提供服务。

向云服务发动密集攻击通常不能使主机停止服务,或者攻击成本大幅提高。

拒绝钱包攻击

通常云服务是按需收费,使用越多计算资源,则费用也相应增加。

拒绝钱包攻击正是利用云服务的按需收费和弹性伸缩机制,不断地消耗云服务的计算资源,从而提高被攻击者的云服务器费用。
如果攻击规模大、持续时间长,被攻击者的预算将被耗尽,云服务商将会关闭应用程序,从而攻击者可以达到“拒绝服务”的目的。

案例

公司购买了某云服务商的CDN服务,并向云服务帐户充值了100元用于流量费用,大约能使用100GB流量,预计能够使用一个月。
恶意攻击者通过发起密集请求通过CDN下载网站上的内容,迅速将100GB流量消耗殆尽。
另一边,云服务帐户中的100元也随之被扣完且进入欠费状态,CDN服务被中止,公司网站无法访问。

攻击的防范

攻击的防范可以通过两个方面:

  1. 识别并阻断恶意请求:例如通过屏蔽国外IP、分析用户行为识别出机器人并屏蔽等等。
  2. 限制访问速率:例如限制每个IP每秒钟的请求数(QPS),能够在一定程度上减轻攻击的效果。