不安全的IOT设备是如何导致Twitter、PayPal等网站宕机的?

  1. 云栖社区>
  2. 博客>
  3. 正文

不安全的IOT设备是如何导致Twitter、PayPal等网站宕机的?

liujae 2017-08-04 16:46:00 浏览755
展开阅读全文

日前,一场大规模的互联网瘫痪席卷了美国,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等网站宕机的?

网友评论

登录后评论
0/500
评论
liujae
+ 关注