由于物联网中的终端设备大多处于无人值守的环境中,且终端节点数量巨大,感知节点具有组群化、低移动性等特点,物联网应用对运营商的通信网络提出了更高的要求。由于物联网具有区别于传统通信网络的不同特点,物联网不仅面临现有的移动网络中所具有的网络威胁,还将面临与其网络特点相关的特殊安全威胁。
目前在物联网中,感知节点由于受到功能和能量限制,其所具有的安全机制较少,安全保护功能较弱,并且由于物联网目前尚未完全实现标准化,所以导致其中的消息和数据传输的协议也没有统一的标准,从而无法提供一个统一的安全保护体系。因此,物联网除了可能遭受同现有网络相同的安全威胁外,还可能受到一些特有的威胁。
#1对节点身份的攻击威胁
由于目前核心网尚无法对感知网络进行直接控制,因此可能导致攻击者在感知网络范围内部署恶意节点加入合法的感知网络,从而导致网络中消息的泄露,以及攻击者利用恶意节点作为跳板对网络发起新的攻击。
#2数据传输威胁
感知网络中的数据发送通常是通过广播,多播等方式发送,并且受限于感知节点的能力,很可能无法对数据进行有效的加密保护,因此在无线环境下,数据的传输很容易受到攻击者的监听和破坏。传输信息主要面临的威胁有以下几种。
(1)中断。路由协议分组,特别是路由发现和路由更新消息,会被恶意节点中断和阻塞。攻击者可以有选择地过滤控制消息和路由更新消息,并中断路由协议的正常工作。
(2)拦截。路由协议传输的信息,如“保持有效”等命令和“是否在线”等查询,会被攻击者中途拦截,并重定向到其他节点,从而扰乱网络的正常通信。
(3)篡改。攻击者通过篡改路由协议分组,破坏分组中信息的完整性,并建立错误的路由,造成合法节点被排斥在网络之外。
(4)伪造。无线传感网络内部的恶意节点可能伪造虚假的路由信息,并把这些信息插入到正常的协议分组中,对网络造成的破坏。
#3数据一致性威胁
由于感知网络中的数据发送通常是通过广播、多播等方式发送的,这将导致同一份数据可能通过不同的路径传输时产生多个副本;此外,由于感知节点的数据处理需要和功能限制,很可能无法对数据进行完整性保护,那么在其中某个副本数据产生错误时,数据接收节点将无法判断数据是否可靠有效。而当数据汇聚节点在处理来自同一份数据的不同副本时,则无法判断数据的真伪。
#4手动恶意攻击威胁
由于感知节点功能简单,安全能力差,发送方式为广播和多播,且缺乏中心控制点,那么攻击者可以在控制某个感知节点的基础上利用这种方式扩散和传播蠕虫病毒等恶意代码,在较短的时间内将恶意代码扩散到整个感知网络中。而且,由于缺乏中心控制点的控制管理能力,使得无法有效地查找到攻击的发起地点。
大部分技术安全问题与传统服务器,工作站和智能手机类似,但用于这些技术的防火墙,安全更新和反恶意软件系统通常不适用于体积更小,功能更少的物联网设备。
安全专家认为物联网是对传统互联网的威胁。有人认为,市场激励,以确保物联网设备的不足,提高政府监管是必要把事情安全的互联网。
对于基本的用户安全来说,对物联网的全面了解至关重要。跟上当前的反病毒软件并修补更新将有助于缓解网络攻击。
网络安全:IoT 网络现在以无线网络为主。在 2015 年,无线网络的流量已经超过了全球有线网络的流量。由于新生的 RF 和无线通信协议和标准的出现,这使得 IoT 设备面临着比传统有限网络更具挑战性的安全问题。
身份授权:IoT 设备必须由所有合法用户进行身份验证。实现这种认证的方法包括静态口令、双因素身份认证、生物认证和数字证书。物联网的独特之处在于设备(例如嵌入式传感器)需要验证其他设备。
加密:加密主要用于防止对数据和设备的未经授权访问。这一点估计有点困难,因为 IoT 设备以及硬件配置是各种各样的。一个完整的安全管理过程必须包括加密。
安全侧信道攻击:即使有足够的加密和认证,IoT 设备也还可能面临另一个威胁,即侧信道攻击。这种攻击的重点不在于信息的传输工程,而在于信息的呈现方式。侧信道攻击(SCA)会搜集设备的一些可操作性特性,例如执行时间、电源消耗、恢复密钥时的电磁辐射等,以进一步获取其它的价值。
安全分析和威胁预测:除了监视和控制与安全有关的数据,还必须预测未来的威胁。必须对传统的方法进行改进,寻找在既定策略之外的其它方案。预测需要新的算法和人工智能的应用来访问非传统攻击策略。
接口保护:大多数硬件和软件设计人员通过应用程序编程接口(API)来访问设备,这些接口需要对需要交换数据(希望加密)的设备进行验证和授权的能力。只有经过授权,开发者和应用程序才能在这些设备之间进行通信。
交付机制:需要对设备持续得更新、打补丁,以应对不断变化的网络攻击。这涉及一些修复漏洞的专业知识,尤其是修复关键软件漏洞的知识。
系统开发:IoT 安全需要在网络设计中采用端到端的方法。此外,安全应该至始至终贯穿在整个产品的开发生命周期中,但是如果产品只是传感器,这就会变得略微困难。对于大多数设计者而言,安全只是一个事后的想法,是在产品实现(而不是设计)完成后的一个想法。事实上,硬件和软件设计都需要将安全考虑在整个系统当中。