这一发现是通过对Stantinko僵尸网络的检查得出的

研究人员在一个活跃的加密货币挖掘僵尸网络中发现了他们称之为“独特”的新的混淆技术。

周四,网络安全公司ESET表示,这一发现是通过对Stantinko僵尸网络的检查得出的,该僵尸网络至少从2012年就开始活跃。

起初,Stantinko专注于广告软件的交付,主要在俄罗斯和乌克兰。恶意软件通过盗版软件作为感染媒介传播,下载者在执行这些文件的同时,也会在电脑上部署一系列的恶意软件和间谍软件。

这些运营商将通过恶意浏览器扩展、植入广告和点击欺诈等软件,以及安装后门和对CMS网站实施强力攻击来获得收入。

在2019年,Stantinko的运营商增加了一个新的加密货币挖掘模块,以产生更多的非法收入,并将其受害者池扩大到俄罗斯、乌克兰、白俄罗斯和哈萨克斯坦。

感兴趣的新Monero挖掘模块,考虑到“保护技术过程中遇到分析更先进的比他们的恶意软件保护,“弗拉季斯拉夫•Hrčka说。

ESET恶意软件分析师补充说,一些技术还没有“公开描述”。

参见:英国税务海关总署(HMRC)正在寻找追踪加密货币罪犯的工具

有两种混淆技术非常引人注目,一种是字符串隐藏的方式,另一种是控制流混淆。

第一种技术依赖于在内存中构造的字符串,这些字符串只有在使用时才出现在内存中。根据ESET的说法,所有嵌入到cryptocurrency模块中的字符串都与矿机的实际功能无关,并且“它们要么作为构建实际使用的字符串的构建块,要么根本没有使用。”

“恶意软件使用的字符串是在内存中生成的,以避免基于文件的检测和妨碍分析,”研究人员指出。

控制流混淆将控制流更改为难以读取的形式,并且基本块的订单的执行被认为是“不可预测的”。

单个函数被划分为多个块,然后这些块作为分派放到循环内的switch语句中,每个分派由一个基本块组成。控制变量决定要执行哪个块。

“基本块都被分配了一个ID,而控制变量总是保存基本块的ID,”研究人员说。“所有基本块都将控制变量的值设置为它的后继块的ID(一个基本块可以有多个可能的后继块;在这种情况下,可以在一定条件下选择直接继承人。”

然而,由于代码在源代码级别上是扁平的,所以在僵尸网络的情况下,剥离这种混淆的常用工具将不起作用。

此外,模块对控制流模糊化的使用包括两个控制功能的“头和尾”控制块。head决定需要执行哪个分派,而tail使用固定的常量增加控制变量,要么返回head,要么退出循环。

当dispatches被连接时,该模块还合并一些基本块。这整个过程不断导致扁平化循环中的异常,使分析变得困难。

此外,威胁行动者还实现了垃圾代码块和死字符串,这是一种防止恶意软件被检测为恶意软件的方法。还发现了“什么也不做”的代码,它是执行的,但是没有真正的功能。