Docker Hub上镜像发现挖矿蠕虫病毒,已导致2000台主机感染

https://www.kubernetes.org.cn/5951.html

本来想说可以用  official版本的镜像

但是一想 之前也有开源软件被人植入 恶意代码的情况 angular 还是哪一家的组件库. 

安全问题 的确很有风险. 
2019-10-19 00:12 中文社区 分类:Kubernetes资讯/行业动态 阅读(539) 评论(0) 

安全公司Palo Alto Networks威胁情报小组Unit 42发现一种新型的Graboid挖矿绑架病毒,目前已知这个蠕虫已经感染了超过2,000台不安全的Docker主机,用于挖掘Monero加密货币,研究人员提醒,虽然这个挖矿蠕虫没有复杂程序技术,但是由于他有能力从C2(Command and Control)服务器下载新脚本,因此可以简单地转换成勒索软件或是任何恶意软件,企业应提高保护自身Docker主机的能力。

过去也有以蠕虫病毒的形式,来散布挖矿绑架恶意软件的案例,但是这是第一次挖矿绑架蠕虫被发现存在Docker社区版本中,使用容器进行传播。研究人员表示,由于大多数传统端点保护软件,都不会检查容器中的资源以及动作,因此这种恶意动作难以被发现。

整个攻击链从攻击者在公共网络中选定一个不安全的Docker守护行程(Daemon)开始,在上面执行从Docker Hub拉取的恶意镜像容器,并且从C2服务器下载一些脚本以及容易受攻击的主机列表,接着挑选下一个攻击目标以传播蠕虫。Graboid会在容器中进行挖矿以及散布蠕虫,每次迭代Graboid随机挑选三个目标,在第一个目标安装蠕虫,停止第二个目标的矿工行动,并在第三个目标上启动矿工,而这样的机制让采矿行为变得非常随机。

也就是说,当被害者主机被感染时,恶意容器并不会立刻启动,必须要等待另外一个受感染主机的信号挖矿程序才会被启动,而正在挖矿的主机也会随机接收到其他受感染的主机停止挖矿的信号。每台受感染主机的矿工都由其他受感染的主机随机控制,研究人员表示,他们不清楚这种随机控制的设计动机,因为以规避侦测的角度来看,这样的机制效果不佳,比较可能是设计不良或是有其他的目的。

Unit 42进行了模拟,来了解蠕虫整体采矿的能力,包括蠕虫散布的速度,以及每个矿工在受感染的主机上平均活动时间,研究人员提到,以2,000台主机规模进行的实验,蠕虫病毒要花费大概60分钟,才能感染其中1,400台易受感染的主机,由于受感染主机上矿工随机启动和停止的挖矿行为,每个矿工约只有65%的时间处于活动状态,每个矿工采矿周期平均仅持续250秒。

研究团队分析了蠕虫使用的主机列表,其中包含2,034台易受攻击的主机,57.4%的IP来自中国,而13%位于美国,在Graboid使用的15台C2服务器中,主机列表中列了其中的14台,这表示攻击者会控制易受感染主机的Docker守护行程,在上面安装网页服务器容器,并将恶意载体放在上面。

Graboid攻击会使用到的Docker镜像pocosow/centos已经被下载超过一万次,而gakeaws/nginx也已经被下载6,500次,Unit 42发现gakeaws还发布了另一个挖矿绑架镜像gakeaws/mysql,其内容与gakeaws/nginx相同。不过这些有害镜像,都在研究人员与Docker团队联络后,全部被移除。

研究人员警告,当没有适当的身份验证机制,企业不应该把Docker守护行程暴露在公共网络上,而且其实在预设情况下,Docker社区版是不会暴露Docker守护行程的。企业应该使用Unix Socket来跟本地Docker守护行程沟通,或是使用SSH连接远端Docker守护行程。

企业需注意在防火墙规则中加入白名单,限定流入流量的来源,并且不可从未知的注册表或是未知使用空间拉取Docker镜像,平时也该定期检查系统是否存在未知的容器或是镜像,也可以使用云端安全解决方案,辨识恶意容器。

参考:https://www.ithome.com.tw/news/133655

[转帖]Docker Hub上镜像发现挖矿蠕虫病毒,已导致2000台主机感染的更多相关文章

  1. Docker入门系列之三:如何将dockerfile制作好的镜像发布到Docker hub上

    这个系列的前两篇文章,我们已经把我们的应用成功地在Docker里通过nginx运行了起来,并且用dockerfile里制作好了一个镜像. Docker入门系列之一:在一个Docker容器里运行指定的w ...

  2. docker学习笔记7:发布镜像到docker hub上

    镜像创建好后,很重要的一个操作就是共享和发布.可以将自己创建的镜像发布到docker hub上,也可以发布到自己的私有docker hub上. 要想发布镜像到dokcer hub上,首先要在dokce ...

  3. docker学习笔记4:利用docker hub上的mysql镜像创建mysql容器

    docker hub上有官方的mysql镜像,我们可以利用它来创建mysql容器,作为一个服务容器使用. 1.下载mysql镜像 docker pull mysql 2.创建镜像 docker run ...

  4. 在Docker Hub上你可以很轻松下载到大量已经容器化的应用镜像,即拉即用——daocloud国内镜像加速

    Docker之所以这么吸引人,除了它的新颖的技术外,围绕官方Registry(Docker Hub)的生态圈也是相当吸引人眼球的地方. 在Docker Hub上你可以很轻松下载到大量已经容器化的应用镜 ...

  5. 利用Docker Hub上的Nginx部署Web应用

    Docker Hub上提供了很多镜像,如Nginx,我们不需要自己从ubuntu开始装Nginx再做发布,只需要先下载镜像到本地 docker pull nginx 在/opt下新建文件夹API,将需 ...

  6. Docker Hub公共镜像仓库的使用

    创建账号并登陆这里是登陆入口 登陆账号 登陆进入之后里面目前仓库,现在去创建一个 下面我选的是公共仓库,别人也可以访问到 在服务器上登陆进来,进行上传镜像到仓库 [root@docker ~]# do ...

  7. 在Docker Hub上查找可用的Image映像

    任何人都可以创建Docker Image映像,你可以浏览Docker Hub来查找这些Image映像. 定位Whalesay 映像 打开你的浏览器,浏览Docker Hub: Docker Hub包含 ...

  8. docker hub 本地镜像登录

    docker的登录信息存放在home目录下的.docker文件夹下,查看 cat ~/.docker/config.json { "auths": { "gcyimgs. ...

  9. 关于 Docker Hub 上不能注册 Docker ID 的问题

    1. 引言 我们中国大陆访问dockerhub的时候,想要注册一个dockerID,发现sign up按钮是灰色的,不能点击进行注册.这个时候通过点击右键"查看网页源代码"和&qu ...

随机推荐

  1. C 库函数 - strstr()

    定义 char *strstr(const char *haystack, const char *needle) 参数 haystack -- 要被检索的 C 字符串. needle -- 在 ha ...

  2. MySQL 基础之一

    为了满足关系范式:通常一个大的数据集会拆成在一个库(集合内)中多张表表来存储,每一张表就是由行和列组成的二维关系,表与表之间也有关系,查询有时候需要做表链接,而表链接这个过程需要依赖于索引到各种算法来 ...

  3. Android Studio 和 SDK 下载、安装和环境变量配置

    转Android Studio 和 SDK 下载.安装和环境变量配置https://blog.csdn.net/hahahhahahahha123456/article/details/8065135 ...

  4. Tkinter 之PanedWindow标签

    一.参数说明 参数 作用 background(bg) 设置背景颜色 borderwidth(bd) 设置边框宽度 cursor  指定当鼠标在PanedWindow上飘过的时候的鼠标样式 handl ...

  5. 【CSP模拟赛】凤凰院凶真(最长公共上升子序列)

    题目描述 α世界线.凤凰院凶真创立了反抗SERN统治的组织“瓦尔基里”.为了脱离α线,他需要制作一个世界线变动率测量仪. 测量一个世界线相对于另一个世界线的变动率,实质上就是要求出这两个世界线的最长公 ...

  6. PIT 编辑器编辑及协同架构说明

    pit 项目使用 quill-delta 作为数据层存储文档内容数据,quill-delta 是一个基于 OT 算法的库,用 quill-delta 作为数据层,不仅能很好的保存文档数据,还可以方便的 ...

  7. 小福bbs-冲刺日志(第五天)

    [小福bbs-冲刺日志(第五天)] 这个作业属于哪个课程 班级链接 这个作业要求在哪里 作业要求的链接 团队名称 小福bbs 这个作业的目标 UI改进,前端页面改进,后端部分功能测试交予UI 作业的正 ...

  8. linux 查看gpu信息

  9. [String]两个右补空格使字符串达到固定长度的函数 来自网上 请君自取

    代码: package fixsizestring; public class TestClass { public static void main(String[] args) { for(int ...

  10. Socket: java Socket的isConnected()、和isClosed()判断是否在线的问题(转)

    首先,很多初学者都会用这两个API来判断对方是否在线,但是经过我的实践,此API并不能实时判断是否在线的状态. 经过百度查询资料后,得出结论: 事实上这些方法都是访问socket在内存驻留的状态,当s ...