IoTAegis:安全研究人员提出一种保护物联网的解决方案

分类: 打印机驱动使用 发布时间:2018-07-31 02:15

恶意病毒肆意感染物联网设备

物联网设备(Internet-of-Things),如网络摄像机,打印机,IP电话,智能电视,智能冰箱,智能电表等,现如今已遍布我们生活的方方面面。在我们享受物联网设备带来便利的同时,这些设备已悄然成为恶意攻击者攻击的对象。攻击者可以利用这些设备窃取用户信息,或利用其向攻击目标发起网络攻击。

通常,使用默认登陆密码和长期使用存在安全漏洞的固件版本是导致物联网设备被利用攻击的主要原因。相应地,针对物联网设备的攻击方式主要分为两种:

安全配置攻击 攻击者可能会面向弱密码或无密码保护的物联网设备发起密码攻击,例如:暴力破解和字典攻击。 一旦获得访问权限,攻击者可以进一步修改设备的配置,以防止授权用户访问或控制设备。

设备固件攻击 攻击者可能通过利用旧版本固件中存在的安全漏洞来感染物联网设备。某些设备(例如2011年之前的所有HP打印机)支持远程固件更新,而且无需检查固件的签名,攻击者若能远程访问目标设备,便可以通过更新恶意固件来感染设备。

2016年10月21日,Dyn公司提供的DNS服务遭到了数次通过Mirai病毒感染的物联网设备发起的大型分布式拒绝服务(DDoS)攻击,导致多个高访问量的网站无法正常打开,其中包括GitHub、Twitter、Reddit、Netflix和Airbnb等。据了解,Mirai病毒就是通过安全配置攻击的方式扫描并暴力破解物联网设备的默认密码,进而感染设备。设备一旦被感染,会继续正常工作,但在特定的时候,受感染设备会被远程控制向特定的IP地址(攻击目标)发动攻击,这样的攻击往往是大型分布式拒绝服务(DDoS)攻击。

由于用户缺乏网络安全意识,当前大量网络摄像头、路由器、网络打印机等仍然使用默认的用户名密码或旧版本的固件,面临着被恶意代码感染的风险。例如,据监测统计,仅Mirai病毒,世界上就有多达50万台物联网设备被感染,并且数量正在增长。

物联网的安全问题已经成为国内外学术界和工业界共同关心的问题。

物联网设备数量众多种类繁杂

针对物联网设备安全问题,美国德州农工大学从事网络安全研究的郑致远博士(Dr. Zhiyuan Zheng)及其所在的研究团队在美国校园网络中收集了一些网络数据来分析网络中物联网设备的数量、种类、和安全程度。

研究发现,物联网设备在数量上远超传统计算机、笔记本等计算设备。郑致远博士描述道:“物联网设备的安全状况令人堪忧,有超过58.9%的物联网设备没有使用最新的固件版本,而旧的固件版本很大程度上存在着安全漏洞;并且有超过51.3%的物联网设备没有用户自定义密码。”

他们发现数量最多的物联网设备依次是互联网电话,打印机,AV设备,UPS(不间断电源),路由器和网关等。这些设备如果受到损害可能会导致非常严重的问题。而且每个品牌的物联网设备都有各自不同的管理页面,进而增加了统一管理的难度。

图1.校园网络设备的种类划分,物联网设备的数量超过计算机数量

图2.打印机最新发布软件版本和现在使用的软件版本对比,大量打印机仍然使用旧的软件版本1

安全解决方案:IoTAegis

为应对物联网安全风险,郑博士团队近日提出一种解决方案IoTAegis,能有效保护物联网设备。如图3所示,“IoTAegis首先通过主动和被动识别的方式来发掘网络中的物联网设备,这些方法包括端口扫描,或者使用服务识别协议DNS-SD和UPnP等被动监听方法来识别网络中的物联网设备。”郑致远博士介绍道,“在网络中识别出易感染的物联网设备以后,IoTAegis可以自动智能管理设备的安全设置,下载并安装最新软件版本或补丁,保证物联网设备都使用最新版本的软件和用户定义的密码,从而有效阻止网络攻击。”

具体来说,IoTAegis包含两种类型的配置文件(Profiles),“设备配置文件”(Device Profiles)和“协议配置文件”(Protocol Profiles),它们相当于操作系统使用的设备驱动程序。其中,“协议配置文件”负责控制用于检测设备的通讯协议(如DNS-SD,uPnp)和采集设备信息、更新密码等操作所使用的通讯协议(如HTTP);“设备配置文件”负责发掘识别设备种类和管理固件版本。

图3. IoTAegis解决方案构成

IoTAegis使用事件驱动(Event-driven)的体系架构, 比如 “DNS-SD配置文件”一旦通过mDNS协议监听到网络内的主机及其开放服务,继而会生成事件,并告知相应的“设备配置文件”(例如,若发现主机开放_printer._tcp服务则对应通知Unix 打印机“设备配置文件”)执行信息采集、设备识别、配置管理、固件更新等一系列跟进操作。

IoTAegis解决方案基于四项关键功能:主机发现、设备识别、配置管理,以及固件更新。

(a)主机发现

IoTAegis借助于Avahi客户端库构建“DNS-SD配置文件”,用于被动监测网络上的服务和主机,或利用Nmap 和 Zmap等开源程序主动扫描特定端口并识别主机。例如识别开放TCP端口80和443的非SCADA设备,以及开放TCP端口502(Modbus协议)、TCP端口20,000(DNP3协议)和UDP端口47,808(BACnet协议)的SCADA设备。

(b)设备识别

IoTAegis根据不同通讯协议所对应的服务,自动识别物联网设备类型。例如,_printer._tcp对应于Unix打印机,_pdl-datastream._tcp对应于页面描述语言(PDL)打印机,而_ipp._tcp对应于Internet打印协议(IPP)打印机。此外,利用DNS-SD TXT 记录中的键值对,可进一步获取设备品牌和型号信息。

当设备的识别信息不足或没有发布DNS-SD数据时,IoTAegis可以通过“协议配置文件”发起特定请求,再由“设备配置文件”根据反馈信息识别设备。例如,可以向设备发起HTTP请求,再根据HTTP索引页面匹配设备签名。“协议配置文件”不限于HTTP协议,可以根据需要进行扩展,相应地,可以开发新的“设备配置文件”及程序逻辑以识别更多设备。

(c)配置管理

IoTAegis提供了安全配置管理的功能,当设备使用简单的HTTP身份验证时,IoTAegis会尝试使用默认身份验证信息登录,如登录成功,IoTAegis会自动更新用户名和密码,并存储在密码管理工具中,用户可以通过访问密码管理工具获取密码并登陆设备。除了默认密码配置问题之外,IoTAegis还能检测到一些开启但并未使用的网络端口,这些端口为网络攻击提供了更多潜在的威胁。用户可以根据不同设备,在“设备配置文件”中管理并更新所开启的通讯协议和安全设置。因此,IoTAegis的“设备配置文件”可以替代物联网供应商提供的设备配置软件,统一的用户管理界面更方便用户管理连接到其家庭或工作网络中的各种设备。

(d)固件更新

对于检测到的设备,IoTAegis会自动下载相应的远程固件更新(RFU)文件并与当前设备固件的版本比对,对仍使用旧版本的设备,IoTAegis会将RFU文件传输到设备相应端口进行更新。在将固件更新到最新版本之前,有时需要一些逻辑将非常旧的固件更新为中间版本,IoTAegis会将这些逻辑包含在“设备配置文件”中,从而准确控制更新过程。下载并传输固件后,打印机将执行RFU文件中包含的更新命令,无需用户干预。利用IoTAegis的固件更新功能,网络上的物联网设备可以使用最新版本的固件,以防止攻击者利用已知漏洞发起网络攻击。

IoTAegis并非解决此问题的唯一方案,网络安全公司诺顿开发的Norton Core提供了智能家庭路由器解决方案。郑致远博士也对比分析了IoTAegis和Norton Core的不同:“Norton Core通过网络层的流量监测来发现可疑的物联网设备,而IoTAegis是通过设备层的安全管理来保护物联网设备。两者采用的方法不同。”

IoTAegis意在防范Mirai等恶意软件攻击,为整个物联网安全领域带来很大的改变。该解决方案能有效的更新物联网设备的安全设置,并且方案成本很低,灵活性高,可以跟现有的网关路由器结合,适用于大型工作网络和小型家庭网络。据了解,IoTAegis已经被国内外很多院校机构使用来保护物联网设备。该研究成果也被国内外一些媒体报道,包括Infosecurity等。

IoTAegis只是郑博士和所在团队的研究成果之一,他们的研究方向还包括利用机器学习和随机过程解决工业控制系统,汽车系统,智能电网等的安全问题,这些领域极为重要并很有挑战。关于更多该团队的研究成果,请登录其实验室网站。

文中提及的研究成果和图片均来自论文“Zhiyuan Zheng, Allen Webb, A. L. Narasimha Reddy, Riccardo Bettati, IoTAegis: A Scalable Framework to Secure the Internet of Things, Invited Paper at IEEE ICCCN, July 2018.” 。郑致远博士毕业于美国德州农工大学计算机工程专业,研究方向包括网络安全,工业控制系统和物联网安全,现工作于Pinterest。Allen Webb毕业于美国德州农工大学计算机工程专业,主要研究网络安全,现工作于Google。Reddy教授和Bettati教授工作于美国德州农工大学,研究方向包括网络安全,操作系统,计算机存储系统等。

更多阅读