APP下载

智能联网设备身份认证安全风险评估

2018-10-18李青山

信息安全研究 2018年10期
关键词:脆弱性局域网攻击者

周 荆 李青山 陈 钟

(网络和软件安全保障教育部重点实验室(北京大学) 北京 100871)(sssz@pku.edu.cn)

近年来,随着可穿戴设备、智能摄像头、智能电视盒子、智能汽车等智能联网设备的迅速发展和普及,智能联网设备的安全性也受到更多的重视.根据国家互联网应急中心(CNCERT CC)公布的数据,智能互联设备暴露出的漏洞逐渐增多.2016年CNVD共公开收录1 117个物联网设备漏洞,涵盖网络摄像头、路由器、智能电视盒子等类型的物联网设备,其中,权限绕过、拒绝服务、信息泄露漏洞数量位列前三[1].

针对智能联网设备的攻击事件也呈上升趋势.攻击者利用设备漏洞可导致设备拒绝服务、获取设备控制权限或窃取用户信息数据、劫持网络流量等其他黑客地下产业交易,或用于被控制形成大规模僵尸网络.

2016年底,Mirai僵尸网络因制造美国东海岸大规模断网事件和德国电信大量用户访问网络异常事件而受到广泛关注.Mirai利用智能联网设备的漏洞对设备进行控制并不断传播,被控制的设备数量累计到一定数目便形成一个庞大的“僵尸网络”.僵尸网络可以轻易地通过DDoS攻击使攻击目标系统进入瘫痪状态,对公共和个人利益造成极大的损失.根据 CNCERT CC的报告,截至2016年底,共发现2 526台控制服务器控制了125.4万余台物联网智能设备,对互联网的稳定运行构成了严重的潜在安全威胁[2].

1 智能联网设备风险评估

智能联网设备连接成的网络是一种物联网,是传统互联网的进一步拓展.物联网不仅拥有传统互联网的特点,而且基于真实生活中的各种设备,拥有丰富的传感器信息,是一个更加生活化、复杂化的网络.

1.1 资产识别

信息安全资产是对组织具有一定价值的东西.资产以任何形式存在,如物理上的电脑硬件、软件、网络设施;逻辑上的数据库文件、计算资源、权限配置;抽象的组织声誉、个人隐私等.资产的安全需要从资产的机密性、完整性和可用性3个方面来评价,这3方面安全属性和达成程度对组织造成的影响决定资产的价值[3].例如,当个人隐私的机密性不足时会对个人带来极其严重的影响,所以,个人隐私是个人至关重要的资产.

在智能联网设备的场景中,传感器感知到的个人隐私和设备提供的服务是价值等级很高的资产.智能联网设备自身的硬件资源、使用的网络资源、网络连接证书是价值等级高的资产,而设备的日志是价值等级中等的资产.

1.2 威胁识别

智能联网设备组成的网络具有感知层、网络层、应用层3个层次,这3个层次面临不同的安全威胁[4].

感知层的作用是感知数据、接收数据、传递数据.感知层作为与真实数据的接触,主要面临着恶意假冒设备,感知数据被窃取、篡改、重放的安全威胁.

网络层依赖传统的网络传输技术,因此面临传统互联网的网络威胁.智能联网设备组成的网络其另一个特点是网络节点多,可被攻击利用的节点也多.众多的节点被攻击者利用将会对智能联网设备造成严重的安全威胁.传输层还面临着网络传输协议不恰当、恶意数据、拒绝服务攻击等安全威胁.

应用层决定了智能联网设备对使用者的展现形式.功能越多的设备在应用层越复杂,面临的威胁越多,威胁带来的影响和后果也层出不穷.应用层威胁带来的后果包括设备故障、设备隐私泄露、设备权限被篡改,成为攻击者的傀儡机.应用层面的威胁主要对来自外部输入数据,因此需要对来自网络层、感知层的数据进行仔细过滤防范.

1.3 脆弱性识别

脆弱性是信息系统资产固有的属性.单独的脆弱性不会对组织造成危害,但是威胁利用脆弱性可能造成危害.资产的脆弱性具有隐蔽性,在正常情况下不会暴露出来,只有在特殊的条件和环境下才能显现,而且不同的脆弱性需要在不同的条件下才能暴露出来.因为脆弱性对组织具有潜在威胁,所以识别脆弱性十分必要,但因为脆弱性的隐蔽特点,识别脆弱性是很困难的[5].

在智能联网设备的应用场景中,智能联网设备往往不是独立工作,而是与云端服务器和控制器相互通信,构成了智能联网设备的功能结构.如表1所示,智能联网设备的脆弱性主要包括以下方面:网络通信脆弱性、数据存储脆弱性、程序逻辑脆弱性.

表1 智能联网设备脆弱性分类

网络通信脆弱性是智能联网设备端与端之间通信的脆弱性.包括通信协议不完备、通信内容暴露、身份认证脆弱性等方面.通信协议不完备可以造成不能抵抗重放、篡改,抵抗拒绝服务攻击.通信内容暴露可以被中间人攻击(MITM攻击),导致通信过程的敏感信息泄露.通信内容暴露主要是因为通信过程采用明文,被破译的加密传输,或者通信过程未校验安全证书.身份认证脆弱性是指在通信过程中没有设计完善的身份认证机制,导致消息发送方是假冒的恶意攻击者.身份认证脆弱性可以导致智能联网设备的正常功能被攻击者利用而实施恶意行为.

数据存储脆弱性是指智能联网设备的本地信息存储的脆弱性,包括文件存储脆弱性和数据库存储脆弱性.文件存储脆弱性主要指文件权限设置不正确、文件内容未加密.数据库存储脆弱性包括数据库弱口令、数据库内容未加密.数据存储脆弱性容易在攻击者和设备物理接触或设备运行不可靠代码时被利用,进而丢失存储在文件中的日志、用户名密码、用户凭证等信息.例如对于运行Android系统的物联网设备,将文件存储在任何应用都可以访问的公共目录下是非常危险的,而暴露SQLite数据库的Token可以使攻击者在程序中查询、删除、修改、增加数据库内容,导致智能联网设备不能正常运行.

程序逻辑脆弱性是应用层程序的缺陷,既包括未处理的边界值和异常情况,也包括故意在程序中放入的逻辑炸弹、后门等.这类脆弱性不仅难以发现,而且在智能联网设备的版本升级过程中,十分容易引入新的逻辑脆弱性和修正旧的逻辑脆弱性.因此,这类脆弱性还依赖于版本而存在.

智能联网设备要尽可能通过对人员的访谈和充分的测试来发现脆弱性,也要避免脆弱性的暴露,如对通信过程进行加密、对应用程序进行对抗逆向工程的处理等,增加攻击者识别脆弱性的难度.

2 智能联网设备风险评估相关工作

2.1 对物联网中安全问题、挑战和开放性问题的分析

Hossain等人[6]总结了物联网中的安全问题和面对的挑战,并深入讨论了物联网中的攻击面、威胁模型、安全问题、安全需求和挑战.该文还提出了物联网领域中的一些开放性问题,以供研究人员着手思考物联网的安全问题.

根据攻击所在的网络,该文将攻击面分为局域网和公网两大类.物联网设备和控制器处于同一个局域网中.协调器管理同一个局域网内工作的多个物联网设备,并且通过局域网网关与外部网络通信.物联网设备服务提供方在公网工作.根据攻击的通信双方的角色,将攻击所属类别分为如表2所示的6类攻击面[6].该文针对的身份认证脆弱性则是在局域网内设备和控制器交流的攻击面上.

表2 物联网攻击面

2.2 僵尸网络和物联网安全[7]

Bertino等人[7]着眼于物联网安全中的僵尸网络安全问题,从著名的Mirai僵尸网络着手,概括性提出了对抗僵尸网络的方法.该方法分为3个部分,分别是入侵防御、入侵监控和报警响应.

入侵防御主要通过反病毒软件防御僵尸感染入侵,如防火墙、内容过滤和检测技术能有效防止系统中恶意软件的入侵.在入侵防御的保护下,物联网仍然可能受到攻击,所以对网络状态和设备行为的监控机制也至关重要.可以对网络带宽占用量、使用的网络协议、机器崩溃频率等信息来监控物联网状态.当监控系统发现物联网遭受攻击时,报警响应系统能够将攻击损失最小化,并且防止恶意程序的扩散.

2.3 基于免疫系统的物联网动态风险评估系统

物联网是动态变化的网络,其风险评估指数随时间而变化.为了动态评估物联网的风险指数,Liu等人[8]提出了一种模拟人体免疫系统的动态风险评估系统.该系统在物联网中不断嗅探网络包,将一个网络包看作是一个单元,并通过网络包来动态评估风险指数.

该系统利用人体免疫系统原理,动态评估物联网风险指数,具有很好的健壮性;可分布式部署在网络中不同的地方.缺点是不能对网络攻击以外的攻击方式进行防御,如文件窃取等;另一个缺点是系统从初始状态成长为可抵御攻击的系统其时间周期较长.

3 智能联网设备身份认证脆弱性识别

3.1 智能联网设备常见功能结构

智能联网设备的运行体系架构常见的是Client-Server架构,具体包括3个部分:智能联网设备、后台服务器和控制器.这3部分协同工作,共同完成智能联网设备的功能.任何一部分出现安全问题,都将对智能联网设备的安全性造成严重的安全威胁.

3个部分的关系如图1所示:

图1 智能联网设备功能关系

1)后台服务器

后台服务器存在于公共网络中,任何一个连接上互联网的设备都可以访问后台服务器.后台服务器可同时连接多个智能联网设备,接收并存储智能联网设备的最新状态.后台服务器还能把版本更新、推荐内容、影视资源等推送到智能联网设备.

后台服务器也能同时连接多个控制器,执行控制器的控制命令或将控制器的控制命令推送到智能设备.

2)智能联网设备

智能联网设备是与用户接触的前端产品,如智能电视盒子、智能摄像头等具体产品.智能联网设备的硬件和软件共同决定了设备的功能.

智能联网设备一方面主动与后台服务器通信,从服务器获取最新内容并展示给用户;另一方面,功能完善的智能联网设备也能开启自己的服务,接收控制器或者服务器的请求,执行控制器的控制命令.

3)控制器

控制器一般是厂商提供给用户用来控制智能联网设备的软件或者硬件,包括红外遥控器、智能手机控制软件、微信公众号、微信小程序等.

控制器控制智能联网设备有2种方式:一种是控制器和智能联网设备直接通信.控制器通过局域网或者物理方式直接连接到设备,通过智能联网设备开启的服务,向设备发出指令并获取设备返回的结果.另一种是控制器通过服务器连接到智能联网设备.当控制器不能直接连接到智能联网设备时,控制器转而连接处于公网的后台服务器,通过后台服务器获取智能联网设备的数据信息或者向智能联网设备发出控制命令.

3.2 智能联网设备身份认证脆弱性

本文着眼于智能设备与局域网内控制器通信的身份认证脆弱性(以下简称身份认证脆弱性).身份认证脆弱性是智能设备功能结构中智能设备与控制器在局域网中通信部分的脆弱性,在风险评估中属于网络脆弱性范畴.

网络通信的设计者在智能联网设备与控制器在同一个局域网的条件下,假设控制器是可靠的,控制器正常、安全地控制和使用智能联网设备.智能联网设备不用担心控制指令发送者的身份,可以对控制指令不加分辨地执行.实际上,这个假设有一个严重的缺陷:处在同一个局域网中的设备并不都是授权用户使用的设备,有可能是攻击者的傀儡机,或者是攻击者直接使用的机器.在这种情况下,智能联网设备暴露在攻击者的攻击范围内,对智能联网设备的安全构成严重的威胁,如图2所示:

图2 局域网内攻击

4 身份认证脆弱性识别方法和实例

4.1 身份认证脆弱性识别方法

身份未认证和弱认证的发掘需要结合抓包为主的黑盒测试和逆向工程为主的白盒测试.流程如图3所示.

首先,将智能联网设备和控制器连接到同一个局域网下,使用Wireshark,Fiddler抓包工具抓取该局域网内的网络包,获取控制器对智能联网设备控制过程的所有网络流量.

然后,抓取控制器对智能联网设备发送的控制指令对应的网络包,截取网络包中固定的字符串,如URL中固定的路径名或参数名.初步判断网络包中是否存在身份认证的字段.

可以进一步使用逆向工具搜索网络包中出现的URL中的特定字符串,对控制器和智能联网设备的网络通信过程进行逆向处理,明确通信参数的含义.

最后,在攻击设备上构造网络请求,模拟控制器和智能联网设备的通信过程,根据设备的行为判定是否存在身份认证脆弱性.若设备执行控制指令则存在身份认证脆弱性;否则,设备具有身份辨别能力.

4.2 厂商A智能电视盒子身份认证脆弱性识别

图3 身份认证脆弱性识别流程

厂商A生产的智能电视盒子(智能盒子A)和控制器在局域网的地址如表3所示:

表3 识别智能盒子A身份认证脆弱性时IP地址

将抓包主机设置为控制器的代理服务器,在控制器对智能设备发送“截图”控制命令的过程中,使用Fiddler抓到如图4所示的网络包:

图4 智能盒子A网络包

在2个网络包中,控制器访问了智能盒子A设置在6095端口上的服务.第1个网络请求包的路径是“ controller”,参数是“action=capturescreen”;第 2 个网络请求包的路径是” request”,参数是“action=getResource&name=screenCapture”.控制器通过这2个网络包发出的指令是“截图”并且获取截取的图片.在网络通信的过程中网络包没有携带身份认证的参数.

在浏览器中依次输入以下链接可以验证该身份未认证脆弱性是否存在.

http: 192.168.0.154:6095 controller?action=capturescreen

http: 192.168.0.154:6095 request?action=getResource&name=screenCapture

验证结果如图5和图6所示,通过浏览器成功对智能联网设备截屏,智能盒子A存在身份认证脆弱性.

图5 智能盒子A返回结果1

图6 智能盒子A返回结果2

使用逆向软件(jadx)处理控制器安装文件,在逆向结果中全局搜索URL路径名“ controller”,搜索结果如图7所示.

图7 智能盒子A搜索结果

在搜索结果中还发现其他很多功能的URL和对应的参数,可以逐一检查是否进行了身份认证.事实上,攻击者可以利用智能盒子A的身份认证脆弱性进行以下攻击:一是隐私窃取,攻击者不断使用截屏功能,实时偷窥用户屏幕内容;二是恶意内容推送,攻击者使用播放视频接口,使智能盒子播放恶意视频;三是安装执行恶意应用,攻击者通过模拟遥控按键、截屏等功能,执行下载、安装、启动恶意应用的行为;四是对智能盒子进行DDoS攻击,攻击者不断地访问提供的接口对盒子进行DDoS攻击,导致盒子不能正常工作.如果攻击者精心策划,组合使用功能接口,攻击者能够完成更加复杂的攻击,并完全控制设备.上述的厂商A智能电视盒子存在的身份认证脆弱性已被国家信息安全漏洞共享平台(CNVD)收录.

智能电视盒子A存在严重的身份认证脆弱性,这些身份认证脆弱性如果被威胁利用,会对资产构成严重的安全威胁.

4.3 厂商B智能电视盒子身份认证脆弱性识别

厂商B生产的智能电视盒子(智能盒子B)和控制器在局域网的地址如表4所示:

表4 识别电视盒子B身份认证脆弱性时IP地址

设置抓包主机为控制器的代理服务器.在控制过程中,抓到如图8所示的网络包:

图8 智能盒子B网络包

该网络包是控制器“按键”命令,网络包没有身份认证参数.

由于此智能电视盒子的控制器内嵌在微信公众号中,没有可以逆向的原始文件,所以不能进行逆向处理.

验证过程可以在浏览器中输入以下地址:

http: 192.168.0.164:7766 remote?key=1

浏览器得到的结果如图9所示,智能电视盒子接受了来自浏览器的控制指令,并正常返回,智能盒子执行“向左移动”的按键指令.因此,智能盒子B也存在身份认证脆弱性.

图9 智能盒子B返回结果

智能盒子B存在身份认证脆弱性,该身份认证脆弱性被威胁利用,可以对资产产生一定的负面影响.

5 一种身份认证方法

身份认证脆弱性的原因在于智能联网设备盲目相信局域网内的控制器.如果智能联网设备能够对局域网内的设备加以辨别,那么身份认证脆弱性能得到有效的解决.

智能联网设备辨别控制器的一种方法是智能联网设备进行验证码验证,如图10所示:

图10 验证码验证流程

当控制器需要向智能联网设备发送控制指令时,智能联网设备以某种方式展示验证码(不把验证码返回给控制器).然后,控制器将验证码发送给智能联网设备.只有在验证码验证通过时,智能联网设备才会执行控制指令.

智能联网设备可以根据设备的特点采取不同的展示验证码的方式,如智能摄像头可以利用语音功能将验证码转化为语音播放出来;智能电视可以把验证码展示在屏幕上;智能设备还可以通过短信将验证码发送给设备绑定用户的手机.

由于智能设备的验证码并没有直接返回给控制器,因此,如果攻击者想要通过身份认证问题对智能联网设备进行攻击,则攻击者必须先得到智能联网设备上的验证码.一般情况下,只能通过与设备进行物理接触的用户才能得到验证码,而攻击者不能得到验证码.这种验证码的身份认证机制提高了攻击者的攻击难度.

6 结束语和展望

智能联网设备和局域网内控制器通信过程中的身份认证脆弱性,是评估智能联网设备安全风险的重要内容.目前,该通信过程中的身份认证机制还十分欠缺,导致了智能联网设备普遍存在身份认证脆弱性,容易被攻击者攻击利用,可能对智能联网设备资产造成安全隐患.

本文针对身份认证脆弱性提出了一种识别智能联网设备身份认证脆弱性的方法,并在厂商A和厂商B的真实产品中验证了该方法的可行性.本文还提出了一种身份认证的方法,以加强身份认证机制.

在本文的工作基础之上,未来还将进一步提升识别过程的自动化水平,提高识别身份认证脆弱性的效率.

猜你喜欢

脆弱性局域网攻击者
工控系统脆弱性分析研究
轨道交通车-地通信无线局域网技术应用
基于VPN的机房局域网远程控制系统
正面迎接批判
基于DWT域的脆弱性音频水印算法研究
正面迎接批判
基于802.1Q协议的虚拟局域网技术研究与实现
局域网性能的优化
煤矿电网脆弱性评估
基于攻击图的工控系统脆弱性量化方法