本次论文分享的主题为针对持续集成(Continuous Integration, CI)服务的非法挖矿活动。该工作由来自华中科技大学和印第安纳大学伯明顿分校的研究人员共同完成。文章指出,商用DevOps平台为开发测试人员提供了免费且资源丰富的CI服务,攻击者会滥用这些服务的算力进行加密货币挖矿,获得经济收益。研究人员通过收集并检测托管在Github平台上的攻击脚本,系统评估了利用CI服务非法挖矿活动的特点和影响。同时,研究人员提出了向系统进程注入时延的安全防御方案。该方案可以显著降低攻击者非法挖矿获得的收益,同时不会影响正常任务执行。该论文发表于网络安全领域顶级会议IEEE S&P 2022(录用率147/1012=14.52%)。
全文共2300字,阅读时间约6分钟。
01
【背景介绍】
非法挖矿(illicit cryptomining),有时也被称为挖矿劫持(cryptojacking),指的是在受害者不知情的情况下,攻击者利用其硬件设备执行加密货币挖矿程序,并将所获收益发放至攻击者钱包地址。挖矿设备则会过度消耗CPU、GPU、电力等资源,产生一定损失。
图表 1:Coinhive,一个网页挖矿脚本托管平台
以上两个场景中,浏览器挖矿由于难以支持目前挖矿需要的内存开销,已经逐渐消失;而木马挖矿则需要攻击者入侵受害者主机,技术难度较大。本文中研究人员则发现,DevOps平台的CI服务已经成为被攻击者用来进行恶意挖矿的新目标。DevOps是指一套集成的软件开发、测试、发布流程,在目前基于微服务架构的开发中被广泛采用。其中CI服务作用于DevOps开发流程的测试环节,可在代码变更后自动整合项目并进行单元测试,以达到持续集成的目的。市场上不同CI平台(如TarvisCI,CircleCI, Azure)为了吸引用户,提供了大量平台资源的免费试用活动[3]。因此,一些犯罪团伙会通过批量注册CI服务账号的方式,滥用这些平台的算力进行挖矿活动。
图表 2:TarvisCI首页,一家CI平台
02
【威胁模型】
文章研究的威胁模型为:攻击者利用免费 CI 服务,执行加密货币挖矿任务并获得收益。作者将上述行为称为Cijacking。其具体流程解释如下:
图表 3:攻击流程
图表 4:配置文件中注入挖矿命令
03
【数据收集】
文章作者从公共代码托管平台Github入手,提供了一个收集Cijacking样本实例的工具CijScan,其具体执行流程分为样本获取,样本解析,挖矿检测三个部分:
图表 5:CijScan架构
1. 样本获取。通过爬取Github平台的代码仓库,搜索仓库中是否存在CI平台的配置文件,如Travis平台的配置文件名为travis.yml,CircileCI平台的配置文件为 .circleci/config.yml ,最后共收集到582438个配置了CI任务的代码仓库。
2. 样本解析。解析收集到的CI配置文件以及其执行日志,通过静态分析和外部脚本提取,收集CI平台上执行时的使用的命令和参数。
3. 挖矿检测。根据挖矿任务相关的关键词,通过正则匹配方式提取涉及到挖矿的代码仓库。其中最常见的是在矿池域名或IP前都会有字符串stratum+tcp://作为协议前缀。此外,研究人员还收集其他的静态输出信息,如钱包地址,哈希率,新区块通知等等,作为挖矿任务的判断依据。
图表 6:挖矿任务相关关键词
最终,研究人员共收集到了23个CI平台上的1974个Cijacking样本,样本共涉及到了865个GitHub仓库、607个GitHub帐户、71个矿池和104个钱包地址,其具体分布如下,TravisCI关联的样本和钱包地址最多。
图表 7:Cijacking样本分布
04
【主要发现】
基于收集到的Cijacking样本信息,研究人员主要从以下几个角度进行了分析:
图表 8:矿池分布
图表 9:团伙分布
3. Cijacking样本平均活跃时间为42.8天,其中86.18%的样本出现在研究进行时的两年内(2017年-2019年)。
图表 10:样本生命周期
4. 通过结合门罗币的价格估算,1336个门罗币Cijacking样本从2017年3月至2020年5月共获得了约80万美元的收益。
05
【防御方案】
文章作者并没有像以往研究提出的防御方案一样[4],通过利用各种检测方法直接定位到挖矿进程并杀死,而是别出心裁地观察到挖矿任务区别于普通CI任务独有的特点:需要在给定时间内完成分配的计算任务,否则就没有收益。具体来说,由于Cijacking的挖矿脚本都需要从矿池获得挖矿任务,如果在一定时间内没有得到指定的计算结果,那么矿池就会直接推送下一个任务过来,而上一个任务直接作废,也就没有产生任何收益。相对而言,普通CI任务并没有这种时间窗口的要求,中断后继续执行仍能得到正常结果。
图表 11:挖矿任务和正常任务的对比
图表 12:Cijitter的效果统计
06
【结论】
本文研究了一种新型的针对CI平台的加密货币挖矿攻击方式,由于该种攻击隐藏在正常工作流程中,变得更加难以检测。该研究通过设计实验收集样本,揭示了此类攻击的流程、分布、演化和收益。此外,该研究还提出了一项针对加密货币挖矿特性的独特防御技术,让攻击者近乎无利可图,从而不再滥用CI服务挖矿。
原文链接
https://ieeexplore.ieee.org/document/9833803参考文献
编辑&审校|刘保君、张一铭
还没有评论,来说两句吧...