继续来看 RAID 2023的会议论文,今天要推荐一篇关于容器集群安全的调研论文 Container Orchestration Honeypot: Observing Attacks in the Wild
作者在本文中介绍了他们对暴露在公网上的容器集群服务(exposed container orchestration services on the Internet)的调研。针对容器的生态,作者关注了三大类应用——标准的容器(这里主要是关注 Docker)、容器集群(主要关注 Kuberentes)以及容器工作流(Workflow,本文关注了Apache Airflow
、Argo Workflow
、Spinnaker
三个 workflow 工具),对公网上使用这些应用的网络服务进行了扫描(端口特征如下表):
在大规模扫描的实验中,作者用了一个叫做 masscan
的异步多端口并发扫描工具来检查特定网络服务的存在,如果发现端口开放,就通过查询 Shodan
搜索引擎来判定容器服务的存在(因为80和443端口可能有其他用途,这一步主要是为了降低误报),最后使用 ZGrab2
工具来对确认存在的服务建立连接,收集更详细的信息。
经过分析,作者首先确定了整个 IPv4 空间中有300958657个可连接的IP地址,然后借助 Shodan
API 确定了707134个提供容器服务的在线站点,最后用 ZGrab2
工具确认了21590个站点(但是在论文中的表格里面,写的是20455个站点,看起来这里是有点问题的)是开放端口且提供容器服务的站点。后续的分析都是围绕着这2万多个站点来进行的。
作者分析了这2万多个站点中可能暴露敏感信息的情况,然后把有问题的站点进行了分类,其中47.36%的站点部署在 Google Cloud Platform 上,而4.17%的站点使用的是 AWS 服务,0.88%的站点基于 Digital Ocean 托管。除此以外,其他的有问题的站点都零散分布在不同的平台上(或者自架服务)。
除了全网扫描之外,作者还介绍了另一项主动的测试工作——参考现实的攻击情况,开发了一套蜜罐系统,主动收集攻击者的行为特征。
这套蜜罐系统通过25套不同配置的虚拟化环境(如下表所示)来实现多元化的伪装,诱骗攻击者进行攻击,然后进行详细的攻击数据记录。关于蜜罐系统的具体实现细节,可以参考论文的第四章。
经过一段时间的“守株待兔”,这套蜜罐系统捕获了很多有意思的数据,让我们来看看。首先是受攻击的数量:
作者对攻击者来源进行了分类,其中主要的攻击来源是一个专门入侵系统然后进行挖矿的组织——TeamTNT,其次还是一个挖矿团队——Kinsing
攻击的手法无外乎是先提权,然后建立一个高权限的后门进程,并且用 crontab
来保证持久性。
作者还解密了 TeamTNT 的攻击脚本:
论文最后还有很多关于攻击记录的内容,感兴趣的读者可以去看看附录。
论文:https://seclab.cs.ucsb.edu/files/publications/spahn_cohp_23.pdf