1绪 论
当今正是“物联网”(Internet of Things, IoT)技术的黄金时代:嵌入式处理器的性能和片上资源的丰富度得到了长足的提升,嵌入式设备可实现的功能逐步多样化;Wi-Fi(wireless fidelity)、蓝牙、5G(5th generation)等无线通信技术得到全面普及,使得“万物互联”的门槛前所未有地降低;同时,嵌入式设备与手机、路由器等智能设备间的协作大大增加,极大地提升了嵌入式设备的功能性和用户体验。物联网技术已经深入到了普通人生活的方方面面:从家中的扫地机器人、智能音箱、蓝牙开关,到工业中的物流机器人、无人机等,均是对物联网技术的典型应用。
然而,物联网设备的安全问题不可小觑。与生活中常见的个人计算机(personal computer, PC)、手机等计算设备相比,物联网设备更易出现安全漏洞,也更易成为网络攻击的目标。其中的原因众多,举例如下:
物联网设备的计算资源有限,设备上通常不会部署完整的操作系统,因此物联网设备上极少使用目前在 PC 和智能手机上常见的二进制安全加固措施,如:地址空间布局随机化(address space layout randomization, ASLR),可写、可执行内存不相交,栈溢出保护(stacksmashing protection, SSP)等[5]。这使得设备上的软件漏洞更易被攻击者利用,以获得对设备的控制权。
同理,物联网设备上通常不存在防火墙等复杂安全机制,物联网设备的安全严重依赖于周边网络环境的安全性。
一部分(尤其是低端)物联网设备上的安全机制设计过于简单,且设备上的代码没有经过充分的安全审计,因此更容易存在安全弱点,这增大了设备遭受安全攻击的风险。
由于物联网设备“无处不在”、长时间在线的特性,物联网设备更容易遭到扫描和攻击。尤其一些长期暴露在公网上的设备,如路由器、“树莓派”等,此类设备是黑客重点研究、扫描和攻击的对象。一旦物联网设备遭受攻击,并进入僵尸网络,将很有可能对同网络上的其它设备造成长期的、持久的损害,并且难以被设备的主人发现。
物联网设备自身的特性,使得这些设备对于物理层面的侧信道攻击(side-channel attacks)更为敏感。例如,物联网设备的功耗与 CPU 的执行状态具有很强的相关性,攻击者很容易通过测量物联网设备的功耗变化来间接推算出 CPU 的执行状态,并泄露出用户密码等机密信息。此外,物联网设备对于拒绝服务(denial of service, DoS)攻击也更为敏感,例如攻击者可以通过反复唤醒一台物联网设备来实现损耗其寿命的目的[8]。
图1 针对物联网设备的攻击类型
正因以上原因,针对物联网设备的安全分析和加固与传统 PC 设备有很大不同,物联网安全领域需要新的技术和方法的指导。目前,学术界和业界已经有了一些针对物联网安全的研究,但业界对于物联网设备安全性的重视程度普遍不足,针对物联网设备的网络攻击仍然非常活跃。由于物联网设备的市场占有率稳步提升,物联网安全逐步成为信息安全领域的一个重要议题。
本文主要分为 4 大部分。在第一部分,我们对物联网技术的现状,以及针对物联网设备易受安全威胁的原因进行了简要阐述。在第二部分,我们将对现有物联网设备所面临的主要威胁进行综述。在第三部分,我们将描述一些物联网设备所特有的安全机制。在第四部分,我们将简要阐述目前业界所建立起的针对物联网设备的一些安全实践。最后,我们将对全文进行总结。
2针对物联网设备的安全威胁
传统上,一个物联网系统大致可以分为 3 个层次,分别是[4]:
图2 物联网系统模型
1. 感知层(perception layer),负责提供物理上的传感器和通信网络,如射频识别(RFID,radio frequency identification),全球定位系统(GPS,global positioning system)等;
2. 传输层(transportation layer),负责在物联网设备与互联网(Internet)之间建立通信,例如蓝牙网关等;
3. 应用层(application layer),负责实现物联网设备本身的功能,如扫地机器人的自动寻路、智能音箱的语音识别功能等。
这3个不同层次的特性各不相同,因此也面临不同的安全威胁,详述如下。
感知层安全。感知层面临的主要威胁有以下几种类型:
物理攻击。在取得对设备的物理接触之后,攻击者将能够直接提取设备上的敏感数据,或是修改设备上的程序,在其中加入恶意代码。此类攻击需要与设备进行物理接触,因此相对来说较容易防范;但设备厂商也有必要考虑设备本身在物理层面的安全性问题,例如需要避免在设备的电路板上留下调试接口等。
身份伪装。在缺乏有效的身份验证措施的物联网网络中,容易发生身份冒充的问题,恶意设备可以通过这种方式窃取敏感数据。另外,不安全的设备初始化和配对过程也是重要的安全威胁来源,例如一名攻击者可以利用路由器首次开机、尚未设置密码的时机,向其中注入恶意程序或配置。若要防止此类攻击,设备厂商应仔细考虑身份验证过程中可能存在的安全问题,并加入有效的身份验证机制。
拒绝服务攻击(DoS)。攻击者可以通过长时间使设备处于高功耗状态,来耗竭设备的计算能力。对此类攻击的完全防范非常困难,但设备厂商可以通过合理的安全设计,将此类攻击所造成的损失尽可能降低。例如,对于需要消耗大量算力的操作,应当加入有效的客户端身份验证机制,或是限制客户端执行操作的频率等等。
数据传输攻击。例如,攻击者可以对设备所传输的数据进行抓包,或实施中间人(MitM, man in the middle)攻击。对此类攻击的通用防范措施是在数据传输过程中增加加密与安全校验机制,如 Wi-Fi 中的 WPA(Wi-Fi Protected Access),以及 LTE(Long Term Evolution)中的 EEA(EPS Encryption Algorithm;其中 EPS = Evolved Packet System)算法等。
传输层安全。此层的安全威胁主要涉及对接入网(如 Wi-Fi,5G)的安全威胁,主要有 2 种攻击类型,分别是数据传输攻击和拒绝服务攻击。这两种攻击类型的防范方法与感知层安全中的类似,不再赘述。
应用层安全。此层的安全威胁与传统 PC 所面临的安全威胁有一定的重合,主要有以下这些类型:
数据泄露:程序中的设计疏漏可能导致用户的隐私数据泄露给第三方。若要尽可能避免此类漏洞出现,需要对设备上的程序代码进行充分的安全审计和评估。
拒绝服务攻击:与感知层安全中的拒绝服务攻击类似,不再赘述。
远程代码执行:利用设备程序中的安全漏洞,攻击者能够控制设备执行一些意料之外的动作,甚至执行攻击者所上传的任意代码。此类安全威胁的防范方法与传统漏洞的防范类似,主要包括:加强代码安全审计、对程序进行模糊测试(fuzzing)、采用 ASLR 等二进制安全加固措施等[5]。但在防范此类漏洞时,需要同时考虑设备本身的资源局限性。
3物联网设备上特有的安全机制
与传统 PC 设备相比,物联网设备具有许多独特的特性,例如:设备功能偏向于特异化而非通用化;硬件成本受到较大限制,板上资源的数量有限;设备常使用电池供电,功率受到限制;设备设计和功能较为多样化;设备长时间运行,长时间联网等。由于以上这些特性,物联网设备所面对的安全威胁和自身的安全性设计都与传统 PC 有很大不同。在本节中,我们将描述目前学术界和业界的一些已有的,针对物联网设备所设计的安全机制和特性[8]。
轻量级加密算法。由于物联网设备通常都暴露在不安全的物理环境中,且高度依赖于无线方式进行通信,因此加密算法对于物联网设备来说是一项“刚需”。然而,PC 等计算设备上常见的密码学算法,如 AES(advanced encryption standard,高级加密标准)等,在确保高安全性的同时,常需要消耗数量可观的算力和能源。例如,AES 加密算法每加密 16 字节的数据,需要进行 10 到 14 轮迭代循环。因此,如果物联网设备长时间通过 AES 算法加密大量数据,则在性能和能耗方面都是不划算的。目前学术界已有一些针对轻量级加密算法的研究,例如由国际标准化组织(ISO,International Organization for Standardization)所批准的块密码算法 PRESENT [3]和 CLEIFA[9]。
硬件指纹。目前绝大部分计算设备都是以确定性(deterministic)的模式运行的,然而,下层的物理元件的制造工艺却存在着一定的不确定性,这使得不同的成品之间存在着细微的物理差异。这种不确定性可以作为一种特殊的设备指纹来使用。如果将某个物联网设备的“物理指纹”记作函数f,则f具有在物理上不可克隆的特性,称为物理不可克隆函数(physically unclonable function, PUF)。目前已有一些能够实现 PUF 的逻辑电路设计方案,例如 Arbiter PUF 电路[6]中含有多条相同的数据通路,当每次被激活时,该电路将会输出所有数据通路中最短的一条。
轻量且安全的伪随机数生成器。目前计算机中的随机数生成器(random number generator, RNG)分为伪随机数生成器(pseudo random number generator, PRNG)和真随机数生成器(true random number generator, TRNG)两种。其中,真随机数生成器的数据来源通常是物理噪声;伪随机数生成器的数据来源通常是一个数据量有限的随机数种子。在密码学算法中,为了确保随机数的不可预测性,两种随机数生成器都需要有可靠的外部随机性来源。然而,物联网设备上的随机性来源比传统 PC 上少得多,因此,如何在物联网设备上产生密码学安全的随机数,是一个值得探究的问题。目前已有一些研究致力于提供可用于物联网设备的轻量级伪随机数算法,如 Warbler算法等[7]。
4现有的物联网设备安全实践
随着物联网设备的普及,物联网设备的安全性也逐步受到了物联网设备厂商和云计算厂商的重视。尤其对于在企业环境中使用的物联网设备来说,物联网设备的安全与企业的生产力有着直接关联,因此需要企业经营者的高度重视。本节中将以亚马逊网络服务(Amazon Web Services,AWS)所制订的物联网安全白皮书[2]为例,介绍一些在物联网设备中可行的安全最佳实践。
- 用安全框架进行正式的安全风险评估工作。系统的安全评估是发现安全风险的最有效方式。
- 企业应对物联网资产进行妥善管理。例如,可以按照重要性、可修补性等特征对物联网资产进行分类。唯有充分且有效的管理,才是应对意外事件发生时的最佳支持。
- 在部署物联网设备时,为每个设备分配唯一标识符和凭据。标识符和凭据是身份认证和访问控制系统的基础,无论某个设备目前是否有相应的需求,都应为其分配唯的一标识符和凭据,以防未来的不时之需。
- 设计合适的设备升级机制。设备升级是修补已有的安全漏洞的最有效方式。
- 对设备上所存储的固有数据进行加密。固有数据包括系统程序、机器学习模型、专利数据等只读数据。这能够在一定程度上避免消费者对设备进行逆向工程,并窃取这些私有数据。
- 对任何需要传输的数据都进行加密。这是避免一系列传输层攻击(中间人攻击、抓包等)的最有效手段。
- 在保护物联网设备的同时,也对物联网设备背后的 IT 环境进行同等程度的安全加固。IT(包括服务器、运维、管理等)资源能够为物联网设备的正常工作提供充分的支持,并且身份认证、设备升级等任务也与 IT 资源息息相关。因此,应对这些 IT 资源给予同等程度的重视。
为物联网设备和背后的 IT 环境配备强制的安全监控措施。绝对的安全并不存在,因此为了防控不期而至的攻击,需要对物联网设备和 IT 资源进行定期的安全监测,避免攻击造成难以挽回的损失。
5总 结
随着科技和社会的进步,计算设备正在逐步实现轻量化、节能化,物联网设备也借此机会实现了高速发展。由于物联网设备自身的独特性,物联网设备所面临的安全威胁比传统 PC 更为复杂和深刻。然而,目前业界对于物联网设备安全性的认知和实践仍有许多不足,部分低端设备上仍然存在较多的严重漏洞[5],针对物联网设备的攻击仍然非常频繁。
随着物联网技术和信息安全学科的发展,物联网安全问题逐步受到重视,一些企业已经开始制定和发布针对物联网的安全白皮书[2]。而轻量级密码学算法等研究成果的出现,也说明物联网安全问题在学术界正在得到更多研究者的关注和投入。由于针对传统 PC 的安全解决方案难以直接应用到物联网领域,因此针对物联网设备的安全解决方案仍需长期的探索,期望目前的物联网设备达到与 PC 同样的安全水平是不切实际的。可以预见,随着物联网技术的发展与成熟,物联网安全将与 PC 软件安全一样,成为信息安全领域中举足轻重的分支。
参考文献
[1] Unit 42. 2020 Unit 42 IoT threat report, 2020.
[2] Amazon Web Services. Securing Internet of Things (IoT) with AWS, 2021.
[3] Soma Bandyopadhyay, Munmun Sengupta, Souvik Maiti, and Subhajit Dutta. A survey of middleware for internet of things. In Abdulkadir Özcan, Jan Zizka, and Dhinaharan Nagamalai, editors, Recent Trends in Wireless and Mobile Networks, pages 288–296, Berlin, Heidelberg, 2011. Springer Berlin Heidelberg.
[4] Mario Frustaci, Pasquale Pace, Gianluca Aloi, and Giancarlo Fortino. Evaluating critical security issues of the iot world: Present and future challenges. IEEE Internet of Things Journal, 5(4):2483–2495, 2018.
[5] Octavio Gianatiempo and Octavio Galland. Exploring the hidden attack surface of OEM IoT devices: pwning thousands of routers with a vulnerability in Realtek’ s SDK for eCos OS. DEFCON, 30, 2022.
[6] Roel Maes. Physically Unclonable Functions: Constructions, Properties and Applications. Springer Publishing Company, Incorporated, 2013.
[7] Kalikinkar Mandal, Xinxin Fan, and Guang Gong. Design and implementation of warbler family of lightweight pseudorandom number generators for smart devices. ACM Trans.Embed. Comput. Syst., 15(1), feb 2016.
[8] Francesca Meneghello, Matteo Calore, Daniel Zucchetto, Michele Polese, and Andrea Zanella. Iot: Internet of threats? a survey of practical security vulnerabilities in real iot devices. IEEE Internet of Things Journal, 6(5):8182–8201, 2019.
[9] Rolf Weber. Internet of things –new security and privacy challenges. Computer Law & Security Review, 26:23–30, 01 2010.