联网智能设备网络安全技术研究

2018-09-12 08:43许子先
网络安全技术与应用 2018年9期
关键词:固件后门漏洞

◆许子先



联网智能设备网络安全技术研究

◆许子先

(中国信息通信研究院安全研究所 北京 100191)

本文主要阐述联网智能设备面临的安全隐患,并通过归纳联网智能设备特点,分析联网智能设备网络接口安全检测方法,并通过具体案例对检测方法进行说明。然后提出联网智能设备漏洞测试库及测试框架的设计方法及实现原理,最后提出一系列有针对性的安全防护建议。

智能设备;网络安全;智能家居;安全技术

1 联网智能设备特点

以智能家居为代表的联网智能设备使用得越来越广泛,同时也带来了不少安全风险。2016年以来发生了一系列由Mirai病毒感染智能摄像头及无线路由器而引发的攻击事件,包括此前的法国网站主机服务商OVH遭攻击、美国大半个互联网瘫痪、德国电信断网事件等让我们意识到联网智能设备被攻击不仅可影响设备使用,也会对共用基础网络造成巨大冲击。

联网智能设备被利用后会产生如此大的破坏力,主要源于联网智能设备的如下特点:

1.1 联网智能设备基数大

以智能家居为代表的联网智能设备数量大、种类多,是传统主机不曾出现的局面。在一个家庭中很可能拥有十台以上的联网智能设备,这些设备一方面提高了用户日常生活的信息化程度给用户的生活带来了便利,同时由于设备数量日益增加,使得攻击者能够控制的在线设备数量及占用的互联网带宽能够始终保持在一个相当的基数之上并不断增加,导致攻击者拥有巨大的破坏能力。以Mirai为例,在2016年9月源码公布后,攻击者在该源码基础上增加攻击模块,使其可感染包括摄像头、DVRs和路由器等联网智能设备,导致其僵尸网络的规模不断扩张,截止2016年10月仅源码公布一个月的时间,至少有30-40万台被感染的僵尸设备,美国Dyn、法国OVH公司都遭受到大规模DDoS攻击,流量峰值曾达到1.5Tpbs。

1.2 攻击扩散快

从近年来的多起大规模攻击事件可见,安全防护能力低下的物联网设备中极易滋生高传染力的病毒,通常自扩张的僵尸网络常用的攻击手段是弱口令扫描和漏洞攻击。通常一台联网设备被控制后,会对其他设备进行弱口令的扫描或漏洞攻击,攻击成功后会下载病毒自身到新的设备中,并不断蔓延。

1.3 攻击门槛低

从多起安全事件来看,利用联网智能设备发动攻击的技术门槛较低。利用配置上的缺陷如默认口令或弱口令是非常普遍的,如利用成功可在短时间内大范围传播,如针对智能机顶盒的病毒Rowdy利用Telnet弱口令进行登录并转播。由于智能设备性能受限,几乎不会部署防病毒防入侵的保护机制,因此对恶意程序的防护能力极为有限,导致攻击成本降低。

1.4 设备厂商忽视安全

为了追求客户流量,智能设备厂商需要以相对较少的成本快速不断推出新的功能来吸引用户,厂商不愿投入过多资源进行安全设计、安全编码、安全测试等,导致智能设备普遍存在升级困难、配置错误、固件漏洞等问题。

2 联网智能设备网络安全技术分析

通过上述特点及对以往的安全事件分析,可以在以下几个方面进行安全分析。内容主要包括:逆向分析固件缺陷、web接口安全检测。

2.1 逆向分析固件缺陷

可以通过反汇编、逆向分析的方式发现设备固件中存在的编码缺陷、逻辑缺陷以及后门。如使用木马后门特征码识别、程序执行流程逆向分析等方式对固件进行解包、反汇编、漏洞后门分析来进行检测。特征码识别主要依赖于漏洞、后门特征码库,可快速定位已知漏洞和后门,但对未知漏洞及后门的发现能力不足,通过人工挖掘的方式可发现未知漏洞及后门,但其效率较低,因此在实际检测中采用人工及自动化结合的方式进行,并在人工发现未知漏洞及后门后,提取其特征码录入特征库以备后续检测。

2.2 Web接口安全检测

通过Web扫描、代码审计、人工检测手段发现并验证系统Web接口存在的安全漏洞。Web接口安全检测主要内容包括:

(1)通用Web漏洞。如SQL注入攻击、跨站脚本攻击(XSS)、跨站请求伪造(CSRF)、上传文件攻击、命令执行等由于编码缺陷导致的安全漏洞。

(2)业务逻辑漏洞。如认证绕过、密码机制缺陷、非授权访问、平行权限、越权提权等等。

通过上述检测手段,在实验室复现案例如下。

2.3 网件设备32764端口后门技术验证

首先,在网件官方网站可下载DGN1000-V1.1.00.49WW固件,解压后在其官方声明中可看到,该固件主要针对32764端口后门进行修复。通过技术分析发现,该后门并没有彻底修复,而是对其进行了隐藏,并设置了触发机制。技术分析如下:

通过分析固件文件系统发现,其中包含Squashfs格式文件系统,如图1。对其解包,可获得系统文件目录,在该目录结构中检索之前的后门文件scfgmgr可发现该程序增加了“-l”参数,并发现在tf_tool对其有调用。解包后发现两个可疑程序tf_tool及scfgmgr,分别对其进行反汇编逆向分析。

图1 包含Squashfs格式文件系统

首先分析tf_tool程序,可发现在tf_tool的main函数中打开一个socket,等待协议类型为“0x8888”的数据包,如图2。

图2 协议类型为“0x8888”的数据包

然后对数据包中数据进行检测,当数据包中字段为“DGN1000”的MD5值且数据包类型为“0x201”时,则跳转到“loc_401240”执行。在“loc_401240”函数中会调用系统函数执行命令,可以看到在该函数中会调用“/usr/sbin/scfgmgr”程序执行“-f”操作,如图3。

图3 执行“-f”操作

接下来分析scfgmgr程序。通过之前分析,发现scfgmgr程序中有两个可疑参数“-l”和“-f”,在反汇编代码中可发现两参数执行的操作,如图4左侧为“-f”操作右侧为“-l”操作。

图4 左侧为“-f”操作右侧为“-l”操作

如图4可知,“-f”操作会创建一个socket连接并绑定“0x7FFC”端口(转换成十进制为32764端口)进行监听。“-l”操作创建一个socket连接等待接受数据。

综上可知,当tf_tool接收到后门触发数据包后,调用scfgmgr的“-f”操作创建后门连接,进而实现远程控制功能。

2.4 D-Link设备后门分析及验证

首先在D-Link官网下载DIR-100 - Revision A的Firmware镜像,版本为1.13。下载解压后得到固件文件 DIR100_v5.0.0EUb3_patch02.bix。

对固件结构进行分析可知,固件中包含四部分,分别对其分析,可知其中0x9DB90为SquashFS文件系统。对0x9DB90部分进行解析,获得系统文件目录。在/bin/目录下发现提供web服务的程序webs,使用ida对其进行逆向分析。可以看到Alpha Networks公司对该固件的修改是以“alpha”为前缀的,其中“alpha_auth_check”应该是负责认证功能的,对该函数进行分析。alpha_auth_check会针对http_request_t结构体里的一些指针进行字符串strcmp比较操作,然后调用check_login函数,来实现身份验证检查。如果一旦有字符串比较成功或check_login成功,它会返回1;否则,它会重定向浏览器到登录页,返回-1,如图5。

图5 D-Link设备后门分析及验证

由上述反汇编代码可知该函数首先提取请求的URL地址(在http_request_t数据结构体的偏移量0xB8处),检查它们是否含有字符串“graphic/” 或 “public/”。这些都是位于路由器的Web目录下的公开子目录,如果请求地址包含这样的字符串,则继续将http_request_t结构体中偏移量0xD0的字符串指针和字符串“xmlset_roodkcableoj28840ybtide”比较,如果字符匹配,就会跳过check_login函数,alpha_auth_check操作返回1(认证通过)。这样就可以绕过身份认证进行管理操作。而http_request_t偏移量0xD0处的指针指向的是User-Agent头信息,也就是说,如果浏览器的User-Agent值是“xmlset_roodkcableoj28840ybtide”,就可以绕过认证直接访问包含“graphic/” 或 “public/”的web控制界面进行管理操作。

实验室验证过程中,采用的是D-Link DIR-100中文版,固件版本为1.11CN(官方无升级版本)。测试发现该后门与英文版略有不同,将浏览器的User-Agent值是“xmlset_roodkcableoj28840ybtide”访问任何控制页面均不需要认证,发送如图6所示请求。即可不经过认证访问路由器控制页面。攻击者可以在http://192.168.0.1/Advance/adv_routing.htm页面配置静态路由对用户通信数据进行劫持。

图6 发送请求

3 联网智能设备网络安全检测方法

通过上述技术分析手段,可分析出智能设备的安全漏洞,通过对漏洞进行汇总,可形成检测漏洞库,可在漏洞库的基础上开发检测框架来调用漏洞库中的测试用例,来实现智能设备的安全检测。

实验室环境下,搭建漏洞库及测试框架如下。

3.1 联网智能设备漏洞测试库

首先,对已知漏洞测试用例进行收集、汇总、整理,按照统一的格式进行测试用例代码编写。其次,编码过程中需要统一测试用例模板,以方便漏洞测试框架调用。

在实验室环境下,采用python作为漏洞测试库编程语言,针对智能摄像头、智能无线路由器、智能监控、打印机等类型智能设备进行漏洞用例代码编写。

实验室环境下漏洞库包括如下典型设备漏洞:

(1)网件设备32764端口后门检测;

(2)D-Link设备后门检测;

(3)海康威视web弱口令;

(4)浙江宇视(DVR/NCR)监控设备远程命令执行漏洞;

(5)迈普网关webui任意文件下载;

(6)惠普打印机telnet未授权访问;

(7)juniper NetScreen防火墙后门(CVE-2015-7755);

(8)迈普vpn安全网关弱口令&&执行命令;

(9)锐捷VPN设备未授权访问漏洞;

(10)Dlink DIAGNOSTIC.PHP命令执行;

(11)Dlink 本地文件包含;

(12)上海安达通某网关产品&某VPN产品struts命令执行;

(13)SJW74系列安全网关 和 PN-2G安全网关信息泄露;

(14)富士施乐打印机默认口令漏洞;

(15)东芝topaccess打印机未授权漏洞;

(16)佳能打印机未授权漏洞。

3.2 联网智能设备漏洞测试框架

为了方便用户使用及第三方调用,漏洞测试框架采用B/S架构。因此使用Flask框架进行开发,用户可以通过web浏览器访问测试框架,以获取漏洞测试库列表,并通过web页面输入待测试设备的IP地址并进行漏洞检测。框架会通过调用漏洞测试用例库对目标地址进行漏洞检测,当检测完成后会将结果通过web界面反馈给用户。

为了提高检测效率,在设计漏洞测试框架时在正式调用漏洞测试样例前采用预测试模式,首先对目标ip进行探测,以发现其banner信息及组件版本信息,并通过banner信息在漏洞测试样例库中进行筛选,获得与之匹配的智能设备产品,再通过组件版本信息进行二次筛选,最后调用筛选剩下的用例进行漏洞测试,以提高检测效率。

4 联网智能设备防护建议

针对联网智能设备安全防护建议从监管单位、设备厂商、用户三方面共同加强。

4.1 监管部门对互联网暴露的智能设备进行安全监测

针对互联网暴露面的智能设备周期性进行安全隐患发现及漏洞检测,以尽早发现安全隐患,并及时通运营企业或使用者进行加固修复。如发现未公开漏洞则通知设备厂商对其进行补丁升级,并发布补丁信息指导用户升级设备固件。

4.2 厂商对设备漏洞进行加固并督促用户修复

设备厂商应该对其产品进行漏洞管理,发现漏洞或接收到漏洞上报后,应该及时对漏洞进行分析,并形成稳定补丁,补丁严格测试后在官方进行发布,并督促用户及时升级固件以修复漏洞。

4.3 用户需提高智能设备安全防护意识

用户需要关注自己使用的智能设备运行状态,当收到厂商发布的补丁升级提醒时,及时升级设备软件版本,以保证设备安全稳定运行。

[1]朱晓莲,甄彦虎.移动智能设备安全分析及防护策略[J].计算机与网络,2012.

[2]韩兰胜,王婷.移动智能设备安全探析[J].中国信息安全,2015.

[3]柒月.智能设备安全问题引人堪忧 警惕!智能设备也许就是你生活中的“致命武器”[J].信息安全与通信保密,2016.

[4]王雅哲,张城毅,霍冬冬等.IoT智能设备安全威胁及防护技术综述[J].信息安全学报,2018.

[5]刘占.智能设备安全探讨[J].网络安全技术与应用,2015.

[6]赵静,麻名蕊,宋振.基于物联网的智能家居安全防护系统设计[J].电子技术与软件工程,2017.

[7]李翔.智能家居信息安全关键技术的研究[D].长安大学,2015.

[8]罗洪,杨杰.物联网环境下的智能家居安全探讨[J].信息与电脑(理论版),2015.

国家自然科学基金(No. 61471129):云计算环境下隐私保护和远程评估技术研究。

猜你喜欢
固件后门漏洞
漏洞
工业物联网后门隐私的泄露感知研究
基于SHA1的SCADA系统PLC固件完整性验证方法
三明:“两票制”堵住加价漏洞
基于UEFI固件的攻击验证技术研究*
漏洞在哪儿
基于固件的远程身份认证
高铁急救应补齐三漏洞
这个班还不错
新帕萨特右后门玻璃升降功能失效