FreeFix勒索针对易语言开发者发起供应链攻击
- 2025-03-25 10:09:41
前不久,360发布了FreeFix勒索软件的详细分析报告,并向广大受害用户提供免费的技术解密服务。但根据我们的数据监控发现,FreeFix依然保有着居高不下的传播量,这也让我们对其攻击来源产生了极大的兴趣。而随着我们对大数据分析的进一步深入,我们发现FreeFix的各种传播来源中,竟然还存在着更为隐蔽的供应链攻击,值得进一步剖析。
在这种传播来源中,勒索软件通过感染易语言(EPL)生态系统中的“.ec”模块文件,构建出了一条从开发者到终端用户的完整攻击链条。与常规的勒索软件传播方式不同,FreeFix采用“源头带毒”策略,将攻击目标直接锁定在了软件开发这一环节上,让开发者在不知情的情况下成为了恶意代码的传播者。
供应链传播路径分析
FreeFix的传播者首先会通过开发者论坛、交流群等渠道分享他们的“功能模块”或“开源项目”,而恰恰就是在这些模块或项目中,夹带了这份被精心构造过感染模块文件。
而一旦有开发者加载并最终编译了该项目,这个“带毒模块”就会感染当前的开发者的开发环境,并尝试窃取开发者设备中的源代码。
同时,当开发者在这台被感染的设备上编译其他的程序时,其生成的新程序也同样会被悄悄的植入恶意代码。也就是说,该开发者此后发布的所有程序都可能是“带毒程序”,进而成为勒索软件的传播傀儡,将其恶意代码扩散给更多的用户。
FreeFix勒索软件进行此类攻击时的传播流程示意图如下:

图1. FreeFix易语言供应链攻击流程示意图
根据数据分析,我们发现的部分可能被感染的易语言“开源”项目有:

图2. 可能被感染的部分“开源”项目
恶意代码分析
此次遭到供应链攻击感染的.EC文件是易语言的模块文件,也称为易模块。用户可以将常用的代码封装起来以便在开发其他代码时重复引用,或提供给他人使用。有时亦可用作开发大型软件项目中的一部分,在后续软件项目的封装阶段再将所有这些模块编译成为一个完整程序。这种.EC文件相当于C语言里面的.LIB文件。
带有恶意代码的EC模块
通过反编译解析出来被感染的EC模块,可以看到植入的恶意代码如下:

图3. EC模块中被植入的恶意代码
这部分代码先是会检测当前程序是否是以管理员权限被执行的,若非管理员权限则会尝试以管理员权限重新启动。成功后,代码会将内置的Free_EXE 勒索软件资源数据释放到C:\FreeStart.exe位置,并将该程序设置为“隐藏+系统”的属性防止被用户发现。最后,执行这个刚刚被释放出来的FreeStart.exe程序。而该勒索软件的详细分析请移步我们此前发布的FreeFix相关分析报告,本文中不再赘述。

图4. 被感染模块中的Free_EXE恶意代码资源数据
感染本地编译环境
根据测试,在被感染的环境中使用E语言随意编写一段代码,只要调用了被植入恶意代码的EC模块,最终编译出来的程序就会被附加上FreeFix勒索软件功能代码。

图5. 易语言代码感染测试
同时,在测试过程中分析人员也发现被添加了勒索功能模块的测试程序,其最终编译完成后的软件体积也出现了明显增大。

图6. 被感染的测试程序软件体积增大
而通过分析攻击反编译这段被附加的功能,如检测管理员权限、释放并执行勒索软件等部分逻辑代码如下。

图7. 反编译出的附加勒索功能代码
窃取用户源码
除了勒索功能外,分析人员还发现部分被调用的E语言模块所编译出来的程序还会窃取用户设备上所有的易语言源码文件(.e文件)和模块文件(.ec文件)。我们捕获到的窃取木马在受害用户设备中的执行进程树如下:

图8. 源码窃取木马执行进程树
根据分析,我们发现这部分程序会查找受害用户设备中所有的.ec模块文件以及.e源码文件。

图9. 恶意代码查找设备中所有.e源码文件

图10. 恶意代码查找设备中所有.ec模块文件

图11. 源码窃取木马文件操作记录
木马窃取到上述文件后,会将其全部回传到一个第三方的云存储中。而全部文件被上传后,该云存储还返回了供文件下载的URL等信息:

图12. 源码窃取木马将文件回传至云存储
这种攻击手法不仅规避了常规安全防护机制,还利用了用户对熟悉开发资源的信任。更值得警惕的是,此病毒具备自我复制能力,能够感染开发者机器上的其他模块并窃取源码,进而进一步扩散。软件开发人员——尤其是易语言的开发者应对本次FreeFix的攻击格外提高警惕。
结论与防护建议
FreeFix勒索软件供应链攻击案例清晰地展示了当前网络威胁的复杂性与隐蔽性。通过感染易语言生态系统的基础模块组件,攻击者成功构建了一个自我持续、难以察觉的攻击链,实现了从开发者到终端用户的链式感染。这种攻击不仅给开发者和软件用户都带来了直接的数据损失,更是动摇了整个软件供应链的信任基础。
针对此类供应链攻击,我们提出以下防护建议:
对易语言开发者
1. 模块完整性校验:使用哈希值校验所有.ec模块,确保与官方发布版本一致。
2. 隔离开发环境:将开发环境与日常办公环境隔离,减少交叉感染风险。
3. 定期备份源码:重要源码应定期备份至离线存储设备,防止被加密或窃取。
4. 使用可信来源:仅从官方或经过验证的可信渠道获取模块和开源代码。
5. 代码审计:对引入的开源项目进行安全审计,特别关注可疑的网络连接行为。
6. 谨慎添加信任:对于安全软件报毒的程序切勿轻易添加信任继续运行。
对软件用户
1. 严格软件来源管理:仅从官方渠道下载软件,警惕第三方分发平台。
2. 更新安全软件:确保杀毒软件及时更新,启用主动防护功能。
3. 定期备份数据:重要数据应保持3-2-1备份策略(3份拷贝、2种不同存储介质、1份异地保存)。
4. 软件行为监控:使用行为监控工具,对异常行为如批量文件操作进行警示。
对软件生态
1. 建立模块验证机制:易语言社区应建立官方模块签名与验证机制。
2. 威胁情报共享:加强开发社区间的威胁情报共享,及时通报可疑模块。
3. 代码透明度:鼓励核心模块开源,提高社区监督能力。
4. 安全意识培训:定期为开发者提供供应链安全培训,提高警惕性。
随着软件供应链攻击日益增多,防护措施需要从个人、组织到整个生态系统多层面共同发力。只有构建起完整的安全防线,才能有效应对FreeFix这类精心设计的供应链攻击,保障软件开发生态的健康与安全。
360安全卫士
360杀毒
360文档卫士
360安全浏览器
360极速浏览器
360安全云盘
360随身WiFi
360搜索
系统急救箱
重装大师
勒索病毒救助
急救盘
高危漏洞免疫
360压缩
驱动大师
鲁大师
360换机助手
360清理大师Win10
360游戏大厅
360软件管家
360手机卫士
360防骚扰大师
360加固保
360贷款神器
360手机浏览器
360安全云盘
360免费WiFi
安全客
手机助手
安全换机
360帮帮
清理大师
省电王
360商城
360天气
360锁屏
手机专家
快剪辑
360影视
360娱乐
快资讯
你财富
360借条
360互助
信贷管家
360摄像机云台AI版
360摄像机小水滴AI版
360摄像机云台变焦版
360可视门铃
360摄像机云台1080p
家庭防火墙V5S增强版
家庭防火墙5Pro
家庭防火墙5SV2
家庭防火墙路由器5C
360儿童手表S1
360儿童手表8X
360儿童手表P1
360儿童手表SE5
360智能健康手表
行车记录仪M310
行车记录仪K600
行车记录仪G380
360行车记录仪G600
儿童安全座椅
360扫地机器人X90
360扫地机器人T90
360扫地机器人S7
360扫地机器人S6
360扫地机器人S5
360安全卫士
360杀毒
360文档卫士
360安全浏览器
360极速浏览器
360随身WiFi
360搜索
系统急救箱
重装大师
急救盘
勒索病毒救助
360压缩
驱动大师
鲁大师
360游戏大厅
360软件管家
360手机卫士
360防骚扰大师
手机急救箱
360加固保
360贷款神器
360免费WiFi
安全客
手机助手
一键root
安全换机
360帮帮
信用卫士
清理大师
省电王
360商城
流量卫士
360天气
360锁屏
手机专家
快剪辑
360影视
360娱乐
快资讯
你财富
360借条
360手机N7
360手机N6
Pro
360手机vizza
360手机N5S
360儿童手表6C
360儿童手表6W
360儿童手表SE2代
360手表SE2Plus
360老人手表
360摄像机大众版
360安全路由器P3
360安全路由器P2
360儿童机器人
外设产品
影音娱乐
平板电脑
二手手机
二代 美猴王版
二代
美猴王领航版
标准升级版
后视镜版
车载电器
京公网安备 11000002000006号