日前,一场大规模的互联网瘫痪席卷了美国,2016年10月21日 11:10 UTC(北京时间19:10左右)恶意软件Mirai控制的僵尸网络对美国域名服务器管理服务供应商Dyn发起DDOS攻击,从而导致许多网站在美国东海岸地区宕机。以下是来自青莲云对感染IOT设备的恶意软件Mirai的分析。
本文您将看到:
1、攻击事件回顾
2、恶意软件Mirai是什么
3、Mirai如何感染IOT设备的
4、Mirai如何控制IOT设备发起攻击
5、Mirai的另一种攻击思路
6、如何防止智能设备被恶意利用
附录:《感染IOT设备的恶意软件Mirai源代码分析》
攻击事件回顾
日前,一场大规模的互联网瘫痪席卷了美国,2016年10月21日 11:10 UTC(北京时间19:10左右)恶意软件Mirai控制的僵尸网络对美国域名服务器管理服务供应商Dyn发起DDOS攻击,从而导致许多网站在美国东海岸地区宕机。
你可能没有听说Dyn,但你一定知道这些网站,如GitHub、Twitter、PayPal等。Dyn为这些著名网站提供基础的DNS服务,当其受到攻击时,用户无法通过域名访问这些站点。
恶意软件Mirai是什么
安全研究人员表示,造成此次网络宕机事件的罪魁祸首,可能是大量的物联网设备——包括联网的摄像头和数字录像机,这些设备可能因遭到黑客劫持而被利用。
据悉,控制这些设备的恶意软件名为Mirai。Mirai恶意软件的源代码由匿名人士开发,并于10月公开。Mirai软件能够感染各类存在漏洞的物联网设备,其中包括安保摄像头、DVR以及互联网路由器等。通过恶意感染,这些物联网装置将成为僵尸网络中的肉鸡设备,并被用于实施大规模DDoS攻击。
Mirai如何感染IOT设备的
1、网络扫描存在telnet服务
2、61组用户名密码组合暴力破解存在弱密码和出厂密码的iot设备
3、登陆telnet成功以后,远程执行命令获取iot设备指纹信息
4、远程下载iot设备架构对应的恶意可执行程序并执行
5、恶意程序执行以后,在局域网内扫描存在该漏洞的其他设备
6、感染周边的设备
Mirai如何控制IOT设备发起攻击
Mirai恶意程序有很强的自我保护性,会隐身,有反GDB调试能力,有防止watchdog重启设备能力;同时mirai有很一定的排它能力,能后杀死其他恶意程序或者僵尸网络远程控制。
Mirai一旦感染设备以后,获得设备的绝对控制权,会自动加载DDoS攻击模块,当有新的攻击指令下发的时候,就会发起DDoS攻击。
Mirai的另一种攻击思路
Mirai感染设备后,拥有绝对控制权,除了把设备当成攻击的发起者来进行DDoS攻击以外,还能够对设备本身的系统、业务、数据造成严重危害,比如能够篡改数据、窃取数据、修改系统配置、删除系统文件、杀死业务服务等等。
如何防止智能设备被恶意利用
1、提高安全意识,杜绝使用初始密码以和弱密码,提供密码安全等级
2、关闭多余的系统功能以及命令
3、限制busybox使用权限
4、关闭48101端口
5、添加监控,防止恶意程序的运行
附录:《感染IOT设备的恶意软件Mirai源代码分析》
目录
一、源码结构树
二、源码主要包含了三大块功能
三、loader功能
四、bot模块
五、CnC command and control模块
1 源码结构树
整个源码量不大,一个较小的工程,总共48个定义、实现文件。文件结构如下图
2 源码主要包含了三大块功能
1、loader
攻击程序加载器,用于将实际攻击程序加载到目标IOT设备上。
2、bot
用于实施恶意攻击的程序模块,该模块为被控制端。
3、cnc
控制端模块,用于管理bot以及命令的应答和处理。
3 loader功能
由于线程处理逻辑相对其他来说,比较复杂,这里摘除不容易理解部分分析说明一下。
handle_event函数负责处理server与目标肉鸡telnet连接上交互的数据。
处理主要分为三个大部分,每个大部分又有很多小的步骤来组成。为了区分每个步骤的处理逻辑,handle_event中维护了简单的状态机,定义如下:
TELNET_CLOSED, // 0
……
TELNET_CLEANUP // 19
这部分在查看代码的时候会发现,大量用到ECCHI命令。
主要有两个方面的考虑:
筛选目标telnet肉鸡系统,防止目标是比较完整的linux机器,甚至能够识别出一些蜜罐系统比如cowrie。因为这些无关的系统在执行busybox ECCHI命令后,会提出一些helper信息,而不是简单的”ECCHI: applet not found”
起标签作用,攻击者在很多命令后面都会添加上"/bin/busyboxECCHI",在返回处理结果的数据中,可以找”ECCHI: applet not found”的位置,来区分获取想要得到的数据。
4 bot模块
bot模块,用于实施攻击的程序,包含自身保护机制、扫描、域名解析、各种DDoS攻击等。
攻击模块加载初始化,添加udp、tcp、dns、vse、syn等多种攻击模块,具体每种攻击实现都可以在attack_xx.c文件中找到。
5 CnC command and control模块
攻击主控端模块,主要创建两个服务,分别监听在23/101端口上。分别提供主要提供bot相关的管理;命令的应答处理。
关于青莲云
青莲云核心团队来自奇虎360、梆梆安全等物联网和安全企业巨头,具有10年以上企业级安全产品和云平台研发及服务经验,并拥有多项技术发明专利。
青莲云是国内首个物联网安全接入整体解决方案,为智能硬件企业及个人开发者提供强安全的独立设备密钥、双向消息推送、实时长连接、设备联动、大数据可视化分析等必备云端功能,高效解决智能硬件安全联网和后端重复开发问题。
青莲云是ARM孵化器安创空间第一期孵化的明星企业,也是阿里云物联网解决方案官方推荐伙伴,并同物联网生态系统深度合作,助力中国社会和产业的智能化转型。