[转帖]Docker Hub上镜像发现挖矿蠕虫病毒,已导致2000台主机感染
Docker Hub上镜像发现挖矿蠕虫病毒,已导致2000台主机感染
https://www.kubernetes.org.cn/5951.html 本来想说可以用 official版本的镜像 但是一想 之前也有开源软件被人植入 恶意代码的情况 angular 还是哪一家的组件库. 安全问题 的确很有风险.
安全公司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台主机感染的更多相关文章
- Docker入门系列之三:如何将dockerfile制作好的镜像发布到Docker hub上
这个系列的前两篇文章,我们已经把我们的应用成功地在Docker里通过nginx运行了起来,并且用dockerfile里制作好了一个镜像. Docker入门系列之一:在一个Docker容器里运行指定的w ...
- docker学习笔记7:发布镜像到docker hub上
镜像创建好后,很重要的一个操作就是共享和发布.可以将自己创建的镜像发布到docker hub上,也可以发布到自己的私有docker hub上. 要想发布镜像到dokcer hub上,首先要在dokce ...
- docker学习笔记4:利用docker hub上的mysql镜像创建mysql容器
docker hub上有官方的mysql镜像,我们可以利用它来创建mysql容器,作为一个服务容器使用. 1.下载mysql镜像 docker pull mysql 2.创建镜像 docker run ...
- 在Docker Hub上你可以很轻松下载到大量已经容器化的应用镜像,即拉即用——daocloud国内镜像加速
Docker之所以这么吸引人,除了它的新颖的技术外,围绕官方Registry(Docker Hub)的生态圈也是相当吸引人眼球的地方. 在Docker Hub上你可以很轻松下载到大量已经容器化的应用镜 ...
- 利用Docker Hub上的Nginx部署Web应用
Docker Hub上提供了很多镜像,如Nginx,我们不需要自己从ubuntu开始装Nginx再做发布,只需要先下载镜像到本地 docker pull nginx 在/opt下新建文件夹API,将需 ...
- Docker Hub公共镜像仓库的使用
创建账号并登陆这里是登陆入口 登陆账号 登陆进入之后里面目前仓库,现在去创建一个 下面我选的是公共仓库,别人也可以访问到 在服务器上登陆进来,进行上传镜像到仓库 [root@docker ~]# do ...
- 在Docker Hub上查找可用的Image映像
任何人都可以创建Docker Image映像,你可以浏览Docker Hub来查找这些Image映像. 定位Whalesay 映像 打开你的浏览器,浏览Docker Hub: Docker Hub包含 ...
- docker hub 本地镜像登录
docker的登录信息存放在home目录下的.docker文件夹下,查看 cat ~/.docker/config.json { "auths": { "gcyimgs. ...
- 关于 Docker Hub 上不能注册 Docker ID 的问题
1. 引言 我们中国大陆访问dockerhub的时候,想要注册一个dockerID,发现sign up按钮是灰色的,不能点击进行注册.这个时候通过点击右键"查看网页源代码"和&qu ...
随机推荐
- Android中活动被回收了怎么办
当一个活动进入到了停止状态,是有可能被系统回收的.按下返回键的时候,活动被重新创建一次,但是里面的数据就没办法重现: 这时Activity中提供了一个onSaveInstanceState()回调方法 ...
- CRMEB中因为重写规则导致的服务器异常和404之解决办法
问题描述:安装CRMEB后,只能通过https://域名//index.php/admin访问到后台,而不能直接通过https://域名/admin访问到后台,以至于导致进入系统后台出现有的功能界面可 ...
- 20190710用控制台启动一个wcf服务
快速阅读 如何用控制台启动一个wcf服务,已经wcf的配置和在类库中如何实现 . wcf类库 用vs新建一个类库,引用system.ServiceModel 定义接口实现服务契约和操作契约 [Serv ...
- CentOS7如何将Docker升级到最新版
1.查找主机上关于Docker的软件包 # rpm -qa | grep docker – – 列出包含docker字段的软件的信息 docker-ce--.el7.x86_64 docker-ce- ...
- Linux下通过nmap扫描局域网内设备,获取ip地址和mac地址
安装nmap sudo apt-get install nmap 扫描 sudo nmap -sP -PI -PT
- 交互式报告系统 Dr. Tom | 华大基因培训资料
华大科技服务开发一套优秀的交互式结题报告系统,适用于没有代码基础的老师分析自己的数据. http://report.bgi.com/ps/login/login.html 体验之后再做评价! 见云盘: ...
- REDIS中加锁和解锁问题
使用lua+redis的方法.之所以使用lua是为了保证原子性 问题: 1. redis发现锁失败了要怎么办?中断请求还是循环请求?2. 循环请求的话,如果有一个获取了锁,其它的在去获取锁的时候,是不 ...
- [原][OE][官方例子]osgearth_features OE地球添加shp文件(特征标识)
OE所有官方样例 官方示例代码 /* -*-c++-*- */ /* osgEarth - Dynamic map generation toolkit for OpenSceneGraph * Co ...
- IsNull、rs、sum
<% 'response.write (IsNull(rs("month_finish_count_price"))) If IsNull(rs("month_fi ...
- Flutter实战(四)---LoadingDialog
原文链接:https://blog.csdn.net/johnWcheung/article/details/89634582