正文
WannaCry/WannaCrypt 主要是在 SMB、RDP 和 IIS 服务端口如 445 上攻击微软 Windows 漏洞。和大多数攻击一样,是一个事件“杀伤链”导致了最终的勒索要求。
一旦攻击者进入一个网络,他们就横向扩散。由于容器中的横向流量不可见,所以在容器化环境中更容易扩散了。
SambaCry 是 7 年前在 Samba 网络软件中发现的一个危险的远程代码执行漏洞(CVE-2017-7494)。该漏洞让远程攻击者可以控制受感染的 Linux 系统。现在,如果 CVE 数据库更新及时,那么漏洞扫描软件可以帮忙从容器镜像中找出这个 CVE。也有其他工具可以帮忙检测权限提升或容器逃逸。
ElasticSearch 和 MongoDB 是 Docker Hub 上其中两个下载最多的应用程序容器。出人意料,包括开放端口和密码在内的简单攻击都可以被用于勒索软件。基本的容器安全措施就可以预防这样的攻击。经常审计并测试主机和容器的安全设置,发现最近的应用程序升级或主机部署引入的风险。
Dirty Cow(CVE-2016-5195)内核漏洞被攻击者用于改写系统中的 setuid 程序。通过替换 setuid 程序,攻击者可以在程序执行时获得 root 访问权限,然后就可以做任何他们想做的事。由于攻击者可以采取破坏性行动,他们更可能在这个时候偷偷地扩散到其他系统或应用程序。甚至,受感染的容器被销毁了,漏洞利用者仍然可能留在容器环境中。
近日,Qualys 的安全研究人员发现了 Linux Stack Clash 漏洞(CVE-2010-2240),之所以命名为“Stack Clash”,是因为它会使其他内存区域(如堆)和栈发生“冲突”。由于这是用户空间的本地漏洞利用,这也在操作系统或内核中为攻击者提供了一个据点。Stack Clash 可以和其他漏洞一起利用,对系统造成更严重的破坏,并可能横向扩散。例如,最近发现的 sudo 漏洞(CVE-2017-100367)结合 Stack Clash 就可以使用 root 权限执行任何代码。
每一次成功地攻击都包含一个事件“杀伤链”,我们可以使用各种技术在多个点上进行检测。通常,为了降低容器环境中的风险,应该采取以下安全措施:
1、扫描主机和容器(在进入运行环境之前或期间)漏洞,升级易受攻击的系统;
2、监控主机和容器的可疑进程,如 root 权限提升和端口扫描;
3、检测使用可疑网络连接连接其他主机或容器的横向运动和逃逸;
4、如果没有严格规定,则封锁容器的外部访问;