几个月前RedLock公司工作人员发现:数百个Kubernetes管理控制台无需密码即可访问,即直接公开暴露在互联网之上。
经过专家研究发现这些管控台被黑客们蓄意利用从事非法“挖矿”。技术极客惨遭黑手,我们应该如何防患于未然?
Crypto-jacking, 黑客“薅羊毛”挖矿
在特斯拉的被“挖矿”事故之前,英国国际保险公司Aviva和全球最大SIM卡制造商Gemalto也曾中招。这些公司都分别采用了两家国际云计算巨头公司的公有云服务,其管控台的访问权限无需密码登录授权而直接暴露给外界,而黑客们则利用这些暴露的计算实例挖掘加密货币。
加密货币挖掘的WannaMine恶意软件中有一个Mimikatz的工具从计算机存诸器中拉取密码,并入侵到网络中的其他电脑中,随后将所控制的计算资源“神不知鬼不觉”地挖掘一种Monero加密货币。不知道大家是否还记得曾经在2017年5月感染超过100个国家10万台电脑、引发全球恐慌的WannaCry勒索事件,彼时利用的是NSA漏洞永恒之蓝;而Mimikatz工具可以绕开对永恒之蓝漏洞的依赖,逃避哪怕是已经被完善修补的电脑的检测。
这些黑客们盗用其他人的计算资源,挖掘加密货币为自己非法牟利。目标群体是那些高流量的大型网站,比如美国三大新闻网络之一CBS的付费影片服务“Showtime”等发现有“挖币”程序,会利用网页浏览者们的电脑处理器资源。
有关机构曾经统计受黑客挖币影响最严重的前十个国家:
特斯拉受害, Kubernetes管控台没有密码保护
RedLock专家们发现特斯拉成为受害者,黑客们潜入到了没有密码保护的Kubernetes管控台。在一个Kubernetes pod里面,盗取了Tesla的公有云环境的访问权限,而对应公有云环境中则存放着如telemetry的敏感数据。
除了裸露的数据之外,RedLock还注意到此次攻击中一些更为复杂的检测躲避手段。
- 首先,没有使用知名的公共“矿池”。他们安装挖矿软件,并通过恶意脚本链接上未列出/半公共端点。其次,黑客通过CloudFlare隐藏了矿池服务器的真实IP地址,CloudFalre是一个免费的CDN服务。通过该服务获得新的IP地址。因此常见标准的基于IP或域的探测很难检测到此类恶意行为。
- 挖矿软件监听的是非标准端口,基于端口的恶意检测也变得很困难。
- 黑客们的挖矿软件保持“低调”,没有造成CPU使用过高,资源的占用不易被发现。
该怎样保护自己的资源?
虽然特斯拉等公司采用了公有云供应商的服务,但是这个锅也不能完全扣在供应商头上,毕竟是因用户自己没有配置密码而导致。
阿里云容器服务Kubernetes集群配置了证书登录,并且关闭了非安全的本地端口,安全系数较高。即使用户没有配置密码登录,集群访问也会进行证书校验,不会造成防线一触即溃的危局。
同时,还应该注意提高监控能力 。对配置、网络流量、可疑的用户行为等进行监控。首先,研发成员可能会忽视安全组规则,公司应该检测风险,自动地发现相关资源的创建、 决定资源上的应用程序,并根据资源和应用程序类型采用恰当的策略;Kubernetes控制台没有设置密码自然会被检测出来。其次,如果关联了网络流量与配置数据,特斯拉就可以检测到Kubernetes pod中产生的可疑流量。最后,不仅要检测基于地理位置或时间的异常,还要识别是否有异常事件。
阿里云容器Kubernetes服务支持资源维度监控,从底层ECS到上层的Pod,service namespace等资源监控。虽然该容器平台目前不支持用户行为检测,但是可以联合使用阿里云的数据风控产品。该数据风控产品由阿里聚安全提供,凝聚了阿里多年业务风控经验,可针对性解决帐号、活动、交易等关键环节的欺诈威胁问题,保证正常用户体验。
此外,阿里云云监控针对阿里云资源和互联网应用的监控服务,可以获知CPU使用率、内存使用率、公网流出流速等系统级别基础指标,并且根据设定的报警规则获知异常,还支持HTTP、TCP等8种协议的站点监控及自定义监控。
参考文章
Lessons from the Cryptojacking Attack at Tesla by RedLock CSI Team
Crypto-jacking — what’s really going on inside your computer? by Open Trading Network