此外,物联网还有其独特性,如终端设备众多,设备之间缺乏信任的问题,互联网中现有的技术难以解决此类问题,所以我们还需要探索一些新的技术来解决物联网中特有的新问题。
下述文章节选自绿盟科技技术刊《物联网安全综述》,宅客频道已获授权发布。
由于物联网将许多原本与网络隔离的设备连接到网络中,大大增加了设备遭受攻击的风险。同时物联网中的设备资源受限,很多设备在设计时较少考虑安全问题。还有物联网中协议众多,没有统一标准等等这些安全隐患都可能被黑客利用,造成极大的安全问题,所以,我们需要利用一些漏洞挖掘技术对物联网中的服务平台,协议、嵌入式操作系统进行漏洞挖掘,先于攻击者发现并及时修补漏洞,有效减少来自黑客的威胁,提升系统的安全性。因此主动发掘并分析系统安全漏洞,对物联网安全具有重要的意义。
通过对物联网安全需求和对策的分析,我们总结出以下需要重点关注的技术,下面分别从已有技术在物联网环境中的应用、新技术的探索和物联网相关设备、平台、系统的漏洞挖掘和安全设计三个方面介绍物联网安全技术研究的一些思路。
物联网安全相关技术
异常行为检测对应的物联网安全需求为攻击检测和防御、日志和审计。
文章前面已经提到过,异常行为检测的方法通常有两个:一个是建立正常行为的基线,从而发现异常行为,另一种是对日志文件进行总结分析,发现异常行为。
物联网与互联网的异常行为检测技术也有一些区别,如利用大数据分析技术,对全流量进行分析,进行异常行为检测,在互联网环境中,这种方法主要是对 TCP/IP 协议的流量进行检测和分析,而在物联网环境中,还需要对其它的协议流量进行分析,如工控环境中的 Modbus、PROFIBUS 等协议流量。
此外,物联网的异常行为检测也会应用到新的应用领域中,如在车联网环境中对汽车进行异常行为检测。360研究员李均利用机器学习的方法,为汽车的不同数据之间的相关性建立了一个模型,这个模型包含了诸多规则。依靠对行为模式、数据相关性和数据的协调性的分析对黑客入侵进行检测。
对应的物联网安全需求:设备保护和资产管理、攻击检测和防御。
通过代码签名可以保护设备不受攻击,保证所有运行的代码都是被授权的,保证恶意代码在一个正常代码被加载之后不会覆盖正常代码,保证代码在签名之后不会被篡改。相较于互联网,物联网中的代码签名技术不仅可以应用在应用级别,还可以应用在固件级别,所有的重要设备,包括传感器、交换机等都要保证所有在上面运行的代码都经过签名,没有被签名的代码不能运行。
由于物联网中的一些嵌入式设备资源受限,其处理器能力,通信能力,存储空间有限,所以需要建立一套适合物联网自身特点的、综合考虑安全性、效率和性能的代码签名机制。
对应的物联网安全需求:设备保护和资产管理。
物联网感知设备的系统安全、数据访问和信息通信通常都需要加密保护。但由于感知设备常常散布在无人区域或者不安全的物理环境中,这些节点很可能会遭到物理上的破坏或者俘获。如果攻击者俘获了一个节点设备,就可以对设备进行白盒攻击。传统的密码算法在白盒攻击环境中不能安全使用,甚至显得极度脆弱,密钥成为任何使用密码技术实施保护系统的单一故障点。在当前的攻击手段中,很容易通过对二进制文件的反汇编、静态分析,对运行环境的控制结合使用控制 CPU 断点、观测寄存器、内存分析等来获取密码。在已有的案例中我们看到,在未受保护的软件中,密钥提取攻击通常可以在几个小时内成功提取以文字数据阵列方式存放的密钥代码。
白盒密码算法是一种新的密码算法, 它与传统密码算法的不同点是能够抵抗白盒攻击环境下的攻击。白盒密码使得密钥信息可充分隐藏、防止窥探,因此确保了在感知设备中安全地应用原有密码系统,极大提升了安全性。
白盒密码作为一个新兴的安全应用技术,能普遍应用在各个行业领域、应用在各个技术实现层面。例如,HCE 云支付、车联网,在端点(手机终端、车载终端)层面实现密钥与敏感数据的安全保护;在云计算上,可对云上的软件使用白盒密码,保证在云这个共享资源池上,进行加解密运算时用户需要保密的信息不会被泄露。
对应的物联网安全需求:设备保护和资产管理。
空中下载技术(over-the air,OTA),最初是运营商通过移动通信网络(GSM或者CDMA)的空中接口对SIM卡数据以及应用进行远程管理的技术,后来逐渐扩展到固件升级,软件安全等方面。
随着技术的发展,物联网设备中总会出现脆弱性,所以设备在销售之后,需要持续的打补丁。而物联网的设备往往数量巨大,如果花费人力去人工更新每个设备是不现实的,所以OTA技术在设备销售之前应该被植入到物联网设备之中。
对应的物联网安全需求:攻击检测和防御。
互联网环境中通常使用防火墙来监视网络上的安全风险,但是这样的防火墙针对的是TCP/IP协议,而物联网环境中的网络协议通常不同于传统的TCP/IP协议,如工控中的Modbus协议等,这使得控制整个网络风险的能力大打折扣。因此,需要开发能够识别特定网络协议的防火墙,与之相对应的技术则为深度包检测技术。
深度包检测技术(deep packet inspection,DPI)是一种基于应用层的流量检测和控制技术,当IP数据包、TCP或UDP数据流通过基于DPI技术的带宽管理系统时,该系统通过深入读取IP包载荷的内容来对OSI七层协议中的应用层信息进行重组,从而得到整个应用程序的内容,然后按照系统定义的管理策略对流量进行整形操作。
思科和罗克韦尔自动化联手开发了一项符合工业安全应用规范的深度数据包检测 (DPI) 技术。采用 DPI 技术的工业防火墙有效扩展了车间网络情况的可见性。它支持通信模式的记录,可在一系列安全策略的保护之下提供决策制定所需的重要信息。用户可以记录任意网络连接或协议(比如 EtherNet/IP)中的数据,包括通信数据的来源、目标以及相关应用程序。
在全厂融合以太网 (CPwE) 架构中的工业区域和单元区域之间,采用 DPI 技术的车间应用程序能够指示防火墙拒绝某个控制器的固件下载。这样可防止滥用固件,有助于保护运营的完整性。只有授权用户才能执行下载操作。
6.防火墙
对应的物联网安全需求:攻击检测和防御。
物联网环境中,存在很小并且通常很关键的设备接入网络,这些设备由 8 位的 MCU 控制。由于资源受限,对于这些设备的安全实现非常有挑战。这些设备通常会实现TCP/IP协议栈,使用 Internet 来进行报告、配置和控制功能。由于资源和成本方面的考虑,除密码认证外,许多使用8位 MCU 的设备并不支持其他的安全功能。
Zilog和Icon Labs联合推出了使用8位MCU的设备的安全解决方案。Zilog 提供 MCU,Icon Labs将Floodgate防火墙集成到MCU中,提供基于规则的过滤,SPI(Stateful Packet Inspection)和基于门限的过滤(threshold-based filtering)。防火墙控制嵌入式系统处理的数据包,锁定非法登录尝试、拒绝服务攻击、packet floods、端口扫描和其他常见的网络威胁。
▲嵌入式防火墙
对应的物联网安全需求:认证、访问控制管理。
传统企业网络架构通过建立一个固定的边界使内部网络与外部世界分离,这个边界包含一系列的防火墙策略来阻止外部用户的进入,但是允许内部用户对外的访问。由于封锁了外部对于内部应用和设施的可见性和可访问性,传统的固定边界确保了内部服务对于外部威胁的安全。企业网络架构中的固定的边界模型正在变得过时,BYOD和钓鱼攻击提供了对于内部网络的不可信访问,以及SaaS和IaaS正在改变边界的位置。
软件定义边界(Software Defined Perimeter,SDP)使得应用所有者部署的边界可以保持传统模型中对于外部用户的不可见性和不可访问性,该边界可以部署在任意的位置,如网络上、云中、托管中心中、私营企业网络上,或者穿过这些位置的一些全部。
SDP用应用所有者可控的逻辑组件取代了物理设备,只有在设备证实和身份认证之后,SDP才提供对于应用基础设施的访问。
大量设备连接到Internet中,管理这些设备、从这些设备中提取信息的后端应用通常很关键,扮演了隐私或敏感数据的监护人的角色。SDP可以被用来隐藏服务器和服务器与设备的交互,从而最大化地保障安全和运行时间
对应的物联网安全需求:认证
区块链(Blockchain ,BC)是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案。该技术方案主要让参与系统中的任意多个节点,通过一串使用密码学方法相关联产生的数据块(block),每个数据块中包含了一定时间内的系统全部信息交流数据,并且生成数据指纹用于验证其信息的有效性和链接(chain)下一个数据库块。结合区块链的定义,需要有这几个特征:去中心化(Decentralized)、去信任(Trustless)、集体维护(Collectively maintain)、可靠数据库(Reliable Database)、开源性、匿名性。区块链解决的核心问题不是“数字货币”,而是在信息不对称、不确定的环境下,如何建立满足经济活动赖以发生、发展的“信任”生态体系。这在物联网上是一个道理,所有日常家居物件都能自发、自动地与其它物件、或外界世界进行互动,但是必须解决物联网设备之间的信任问题。
越来越多的侵犯用户隐私的报告说明第三方收集和控制大量的个人数据的模式需要被改变。IBM认为物联网设备的运行环境应该是去中心化的,它们彼此相连,形成分布式云网络。而要打造这样一种分布式云网络,就要解决节点信任问题——在传统的中心化系统中,信任机制比较容易建立,存在一个可信的第三方来管理所有的设备的身份信息。但是物联网环境中设备众多,可能会达到百亿级别,这会对可信第三方造成很大的压力。IBM 认为中本聪的比特币区块链技术可以完满地解决这个问题。
Guy Zyskind等人提出一种分散式的个人数据管理系统,来实现用户数据的保护,确保用户可以拥有并管理自己的数据。实现了将区块链应用于自动访问控制管理而不需要可信第三方。与比特币不同,系统交易(transaction)不是严格的金融交易——他们被用于携带指令,比如存储、查询和共享数据的指令。
物联网相关设备、平台、系统的漏洞挖掘技术,有助于发现 0day 漏洞和未知威胁,从而提升 IDS、防火墙等安全产品的检测和防护能力。
将安全产品嵌入到设备之中,或者产品设计时采用物联网设备安全框架,在物联网设备生产之时就考虑安全问题,可以极大提升物联网设备的安全性。
随着物联网的发展,将会出现越来越多的物联网平台。BAT 三家均已推出了智能硬件开放平台。国外免费的物联网云平台有 Temboo、Carriots、NearBus 和 Ubidots 。不过,目前对于物联网平台的安全性的分析还不多,相信以后物联网平台的安全性将会越来越多地吸引到人们的关注。
Samsung SmartThings 是一个智能家庭编程平台,密歇根大学和微软研究院的研究人员对其上的499个应用和132个设备管理器(device handlers)进行了静态代码分析(static code analysis),论文发表在S&P 2016上。主要有两点发现,一是,虽然SmartThings实现了一个特权分离模型(privilege separation model),但是,有两个固有的设计缺陷(intrinsic design flaws),可导致 APP 越权;二是关于SmartThings的事件子系统,设备与 APP 之间通过其进行异步通信,该子系统并未对包含敏感信息(如lock codes)的事件提供足够的保护。研究人员利用框架设计漏洞实现了四个攻击的概念证明:修改门锁密码,窃取已有的门锁密码,禁用家庭的假期模式,触发一次虚假的火灾告警。
在现代的汽车、工控等物联网行业,各种网络协议被广泛使用,这些网络协议带来了大量的安全问题。很多研究者开始针对工控等系统,特别是具有控制功能的网络协议的安全性展开研究。研究人员在 QCon2016 的议题中提到用网络协议 fuzzing 技术对 0Day 漏洞进行挖掘。
物联网设备大多使用嵌入式操作系统,嵌入式系统通常内核较小,专用性强,系统精简,高实时性,安全在嵌入式系统中处于较低的位置,随着设备逐渐接入互联网,操作系统的安全性需要重点关注。
2015年, 44CON 伦敦峰会中,研究人员采用了Fuzzing框架Sulley对VxWorks系统的多个协议进行了Fuzzing,挖掘到一些漏洞,并结合VxWorks的WDB RPC实现了一个远程调试器,进行了相关调试分析
嵌入式设备众多,而且大多在安全设计方面考虑不足。联网的设备往往存在极大的潜在威胁。作为设备制造商,应在嵌入式设备的设计过程中就将安全框架考虑进入,对嵌入式设备进行安全设计。
Icon Labs[5]是嵌入式设备安全厂商,提出Floodgate安全框架,用于构建安全的嵌入式设备。Floodgate安全框架模块既可以作为单独的产品使用,也可以集成到已有的嵌入式Linux和任何RTOS中。
▲Floodgate架构
Floodgate Firewall,是一个嵌入式防火墙,提供状态包检测(Stateful Packet Inspection,SPI)、基于规则的过滤和基于门限的过滤来保护嵌入式设备免受来自互联网的威胁。
Floodgate IDS对嵌入式Linux和RTOS设备提供保护,其能检测出固件、配置信息和静态数据的改变。Floodgate Secure Boot确保只有从OEM认证的固件才允许在这台设备上运行。Floodgate Agent提供对于嵌入式和物联网设备的态势感知、安全事件报告、命令审计日志和安全策略管理,同时也提供与企业安全管理系统的集成。
戳蓝字查看更多精彩内容 探索篇 ▼ 真相篇 ▼ “老婆,开门”,隔壁老王带来的恐惧 人物篇 ▼ 更多精彩正在整理中…… |
---
“喜欢就赶紧关注我们”
宅客『Letshome』
雷锋网旗下业界报道公众号。
专注先锋科技领域,讲述黑客背后的故事。
长按下图二维码并识别关注