0X00前言
我们正步入云计算的时代,虚拟服务器和存储空间等资源,通常是通过编写部署脚本方式配置。虽然,这些资源几乎是随时可以启用的,但是在不再需要时删除它们并不那么容易。如果仅仅删除云资源,并没有删除所有可能指向配置的记录,无论是在配置文件还是在程序代码中,都会为攻击者提供相当便捷的"后门"。
0X01云占用攻击介绍
云安全的风险、威胁和挑战:风险是指数据丢失或弱点被攻击的可能性;威胁是一种攻击手段或攻击者;挑战是组织在实施或使用云安全方面遇到的阻碍。而我们要了解的云抢注攻击是指删除不需要的云资源但不删除指向它们的记录可能会使攻击者利用您的子域名。
云抢注攻击就属于配置错误的风险:随着云计算的发展,云提供商会添加新的服务,并且许多公司会同时使用多个供应商的配置(不同供应商有不同的默认配置每个服务都有细微的差别);云抢注攻击就遭受网络攻击的威胁:网络攻击是黑客或攻击者为了更改、窃取、破坏或暴露信息试图访问计算机网络或系统;云抢注攻击就面临缺乏云安全策略和技能的挑战:对于传统的数据中心安全模型是不是用于云环境下的,云安全管理员必须掌握用于云环境下的特定策略和技能。
0X02云占用案例
有这样一个情景:客户需要企业支持,举办一次特殊的假日活动,企业给出的方案是创建一个微网站来托管所有的促销页面、注册表单等等。企业的开发人员开始码代码,设计了网站,并且在阿里云(或任何云计算服务)上配置了一个新的虚拟服务器来托管这个微网站以及一个存储桶来存储该网站的数据。阿里云(即云服务提供商)会从可重用IP地址池中为网站的EC2实例分配一个公共可访问的IP地址,并为存储桶分配一个主机名,该主机名位于他们的域下,以便客户可以通过API访问它。用户通过搜索引擎访问企业开发的网站时,对其进行索引。因此它会在在客户的主域名上为其创建一个子域,并将其指向IP地址,以便可以从子域名访问Web服务器。客户为S3存储桶创建一个子域和一个DNS记录,将其指向存储桶的阿里云主机名。如果客户还有一个手机APP也会将数据发送到此网站,因此主机名也出现在应用程序的代码当中。
客户已经在不同位置创建了指向基本上是临时云资源的多个记录。如果客户在活动结束后删除这些资。但是,客户忘记删除企业开发人员和企业运营工程师为它们创建的记录,这就会产生了巨大的风险。这个时候攻击者可以利用客户的子域进行钓鱼网站等恶意活动。例如:攻击者可以从阿里云获得相同的IP地址,因为该地址可能是空闲的,客户的子域指向该地址。因此攻击者可以创建一个钓鱼网站或者注册一个具有相同名称的S3存储桶(攻击者通过在客户的应用程序代码中找到配置信息后,可以获取存储桶发送敏感数据)。这是DefCamp安全会议上提出的云安全场景,这种攻击被人们称为称为“云抢注”。它不仅仅是利用DNS记录。如果关闭帐户出现失误,就会容易出现云抢注的问题。
经过云安全研究人员的进一步研究,云抢注的原因可能来自第三方软件组件。Checkmarx的研究人员发布了研究文章。文章提到攻击者会不间断的扫描攻击目标的软件包,来查找S3存储桶的引用。如果攻击者发现不再存在的存储桶,攻击者就会立刻注册。
众所周知,软件包的开发者通常会选择使用S3存储桶来存储在软件包安装过程中下载和执行的预编译二进制文件。这个时候,如果攻击者重新注册这些废弃的存储桶,就可以通过信任的软件安装包用户的系统上执行远程攻击代码。类似的例子有很多,今年早些时候,Aqua Security的研究人员展示了已被删除或重命名的GitHub存储库可以被攻击者重新注册的情况。如果应用程序或文档仍然指向它们,它们可以用来提供恶意软件。研究人员将此攻击称为RepoJacking。
0X03云占用解决方案
云抢注的攻击面非常广大,所以企业的防御工作非常严峻,越早开始,越不容易受到攻击。在云安全里IP重用和DNS场景似乎是司空见惯的。我可以通过多种方式避免云抢注产生的风险。如下例所示:
建议用户使用云提供商的保留IP地址;
建议用户将自己的IP地址转移到云上;
建议用户不需要直接访问这些服务器时,在服务之间使用私有(内部)IP地址;
建议用户使用IPv6地址(如果云提供商提供IPv6地址的话);
建议用户为所有服务使用DNS名称,并且定期维护这些记录并删除过期的记录。
对于大型企业来说,识别云抢注风险更加困难。企业的安全部门想找全所有可能存在风险的资产是一项艰巨的任务。以大型的跨国企业为例子,跨国企业在世界各地拥有若干个开发团队,并且还拥有若干个不同地区的不同应用程序的域。
为了解决上述问题,建议企业安全团队开发工具(例如:1.通过向其发送HTTP或DNS请求自动测试了所有CNAME记录;2.识别出指向云提供商(如阿里云、腾讯云、华为云和其他第三方服务提供商)的IP范围的所有域和子域;3.然后检查这些IP记录是否仍然有效,并且是否分配给了该企业......),遍历企业的所有域。
0X04点评
我们可以通过强调云安全策略的重要性,并提供具体的指导和建议,如制定合适的访问控制策略、加强身份验证和权限管理等;推荐使用云安全工具和服务,如云安全监控、漏洞扫描和威胁情报等,以及定期进行安全评估和演练;强调员工的安全意识和培训,以减少配置错误和社会工程攻击的风险等方式解决云安全当中云抢注的问题。以上是我个人的看法,欢迎大家前来交流!
参考链接
https://baijiahao.baidu.com/s?id=1767571497237035444&wfr=spider&for=pc
https://analyticsindiamag.com/whats-cloud-squatting-and-how-to-deal-with-it/
https://www.sweetlingua.com/esl-lesson-plans/cloud-security-what-is-cloud-squatting/