云原生容器安全|容器运行时高级威胁的分析与检测实战 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

云原生容器安全|容器运行时高级威胁的分析与检测实战

安全狗 行业 2022-06-14 13:34:17
143587
收藏

导语:一起看看容器运行时高级威胁如何防护。

一、前言

在攻防对抗的世界中,攻击技术与防御技术之间总是相辅相成、此消彼长。云原生的发展让攻击者对容器侧的攻击更加集中与强烈,因此云原生安全也越来越受到用户的关注。对检测云原生环境的已知威胁和0day漏洞利用或新型的云原生攻击造成的未知威胁,安全狗容器云原生安全产品·云甲践行了两种不同的、经证实行之有效的检测方法。

云甲·容器全生命周期安全解决方案

云甲是安全狗打造的守护容器云原生安全产品。

云甲可提供容器全生命周期安全防护。通过透明化分析镜像容器资产信息、在镜像仓库和运行容器中,引入病毒检测、异常检测和合规扫描,截断恶意代码代入到运行环境,检测防护容器自身、部署环境及运行时安全。此外,通过监控POD、容器流量访问,控制恶意流量入侵、配置网络策略,云甲能全方位保障容器云安全。

本文将结合实际案例对这两种检测方法做介绍,希望能为读者对抗容器侧攻击提供新思路。

二、容器运行时的安全问题

对容器运行时的安全问题进行概览的话,可以发现云原生容器环境中,传统威胁和新型现代攻击是并存的。

原因主要有两点:

1)容器实际是“权限和资源受限的进程”,它也“继承”了许多主机环境下的安全威胁。

2)容器环境的渗透和主机环境的渗透有着交集。

在以下的攻击场景示意图中,攻击者可以在获取容器命令执行的权限之后进行容器逃逸(并在宿主机进行后门安装、系统摧毁等恶意行为),或者容器集群的内网渗透,如下图所示。

图1在容器运行环境下传统威胁和新型现代攻击并存

可以看到容器运行环境面临着系列传统攻击手段,比如OWASP Top10、Webshell、RCE漏洞;我同时也面临着新型现代攻击,比如内存Webshell、容器逃逸等等。

三、容器运行时威胁检测模型

因为安全是环环相扣的,所以应用安全可影响到容器安全,容器逃逸可影响到虚拟主机及容器集群的安全,虚拟主机逃逸会影响到虚拟化基础设施的安全。

在此基础上,我们需要“层层设防,层层监控”。

攻击者可通过容器中的应用获取容器的Shell权限,进而通过容器的Shell权限进行容器逃逸。对此,我们可以针对容器中的应用做WEB进程监控和内存马查杀,针对容器做基于规则的已知威胁检测(对异常文件、异常命令、高危系统调用做威胁检测),针对容器做基于行为模型的未知威胁检测;同时针对容器做恶意文件查杀,如图2所示。

 

图2容器云运行时威胁检测模型

四、云甲的两大类威胁检测方法

01基于规则的已知威胁检测

基于规则的异常检测方法一直是最经典的方案,容器环境下也依然适用。与传统威胁检测不同的是,容器环境下出现了许多新的威胁场景,如容器逃逸、容器编排环境的漏洞利用,相关的规则和检测引擎也必须发生新的变化。

02基于行为的未知威胁检测

许多未知威胁无法在漏洞爆发期通过规则匹配直接检测出来,因而可通过借助“行为分析”发现未知威胁。一般来说,虽然不同应用的业务场景各有各的不同,但在生产运营时间内,其业务依赖的程序和模块的进程、文件和网络等方面的行为是能确定、可预测的(和传统主机环境相比,承载微服务应用的容器更具“职责单一化”的特点更加突出,因而该技术较适用于容器环境。

基于上述分析,云甲可收集内部业务正常运行期间的进程集合及进程行为、属性集合,通过采用自学习、无监督的方式,可自动构建出合理的镜像、容器进程行为基线。在自学习结束后,可以利用这些行为基线对容器内的未知威胁进行检测。

五、云甲运行时高级威胁检测案例

下面我们将结合攻击方和防守方的视角逐一分析云甲对WEB RCE、容器逃逸、植入恶意代码、植入内存马的检测案例。

01WEB RCE

当攻击者要从云原生环境入侵到宿主机环境时需要寻找一个“入口”,而部署在容器内的WEB应用成为攻击者的重点关注对象。如果容器部署了一个包含漏洞的WEB应用,那么攻击者就可能通过它,破坏云原生环境的防御。

攻击方视角

从攻击方视角来看,他们可利用“Log4J2 RCE”应用漏洞对WEB应用进行攻击,以此获取到容器的远程命令执行权限。下图代表攻击者在Getshell后进而执行whoami等命令。

图3利用容器内的WEB应用反弹shell并执行命令

防守方视角

从防守方视角看,云甲有两种检测方法可以检测出基于WEB应用漏洞的Getshell。

进程行为监控

从防守方视角来看,对于容器应用漏洞利用的检测,由于应用安全与容器安全有着关联性,对外暴露的WEB应用安全对攻击者而言是高价值资产。而容器的本质是资源受到隔离和限制的进程,因此在攻击者通过应用漏洞获取容器Shell权限的阶段,可基于“容器WEB进程监控”进行威胁检测。从容器进程信息中获取数据源,并根据预设规则模板对实时数据进行分析与检测,则可实时地发现容器内Web中间件的异常进程行为。

在容器化、微服务化的架构下,有许多中间件,比如Redis、Hadoop等等也被容器化了。因此,云甲在出厂的时候,就为用户预置了高频中间件的进程监控规则。同时,客户也可以自行设置规则。其检测效果如下图所示。

图4容器WEB进程监控检测效果

行为模型

对于容器应用漏洞的检测,也可采用“基于行为模型”的方式。理论上来说,基于行为模型的检测方法,不仅适用于未知威胁的检测,还适用已知威胁的检测。对于容器内包含有WEB应用的漏洞,同样可以通过自学习生成容器模型,对容器内的进程、文件操作和网络进行画像、记录。

下面我们以某带有Log4J组件漏洞的Java Web应用镜像进行行为模型的自学习为例进行分析。该模型如下图所示。通过观察学习到的进程模型可以发现,在正常的业务下,该容器只有名为“java”的关键进程。

 

图5容器WEB进程监控检测效果

经过借由所获取的容器shell进行命令执行、内网渗透。云甲的“行为模型”功能可产生异常进程、异常文件以及异常网络等方面的告警。从下图异常进程的告警中我们可以看到,触发了log4j2 RCE漏洞后,在获取的shell执行“date”等命令后,“date”进程被作为异常进程记录下来。

 

图6触发漏洞容器WEB进程监控检测结果

02、容器逃逸

在容器安全问题中,容器逃逸是被重视的问题之一。原则上,容器环境与主机环境是隔离的。然而,因为容器的便捷性和容器与宿主机共用内核息息相关,容器技术自然存在内核隔离性不足的问题。因此,攻击者就有机会突破容器以访问底层主机,并且攻击者有机会从主机级别或主机本身访问其他容器化资源。

攻击方视角

从攻击方视角看,运行在容器内的SSH服务可能被利用。如果攻击者通过暴力破解或者其他方法获取到了容器的有效凭证,他们就可以通过SSH服务获得对容器的远程访问。以下是攻击者利用挂载/root/.ssh容器替换SSH有效凭证逃逸的攻击场景。下图为攻击者执行相关命令,在容器内生成SSH密钥对。

 

图7攻击者替换宿主机ssh密钥对

通过在容器内获取的宿主机密钥,在攻击机上可以成功通过SSH登陆到宿主机。

防守方视角

从防守方视角看,对于容器逃逸,云甲可采用“基于规则”以及“基于行为模型”的方式进行检测。

基于规则

云甲可实现对攻击者“利用用户的‘不安全挂载’进行容器逃逸”的攻击利用方式作出检测,如下图所示。

图8检出“容器挂载/root并修改SSH公钥认证”的容器逃逸场景

云甲可针对攻击者的渗透手法进行容器内的异常命令、文件异常操作、高危系统调用和Capabalities权限变化等方面的异常检测。

注:基于“行为模型”也可对逃逸做检测,其检测效果与“WEB RCE”案例较为相似,在此处不作赘述。

03、植入恶意代码

随着容器应用发展加速,容器相关的安全事件也频繁爆出。黑产团伙通过容器服务器的漏洞传播的蠕虫病毒、通过下拉挖矿镜像进行获利等等,已然是现阶段容器相关黑产的主流手段。除了下载挖矿镜像以外,现有的模式可以轻松将挖矿镜像替换成其他恶意软件,以此造成更大的破坏。

攻击方视角

此处介绍另一个攻击场景,攻击者首先通过Webshell获取容器权限,并在容器中释放了挖矿病毒企图牟利,如下图所示。

图9容器环境挖矿案例

防守方视角

面对这一攻击场景,云甲课支持基于“静态扫描”和“动态实时防护”对Webshell以及挖矿木马等恶意代码进行查杀,并对它们进行信任、隔离、下载、删除等操作,下面2张图分别展示了Webshell和挖矿木马的查杀效果。

图10容器内Webshell查杀

 

图11容器内病毒查杀

04、植入内存马

内存马是无文件攻击的一种常用手段,随着攻防演练热度越来越高,攻防双方的博弈、流量分析、EDR等专业安全设备也被蓝方广泛使用。传统的文件上传的webshell或以文件形式驻留的后门越来越容易被检测到,内存马的使用越来越多。

传统的Webshell都是基于文件类型的,黑客可以利用上传工具或网站漏洞植入木马,区别在于Webshell内存马是无文件马,利用中间件的进程执行某些恶意代码,不会有文件落地,给检测带来巨大难度。

攻击方视角

从攻击方视角看,攻击者可利用内存马对目标实施攻击,如下图所示。

图12利用植入的内存webshell执行命令

防守方视角

从防守方视角看,对于这种攻击方式,云甲支持对容器JVM中的字节流进行攻击特征分析,并可高效地对Filter、Servlet、Listener、Agent等多类Java内存木马进行检测。下图代表云甲检出的内存马相关告警信息。

图13内存马检测结果

六、总结

容器运行时安全是容器全生命周期安全的重要一部分,做好该阶段的入侵检测可以提高容器环境的整体安全系数。

实践表明,云甲的“运行时威胁检测模型”,以及基于模型构建的“静态检测与动态检测相结合”以及“规则与行为模型相结合”的威胁检测能力体系在面对容器环境的WEB RCE、容器逃逸、恶意代码植入、内存马植入等新型高级威胁时可取得良好的效果。但攻防博弈间使用的技术手段也是不断进行升级的,我们将持续不断跟进研究新技术,探索新方法,持续不断地提高产品的检测防御能力,垒就巩固、保护云原生环境的城墙,为云原生环境安全保驾护航。

如若转载,请注明原文地址
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论

 
本站4hou.com,所使用的字体和图片文字等素材部分来源于原作者或互联网共享平台。如使用任何字体和图片文字有侵犯其版权所有方的,嘶吼将配合联系原作者核实,并做出删除处理。
©2022 北京嘶吼文化传媒有限公司 京ICP备16063439号-1 本站由 提供云计算服务