导语:研究人员发现一个基于Mirai的恶意软件程序,能够运行在不同的平台和CPU架构之上,甚至可以运行在Linux服务器和Android手机上。
随着IoT设备数量的增加,IoT威胁图谱已发送改变,新一波DDoS攻击出现。2016年,Mirai僵尸网络事件发生后,恶意软件源码随即泄露。之后,Mirai变种数量平稳增长,攻击成功的另一方面说明IoT设备的管理环境恶劣。
与安卓操作系统相比,IoT操作系统碎片化更加严重,大多数的设备并不会收到已知漏洞的软件升级补丁。而且,恶意软件作者在不断进化恶意软件变种,然后就不断发展为跨平台和架构的恶意软件。
恶意软件可以运行的平台包括:
x86;
MIPS;
MIPSel;
ARMv4;
ARMv5;
ARMv6;
ARMv7;
PowerPC;
Motorola 68000;
ARC;
SH-4。
使用开源项目
跨平台IoT僵尸网络的一大痛点即可移动性。恶意软件必须能够在不同的架构和平台上运行。许多简单的复制粘贴、重用其他恶意软件代码基的开发者都失败了。
7月底,研究人员发现一个保存有多个恶意软件变种的远程服务器,每个变种对应一个特定的平台。随着Mirai的感染,恶意软件会在受害者设备上释放一个shell脚本。随后,shell脚本会下载和执行与当前架构相适应的可执行文件。
图1. 下载和执行与当前架构相适应的可执行文件的shell脚本
成功执行的可执行文件就是真实的Mirai payload,比如用默认凭证或漏洞创建随机地址列表和扫描设备的方式会枚举IP地址列表。
这些变种使用了Aboriginal Linux开源项目,使交叉编译进程变得更加容易和高效。而Aboriginal Linux本身并没有任何恶意,只不过是一起恶意软件作者滥用合法工具从事恶意行为的例子。
当前代码基融合了交叉编译框架,生成的恶意软件变种更加鲁棒,并可以与多种架构和设备相协调,其中就包括安卓设备。图2是运行在Android 4.4系统的安卓设备上运行的ARM 7恶意软件变种,图3是运行在Debian ARM上的恶意软件样本。
图2. 运行在Android 4.4系统的恶意样本
图3. 以Debian ARM端口调试的样本
恶意软件的其他功能与Mirai是一致的。比如,研究人员在容器缓解中运行样本时,恶意样本会扫描通过随机生成进程生成的超过50万个IP地址,然后通过23端口发送原始包数据。
缓解措施
Symantec对感染了恶意软件的IoT设备给出了以下建议:
在购买前,研究IoT设备的功能和安全特征;
在个人网络中进行IoT设备审计;
修改设备的默认凭证,对设备账户和Wifi网络使用强密码和不同与其他账户的密码;
设定WiFi网络时使用强加密方法(WPA);
关闭不需要的特征和服务;
关闭Telnet登陆,如果需要可以选择SSH登陆;
关闭路由器的UPnP服务;
根据需求和安全策略修改IoT设备的默认隐私和安全设定;
关闭或保护对IoT设备的远程访问;
如果有可能的话使用有线网络而不是无线网络;
定义检查厂商站点的安全更新;
确保硬件断电不会使设备进入不安全状态。
参考文章: