【青莲云分析】IOT设备是如何让半个美国互联网瘫痪的-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 7038|回复: 1

【青莲云分析】IOT设备是如何让半个美国互联网瘫痪的

[复制链接]
发表于 2016-10-27 18:34 | 显示全部楼层 |阅读模式
本帖最后由 青莲云 于 2016-10-27 19:22 编辑

本文您将看到:

1、攻击事件回顾
2、恶意软件Mirai是什么
3、Mirai如何感染IOT设备的
4、Mirai如何控制IOT设备发起攻击
5、Mirai的另一种攻击思路
6、如何防止智能设备被恶意利用
附录:《感染IOT设备的恶意软件Mirai源代码分析》

QQ图片20161027173554.jpg

1、攻击事件回顾
日前,一场大规模的互联网瘫痪席卷了美国,2016年10月21日 11:10 UTC(北京时间19:10左右)恶意软件Mirai控制的僵尸网络对美国域名服务器管理服务供应商Dyn发起DDOS攻击,从而导致许多网站在美国东海岸地区宕机。

你可能没有听说Dyn,但你一定知道这些网站,如GitHub、Twitter、PayPal等。Dyn为这些著名网站提供基础的DNS服务,当其受到攻击时,用户无法通过域名访问这些站点。

2、恶意软件Mirai是什么
安全研究人员表示,造成此次网络宕机事件的罪魁祸首,可能是大量的物联网设备——包括联网的摄像头和数字录像机,这些设备可能因遭到黑客劫持而被利用。

据悉,控制这些设备的恶意软件名为Mirai。Mirai恶意软件的源代码由匿名人士开发,并于10月公开。Mirai软件能够感染各类存在漏洞的物联网设备,其中包括安保摄像头、DVR以及互联网路由器等。通过恶意感染,这些物联网装置将成为僵尸网络中的肉鸡设备,并被用于实施大规模DDoS攻击。

3、Mirai如何感染IOT设备的
1、网络扫描存在telnet服务
2、61组用户名密码组合暴力破解存在弱密码和出厂密码的iot设备
3、登陆telnet成功以后,远程执行命令获取iot设备指纹信息
4、远程下载iot设备架构对应的恶意可执行程序并执行
5、恶意程序执行以后,在局域网内扫描存在该漏洞的其他设备
6、感染周边的设备

4、Mirai如何控制IOT设备发起攻击
Mirai恶意程序有很强的自我保护性,会隐身,有反GDB调试能力,有防止watchdog重启设备能力;同时mirai有很一定的排它能力,能后杀死其他恶意程序或者僵尸网络远程控制。

Mirai一旦感染设备以后,获得设备的绝对控制权,会自动加载DDoS攻击模块,当有新的攻击指令下发的时候,就会发起DDoS攻击。

5、Mirai的另一种攻击思路
Mirai感染设备后,拥有绝对控制权,除了把设备当成攻击的发起者来进行DDoS攻击以外,还能够对设备本身的系统、业务、数据造成严重危害,比如能够篡改数据、窃取数据、修改系统配置、删除系统文件、杀死业务服务等等。

6、如何防止智能设备被恶意利用
1、提高安全意识,杜绝使用初始密码以和弱密码,提供密码安全等级
2、关闭多余的系统功能以及命令
3、限制busybox使用权限
4、关闭48101端口
5、添加监控,防止恶意程序的运行

附录:《感染IOT设备的恶意软件Mirai源代码分析》

目录

一、源码结构树
二、源码主要包含了三大块功能
三、loader功能
四、bot模块
五、CnC command and control模块

1、源码结构树
整个源码量不大,一个较小的工程,总共48个定义、实现文件。文件结构如下图

2774504863@chatroom_1477560741552_67.png

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

QQ图片20161027173609.jpg

4、bot模块

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

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

QQ图片20161027173605.jpg
5、CnC command and control模块
攻击主控端模块,主要创建两个服务,分别监听在23/101端口上。分别提供主要提供bot相关的管理;命令的应答处理。
QQ图片20161027173601.png


由于该恶意软件危害性很高,影响范围广,如需获取完整版源代码分析报告,请发邮件至biz@qinglianyun.com
附录:参考来源

关于青莲云

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

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

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

联系我们:

企业QQ:800186618
商务合作:biz@qinglianyun.com
咨询反馈:help@qinglianyun.com
开发者服务:dev@qinglianyun.com
通讯地址:北京市海淀区成府路45-1号智造大街F座2层205-206室

640.webp.jpg
                              

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 02:53 , Processed in 0.264669 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表