【论文分享】利用持续集成(CI)服务的非法挖矿活动(互联网网络犯罪检测学术前沿系列)

admin 2022年12月17日13:59:31评论49 views字数 3837阅读12分47秒阅读模式

本次论文分享的主题为针对持续集成(Continuous Integration, CI)服务的非法挖矿活动。该工作由来自华中科技大学和印第安纳大学伯明顿分校的研究人员共同完成。文章指出,商用DevOps平台为开发测试人员提供了免费且资源丰富的CI服务,攻击者会滥用这些服务的算力进行加密货币挖矿,获得经济收益。研究人员通过收集并检测托管在Github平台上的攻击脚本,系统评估了利用CI服务非法挖矿活动的特点和影响。同时,研究人员提出了向系统进程注入时延的安全防御方案。该方案可以显著降低攻击者非法挖矿获得的收益,同时不会影响正常任务执行。该论文发表于网络安全领域顶级会议IEEE S&P 2022(录用率147/1012=14.52%)。


【论文分享】利用持续集成(CI)服务的非法挖矿活动(互联网网络犯罪检测学术前沿系列)

全文共2300字,阅读时间约6分钟。


01

【背景介绍】


非法挖矿(illicit cryptomining),有时也被称为挖矿劫持(cryptojacking),指的是在受害者不知情的情况下,攻击者利用其硬件设备执行加密货币挖矿程序,并将所获收益发放至攻击者钱包地址。挖矿设备则会过度消耗CPU、GPU、电力等资源,产生一定损失。


在以往的研究过程中,研究人员发现非法挖矿的常见场景有:攻击者在网页中植入挖矿脚本,挖矿任务在用户访问网站时偷偷执行[1];或者攻击者通过木马感染的方式,获得用户主机的控制权,从而利用用户主机的算力挖矿[2]。


【论文分享】利用持续集成(CI)服务的非法挖矿活动(互联网网络犯罪检测学术前沿系列)

图表 1:Coinhive,一个网页挖矿脚本托管平台

以上两个场景中,浏览器挖矿由于难以支持目前挖矿需要的内存开销,已经逐渐消失;而木马挖矿则需要攻击者入侵受害者主机,技术难度较大。本文中研究人员则发现,DevOps平台的CI服务已经成为被攻击者用来进行恶意挖矿的新目标。DevOps是指一套集成的软件开发、测试、发布流程,在目前基于微服务架构的开发中被广泛采用。其中CI服务作用于DevOps开发流程的测试环节,可在代码变更后自动整合项目并进行单元测试,以达到持续集成的目的。市场上不同CI平台(如TarvisCI,CircleCI, Azure)为了吸引用户,提供了大量平台资源的免费试用活动[3]。因此,一些犯罪团伙会通过批量注册CI服务账号的方式,滥用这些平台的算力进行挖矿活动。


【论文分享】利用持续集成(CI)服务的非法挖矿活动(互联网网络犯罪检测学术前沿系列)

图表 2:TarvisCI首页,一家CI平台


02

【威胁模型】


文章研究的威胁模型为:攻击者利用免费 CI 服务,执行加密货币挖矿任务并获得收益。作者将上述行为称为Cijacking。其具体流程解释如下:


【论文分享】利用持续集成(CI)服务的非法挖矿活动(互联网网络犯罪检测学术前沿系列)

图表 3:攻击流程


1. 攻击者首先在代码托管平台(如GitHub、GitLab、Bitbucket)上创建代码仓库,用来托管攻击脚本。
2. 攻击者需要注册CI平台账号,并给予其访问代码仓库的权限。
3. 攻击者需要创建一份配置文件,文件中设置环境安装,代码执行等自动测试流程,用以在CI平台上执行。
4. 攻击者在配置文件中注入挖矿命令。图表4展示了一个配置文件的工作流程,它首先安装好docker环境,然后会通过方框内的命令下载挖矿软件xmrig并连接矿池rx.unmineable.com执行挖矿任务。


【论文分享】利用持续集成(CI)服务的非法挖矿活动(互联网网络犯罪检测学术前沿系列)

图表 4:配置文件中注入挖矿命令


最后,攻击者可以通过提交代码更新的方式,来触发配置文件在CI平台上的执行。


03

【数据收集】


文章作者从公共代码托管平台Github入手,提供了一个收集Cijacking样本实例的工具CijScan,其具体执行流程分为样本获取,样本解析,挖矿检测三个部分:

【论文分享】利用持续集成(CI)服务的非法挖矿活动(互联网网络犯罪检测学术前沿系列)

图表 5:CijScan架构


1. 样本获取。通过爬取Github平台的代码仓库,搜索仓库中是否存在CI平台的配置文件,如Travis平台的配置文件名为travis.yml,CircileCI平台的配置文件为 .circleci/config.yml  ,最后共收集到582438个配置了CI任务的代码仓库。

2. 样本解析。解析收集到的CI配置文件以及其执行日志,通过静态分析和外部脚本提取,收集CI平台上执行时的使用的命令和参数。

3. 挖矿检测。根据挖矿任务相关的关键词,通过正则匹配方式提取涉及到挖矿的代码仓库。其中最常见的是在矿池域名或IP前都会有字符串stratum+tcp://作为协议前缀。此外,研究人员还收集其他的静态输出信息,如钱包地址,哈希率,新区块通知等等,作为挖矿任务的判断依据。


【论文分享】利用持续集成(CI)服务的非法挖矿活动(互联网网络犯罪检测学术前沿系列)

图表 6:挖矿任务相关关键词


最终,研究人员共收集到了23个CI平台上的1974个Cijacking样本,样本共涉及到了865个GitHub仓库、607个GitHub帐户、71个矿池和104个钱包地址,其具体分布如下,TravisCI关联的样本和钱包地址最多。

【论文分享】利用持续集成(CI)服务的非法挖矿活动(互联网网络犯罪检测学术前沿系列)

图表 7:Cijacking样本分布



04

【主要发现】


基于收集到的Cijacking样本信息,研究人员主要从以下几个角度进行了分析:

1. Monero(门罗币)是攻击者最喜欢挖掘的虚拟货币,其矿池地址出现在了67.67%的Cijacking样本中。

【论文分享】利用持续集成(CI)服务的非法挖矿活动(互联网网络犯罪检测学术前沿系列)

图表 8:矿池分布


2. 根据钱包地址信息进行聚类,得到30个Cijacking团伙,其中有27个团伙会同时使用多个CI平台挖矿。


【论文分享】利用持续集成(CI)服务的非法挖矿活动(互联网网络犯罪检测学术前沿系列)

图表 9:团伙分布


3. Cijacking样本平均活跃时间为42.8天,其中86.18%的样本出现在研究进行时的两年内(2017年-2019年)。

【论文分享】利用持续集成(CI)服务的非法挖矿活动(互联网网络犯罪检测学术前沿系列)

图表 10:样本生命周期


4. 通过结合门罗币的价格估算,1336个门罗币Cijacking样本从2017年3月至2020年5月共获得了约80万美元的收益。

05

【防御方案】


文章作者并没有像以往研究提出的防御方案一样[4],通过利用各种检测方法直接定位到挖矿进程并杀死,而是别出心裁地观察到挖矿任务区别于普通CI任务独有的特点:需要在给定时间内完成分配的计算任务,否则就没有收益。具体来说,由于Cijacking的挖矿脚本都需要从矿池获得挖矿任务,如果在一定时间内没有得到指定的计算结果,那么矿池就会直接推送下一个任务过来,而上一个任务直接作废,也就没有产生任何收益。相对而言,普通CI任务并没有这种时间窗口的要求,中断后继续执行仍能得到正常结果。


基于以上发现,研究人员提出了一个针对Cijacking的防御工具:Cijitter。挖矿任务需要进行大量哈希计算,会频繁访问内存,Cijitter会检测这种频繁访问内存的可疑进程,并向其中注入sleep()指令延时,相当于变相降低了机器挖矿的哈希算力,从而阻碍了挖矿任务的正常完成。当攻击者察觉到这种攻击变得无利可图却需要耗费精力维护时,就会逐渐放弃这种攻击手段,从而达到防御的目的。


【论文分享】利用持续集成(CI)服务的非法挖矿活动(互联网网络犯罪检测学术前沿系列)

图表 11:挖矿任务和正常任务的对比


作者评估了该方案对9种不同加密货币挖矿任务的影响。实验结果表明,Cijitter可以使加密货币挖矿机器的哈希算力平均下降95.3%,其中,最低降低比率都在93.1%,说明了其有效性。

【论文分享】利用持续集成(CI)服务的非法挖矿活动(互联网网络犯罪检测学术前沿系列)

图表 12:Cijitter的效果统计


06

【结论】


本文研究了一种新型的针对CI平台的加密货币挖矿攻击方式,由于该种攻击隐藏在正常工作流程中,变得更加难以检测。该研究通过设计实验收集样本,揭示了此类攻击的流程、分布、演化和收益。此外,该研究还提出了一项针对加密货币挖矿特性的独特防御技术,让攻击者近乎无利可图,从而不再滥用CI服务挖矿。



原文链接

https://ieeexplore.ieee.org/document/9833803


参考文献

[1] Geng Hong, Zhemin Yang, Sen Yang, Lei Zhang, Yuhong Nan, Zhibo Zhang,Min Yang, Yuan Zhang, Zhiyun Qian, and Hai-Xin Duan. 2018. How You Get Shot in the Back: A Systematical Study about Cryptojacking in the Real World. In Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security, CCS 2018, 1701–1713.
[2] Sergio Pastrana and Guillermo Suarez-Tangil. 2019. A First Look at the CryptoMining Malware Ecosystem: A Decade of Unrestricted Wealth. In Proceedings of the Internet Measurement Conference, IMC 2019, 73–86.
[3] CircleCI. https://circleci.com/.
[4] Rashid Tahir, Muhammad Huzaifa, Anupam Das, Mohammad Ahmad, Carl Gunter, Fareed Zaffar, Matthew Caesar, and Nikita Borisov. Mining on someone else’s dime: Mitigating covert mining operations in clouds and enterprises. In Proceedings of the 2017 International Symposium on Research in Attacks, Intrusions, and Defenses, pages 287–310, 2017.

编辑&审校|刘保君、张一铭

原文始发于微信公众号(NISL实验室):【论文分享】利用持续集成(CI)服务的非法挖矿活动(互联网网络犯罪检测学术前沿系列)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年12月17日13:59:31
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【论文分享】利用持续集成(CI)服务的非法挖矿活动(互联网网络犯罪检测学术前沿系列)http://cn-sec.com/archives/1464275.html

发表评论

匿名网友 填写信息