【深度分析】不安全的IOT设备是如何导致Twitter、PayPal等网站宕机的?

安全
2016年10月21日 11:10 UTC(北京时间19:10左右)恶意软件Mirai控制的僵尸网络对美国域名服务器管理服务供应商Dyn发起DDOS攻击,从而导致许多网站在美国东海岸地区宕机。

日前,一场大规模的互联网瘫痪席卷了美国,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源代码分析》

 

【深度分析】不安全的IOT设备是如何导致Twitter、PayPal等网站宕机的?

 

攻击事件回顾

日前,一场大规模的互联网瘫痪席卷了美国,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个定义、实现文件。文件结构如下图

 

【深度分析】不安全的IOT设备是如何导致Twitter、PayPal等网站宕机的?

 

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”的位置,来区分获取想要得到的数据。

 

【深度分析】不安全的IOT设备是如何导致Twitter、PayPal等网站宕机的?

 

 

【深度分析】不安全的IOT设备是如何导致Twitter、PayPal等网站宕机的?

 

4 bot模块

bot模块,用于实施攻击的程序,包含自身保护机制、扫描、域名解析、各种DDoS攻击等。

攻击模块加载初始化,添加udp、tcp、dns、vse、syn等多种攻击模块,具体每种攻击实现都可以在attack_xx.c文件中找到。

 

【深度分析】不安全的IOT设备是如何导致Twitter、PayPal等网站宕机的?

 

5 CnC command and control模块

攻击主控端模块,主要创建两个服务,分别监听在23/101端口上。分别提供主要提供bot相关的管理;命令的应答处理。

 

【深度分析】不安全的IOT设备是如何导致Twitter、PayPal等网站宕机的?

关于青莲云

青莲云核心团队来自奇虎360、梆梆安全等物联网和安全企业巨头,具有10年以上企业级安全产品和云平台研发及服务经验,并拥有多项技术发明专利。

青莲云是国内首个物联网安全接入整体解决方案,为智能硬件企业及个人开发者提供强安全的独立设备密钥、双向消息推送、实时长连接、设备联动、大数据可视化分析等必备云端功能,高效解决智能硬件安全联网和后端重复开发问题。

 

青莲云是ARM孵化器安创空间第一期孵化的明星企业,也是阿里云物联网解决方案官方推荐伙伴,并同物联网生态系统深度合作,助力中国社会和产业的智能化转型。

责任编辑:蓝雨泪 来源: 青莲云
相关推荐

2023-06-01 19:24:16

2018-01-26 10:49:19

2018-06-11 23:44:03

2015-07-01 14:48:51

2009-08-03 16:58:59

C#不安全代码

2024-03-22 12:29:03

HashMap线程

2015-05-27 13:19:23

2018-10-19 07:37:07

2015-10-22 10:28:37

FirefoxHTTP明文密码

2009-08-27 14:15:37

绿色地址栏EVSSL身份验证

2015-10-16 10:03:36

安卓设备安全终端安全

2023-09-18 08:01:06

Spring管理Mybatis

2009-07-17 10:23:24

2012-04-16 10:12:54

Java线程

2020-04-23 10:36:45

容器云安全云计算

2017-10-18 11:21:43

2016-11-28 09:56:56

2016-09-18 20:44:55

谷歌Chrome浏览器

2024-01-19 08:42:45

Java线程字符串

2018-02-24 16:47:32

点赞
收藏

51CTO技术栈公众号