Aqua CNDR助您瓦解 DreamBus 僵尸网络攻击

最近,我们遇到了一个对于企业来说非常典型的攻击场景,一名拥有管理员权限的开发者在启动云原生应用时,错误地用了一个较弱的凭证来进行配置 。仅12个小时之后,该环境就受到了DreamBus 僵尸网络的攻击,它试图躲避防御系统,并开始攻击系统,运行Kinsing恶意软件和加密货币挖矿代码(门罗) 。在这时,Aqua的云原生监测及响应功能(CNDR)及时的发出了攻击警报 。本文将介绍受攻击环境的基本情况,黑客如何获得访问权,以及Aqua的 CNDR 如何以与云化应用相匹配的速度进行检测、调查,和抵御攻击 。
 
搭建环境
首先,开发者搭建了一个的简单的容器环境,由四个专属容器镜像组成:

  • Web UI: 允许用户由此登录并交互处理应用程序
  • 网关:可作为应用程序的网关
  • 微服务:可支持应用程序
  • 数据库: 一个PostgreSQL 数据库
 
Aqua CNDR助您瓦解 DreamBus 僵尸网络攻击

文章插图
 
为了更好的理解攻击发生的方式和原因,我们首先复现开发者在运行容器之前所进行的动作 。
 
扫描容器镜像
首先,开发者合理运用了Aqua的解决方案扫描了容器镜像 。从下面的截图您可以看到,容器镜像微服务和web UI存在着低至中等程度的漏洞 。由于它们的影响可以忽略不计,开发者没有理会这些漏洞,因此它们通过了该公司的安全合规政策评估 。其他两个容器镜像看上去也似乎一切正常 。
Aqua CNDR助您瓦解 DreamBus 僵尸网络攻击

文章插图
 
接下来,开发者利用Aqua的动态威胁分析(Dynamic Threat Analysis, DTA)扫描了容器镜像 。DTA的作用是在安全的隔离环境(即沙盒)中运行容器镜像,以便在容器开始运行后更好地了解其情况 。因为静态扫描软件会基于数字签名和哈希算法来探测已知漏洞和恶意文件,而DTA能检测出在运行时才会显现的恶意行为,而一般的静态检测方法则没有办法检测出这种行为 。
 
举例来说,即使一个容器镜像看上去是安全的,但这时一条命令要求从远程C2服务器里获得并执行有效负载(通常是通过Entrypoint),在这种情况下,静态扫描软件是不会监测该异常的 。同样,对于采用无文件攻击的手法以及打包一些转码文件文件也可以达到逃避静态检测的效果 。相较于静态扫描软件,DTA还有一个优势,它可以检测出恶意的网络流量 。因此,DTA能够在给定的容器镜像上提供更全面的威胁检测输出 。在这个案例中,DTA没有检测出任何问题——容器镜像中没有恶意软件 。
 
运行工作负载
开发人员部署了 Aqua 的工作负载保护和 CNDR,但禁用了drift prevention的功能,如果该功能开启,在镜像实例化成为容器后,这一功能会严格禁止对镜像进行任何修改 。 而且,该开发人员在设定相关外部防火墙策略时,将数据库容器开放允许用户从任何 IP 地址 (0.0.0.0:5432)进行访问,并没有创建任何微分段策略(Micro-segmentation policies)来限制对容器或数据库的访问 。除此之外,开发人员还给PostgreSQL 数据库配置了弱密码(Weak credentials) 。
 
利用CNDR监测攻击
首次警报
 
Aqua的 CNDR是最近推出的云原生监测和响应功能,它利用基于内核观察形成的告警信号,实时检测并阻止未知攻击 。
 
在环境创建之后的12个小时之内,CNDR警告其中一个容器出现了严重的安全问题 。开发者即刻停止了这个容器的运行,并开始调查问题的成因 。
Aqua CNDR助您瓦解 DreamBus 僵尸网络攻击

文章插图
 
CNDR一共发出25条报警,提示容器和底层主机出现了不同的问题 。通过CNDR的控制面板,事件和响应团队能够轻松地获知相应的信息、各个事件和相关背景、来源(例如主机或容器)、相关描述及严重性,从而节约了大量时间 。
 
点击“查看完整事件数据”(View Full Event Data),可获取有关每个事件的详细信息 。在本案例中,黑客在容器中执行了来自/tmp的Kinsing恶意软件 。
Aqua CNDR助您瓦解 DreamBus 僵尸网络攻击

文章插图
 
进一步收集证据
 
可以通过CNDR的审核筛选来进一步收集证据 。CNDR监测到,有人使用了wget和curl从远程源下载文件 。这就说明在运行期间,容器下载了应用curl,黑客因此能够从远程源下载更多的文件 。


推荐阅读