容器安全的全球威胁分析

容器技术被广泛接受和使用的同时,容器以及容器运行环境的安全成为了亟待研究和解决的问题。为了进一步了解容器以及容器环境的安全威胁,为使用容器的用户提供安全防护建议。绿盟科技携手硅谷知名容器安全公司NeuVector,联合发布《2018绿盟科技容器安全技术报告》。

近年来,云计算的模式逐渐被业界认可和接受。在国内,包括政府、金融、运营商、能源等众多行业,以及中小企业,均将其业务进行不同程度的云化。但简单地将主机、平台或应用转为虚拟化形态,并不能解决传统应用的升级缓慢、架构臃肿、无法快速迭代等问题,云原生(Cloud Native)的概念应运而生。

云原生提倡应用的敏捷、可靠、高弹性、易扩展以及持续的更新。在云原生应用和服务平台构建过程中,近年兴起的容器技术凭借其弹性敏捷的特性和活跃强大的社区支持,成为了云原生等应用场景下的重要支撑技术。

从2008年LXC的出现,到2013年DotCloud开源了其内部的容器项目Docker,再到2014年CoreOS发布了其容器引擎Rocket(rkt),2015年微软发布了Windows Containers,实现Docker容器在Windows上的原生运行,再到2017年阿里巴巴开源其容器技术Pouch,容器技术越来越多的引起大家的关注。但其背后的安全问题不容忽视。

 

2018年5月-7月绿盟威胁情报中心(NTI)对全网的Docker 2375端口进行检索,发现这段时间暴露在互联网上的2375端口地址达337个。下图显示了暴露主机的分布情况,主机暴露数据覆盖多达29个国家,这个数据一方面说明了Docker的受欢迎程度,另一方面也说明了用户对于Docker的使用并不规范。

针对这337个服务的IP地址,对地理区域进行统计可以看出,在全球范围内,互联网上暴露的Docker服务主要分布于中国、美国以及德国,其中中国有197个IP地址以52%位居第一,美国有65个IP地址以17%位居第二,德国有19个IP以7%位居第三。

前述暴露的337个Docker服务IP,我们对其域名服务分布情况进行了统计,其中不乏某些知名公有云厂商的IP地址。

2018年8月份,阿里云安全团队公开披露,黑客在阿里云上针对Docker的批量攻击与利用。其主要的入侵途径就是扫描开放了2375端口的Docker容器IP,之后通过命令对读取的IP进行入侵,成功进入被入侵的主机后,从下载服务器中拉取包括webshell、挖矿程序、后门程序、任务文件、挖矿配置文件等众多文件到本地,然后一一执行。

2018年7月,我们也分析了Kubernetes的服务暴露情况,利用NTI对全网的6443端口(Kubernetes的API Server默认SSL端口)进行扫描分析,发现这段时间暴露在互联网上的Kubernetes服务达12803个。下图显示了Kubernetes服务暴露分布情况。其中美国以4886个暴露的服务占比38%位居第一,中国以2582个暴露的服务占比20%位居第二,德国以1423个暴露的服务占比11%位居第三。国内互联网上暴露的Kubernetes服务主机主要存在于北京、浙江以及广东等省市,这些服务大多部署在亚马逊、阿里云等公有云上。其中的几百个甚至都没有设置登录密码,一旦被恶意操作,后果将不堪设想。

作为容器运行的基础,容器的镜像安全一直以来备受使用者的关注,有关研究报告显示,Docker Hub中超过30%的官方镜像包含高危漏洞,接近70%的镜像有着高危或中危漏洞。我们从Docker Hub中选择评价和下载量较高的10个镜像,对其最新版本(latest)采用Clair工具进行了扫描分析。从结果可以看出,如此高频率使用的镜像,绝大多数均存在高危漏洞,有的镜像高危漏洞数量甚至达到数十个之多。

在使用容器镜像的时候,除了镜像中应用漏洞需要重点关注之外,对于镜像内的其它脆弱性问题,同样不容忽视,比如,镜像内是否暴露了账号密码等信息、是否包含了秘钥文件、是否提供并暴露了ssh服务、是否运行了禁止运行的命令、公共的镜像中是否有木马、病毒等等。

2018年6月,就有安全厂商发现17个受到感染的Docker容器镜像,镜像中包含了可用于挖掘加密货币的程序,更危险的是,这些镜像的下载次数已经高达500万次。

2017年11月,Uber发布声明,承认2016年曾遭黑客攻击并导致数据大规模泄露。根据这份声明,两名黑客通过第三方云服务对Uber实施了攻击,获取了5700万名用户数据,包括司机的姓名和驾照号码,用户的姓名、邮箱和手机号。调查发现,Uber数据泄露的原因竟然是工程师将解锁数据库的安全密钥存储在GitHub的一个可以公开访问的页面。这类由于操作不当引发数据泄漏的事件并不是孤案,尤其值得注意的是,当今云环境和DevOps的迅速发展导致安全风险显著地提高了。

 

另外,由于容器在技术实现上基于主机内核,采用共享主机资源的方式,因此面向容器的拒绝服务攻击(DoS)威胁程度更高。例如,默认情况下容器可以使用主机上的所有内存,如果某个容器以独占方式访问或消耗主机的大量资源,则该主机上的其它容器就会因为缺乏资源而无法正常运行。

Fork Bomb是一个很典型的计算型DoS攻击场景,主机内核正常情况下只能支持一定数量的进程,如果某个容器内的进程组新建过多进程,消耗了主机上的所有进程资源,那其它的容器就没有资源来创建新的进程,甚至会危及主机的正常工作。Fork Bomb也是自2015年到现在Docker社区一直讨论的问题。

作为容器重要应用场景的微服务架构,通常由众多服务构成,虽然微服务提倡隔离、轻量、独立开发部署、业务间松耦合等,但有时服务间是需要紧密相联的,比如多个服务间共享数据。这些服务之间的联系在微服务架构中通常是以点对点的形式呈现,随着这些联接的增多,如果其中一个服务因安全漏洞被攻破,那么其它联接的服务也会受到牵连,从而整个系统都会落入攻击者手中。

 

总之,容器技术被广泛接受和使用的同时,容器以及容器运行环境的安全成为了亟待研究和解决的问题。为了进一步了解容器以及容器环境的安全威胁,为使用容器的用户提供安全防护建议。绿盟科技携手硅谷知名容器安全公司NeuVector,联合发布《2018绿盟科技容器安全技术报告》。

(点击图片下载)

《报告》从容器安全风险入手,分别从软件脆弱性、安全威胁、应用安全威胁等方面,系统的介绍了容器以及容器应用中所面临的安全问题。针对这些安全问题,从主机安全、镜像安全、网络安全、应用安全等多个角度,提出了相应的检测与防护建议。最后,从开源社区和厂商两个层面,简要介绍了当前对于容器安全的一些解决方案。

扫描二维码,加入容器安全技术交流群。

或者添加好友,备注“进群”,通过后会拉您入群。

Spread the word. Share this post!

Meet The Author

Leave Comment