物联网开发愈加深化,应用安全如何保障
物联网开发
物联网云平台开发
物联网应用开发
浏览:1262 次
物联网技术及其应用已经深深融入我们的生活。在民生设施的应用中,安全问题尤为重要。如何保护人们的财产和生命安全,成为物联网安全技术需要解决的核心问题。目前可以采用的成熟的物联网安全技术有哪些?如何通过产品的软硬件支撑技术来构建物联网的安全能力?今天创投分享的这篇文章,将为大家全面解读物联网安全的现状和未来,共同探讨安全规范及其在行业中的应用发展。

1.物联网安全背景
物联网业务深入到很多行业,全方位影响着人们的生活,相应的安全问题也会带来严重的威胁,甚至包括生命财产的安全。虽然物联网市场发展迅速,终端数量剧增,但存在较大的安全隐患,安全环节在物联网产业链中的比重较低。
以家庭网络为例,根据ICT研究院《2019智能家庭网络安全形势报告》,智能家庭物联网设备安全风险居高不下。
在工业物联网中,由于物联网设备承担着重要民生设施的控制,网络安全风险带来的风险更大。
2003年8月14日,美国东北部和加拿大的联合电网因为网络和XA/21系统受到攻击,导致主服务器崩溃,导致大面积停电。
2008年,黑客劫持了南美某国的电网控制系统,导致电力中断数分钟。
2008年,美国中央情报局(CIA)官员汤姆·唐纳休(Tom Donahue)在“SANS”(系统和网络安全)贸易会议上透露,美国曾发生多起黑客通过互联网闯入当地供电网络的事件,导致多个城市的照明中断。
2008年,美国国土安全部证明,一台发电机因攻击电力控制系统而受到物理损坏。
2011年夏天,在美国黑帽大会上,黑客展示了PLC的后门程序,可以进行内存转储和捕获密码。例如,对PLC的24小时攻击可以导致电厂爆炸,这意味着SCADA(监控和数据采集)系统也将成为直接攻击的目标。
2016年美国东海岸网络瘫痪攻击:2016年攻击后,据统计全球感染Mirai未来组合的设备超过100万台,攻击中使用了大量物联网设备,如网络摄像头、路由器、dv等。实验表明,8万个物联网僵尸可以发起500Gbps的DDoS攻击;89万丧尸足以搞垮世界上任何一家电信运营商。

2.物联网安全和互联网安全的区别
互联网安全问题存在,物联网应用存在。物联网安全是互联网安全的延伸。物联网只会带来新的安全风险,具体如下:
由于物联网应用开发设备碎片化严重(从单片机到ARMA系列,从OS到Linux和Android),大多数情况下,物联网设备资源有限,无法运行一个具有完整安全策略的操作系统,甚至基于证书认证的TLS都无法运行。
物联网设备通常常年开启,没有人机交互或者人机交互不频繁。很多时候,物联网设备受到攻击,无法感知。比如家用路由器、IP摄像头,如果被黑客当做攻击鸡,用户通常是不会察觉的。
协议安全风险:物联网通信协议如ZigBee、蓝牙、NB-IOT、2\3\4\5G等。互联网app中不使用这些协议,互联网安全策略也不能涵盖这些协议。物联网协议给协议带来了安全风险。
边界安全风险:互联网时代,更多的应用模式是C/S(B/S),即客户端/服务器模式。这种模式有非常明确的“边界”。企业可以通过部署防火墙和IPS等网关设备来提高企业服务的安全性。但是在物联网时代,设备遍布全球,黑客可以直接攻击设备。没有“边界”,所以传统的网关保护设备用处不大。
系统的安全风险:互联网时代的终端防护(EDR)主要针对Linux和Windows系统。而在物联网时代,嵌入式操作系统如UClinux、Freertos甚至没有操作系统的设备都被设备等采用。,而传统的终端系统安全方案无法应用于物联网时代的嵌入式操作系统。
APP的安全隐患:在互联网时代,APP主要是C/S模式,但是在物联网时代,APP不仅要和云端通信,还可以和设备直接通信。APP到设备的这个环节包含了设备身份认证、硬件加解密、OTA升级等诸多安全策略。,这些也是互联网时代所没有的。
业务安全风险:物联网的业务场景会产生很多互联网时代无法收集的数据,比如传感器数据、用户行为数据、生理数据、地理位置数据等等。这些数据的产生-传输-处理过程涉及到整个业务系统的安全架构,这些数据的收集、传输和处理过程需要新的安全保护策略和监管体系。
R&D的安全风险:物联网产品的R&D过程涉及嵌入式安全开发,这在互联网应用中是不存在的。嵌入式系统的开发涉及到新的安全风险,如嵌入式系统安全、逻辑安全、加解密安全、认证安全、接口安全、存储安全、协议安全等。
合规的安全风险:目前物联网行业普遍没有一套完整的法律法规。物联网的安全虽然由等保0承保,但2019年年中才正式发布,目前仍处于行业的推广期。此外,物联网设备的安全评估与互联网产品完全不同。目前也缺乏一套国家安全评估规范。目前的安全评价是“结果导向”而不是“合规导向”。
第二,构建物联网安全能力的途径
物联网安全需要解决的两个核心问题:身份认证和链路安全。
在互联网中,基于TLS证书认证的https协议已经成为现代互联网安全的重要基石。以下X509证书经常在物联网中用于身份验证和安全通信:
1.TLS证书链身份验证
然而,TLS证书认证要在物联网设备上落地,将面临诸多挑战。首先,资源太多了,比如:
(1)使用TLS证书:
随机存储器:55.949千字节只读存储器:105.308千字节

(2)使用TLS PSK:
随机存储器:35.996千字节只读存储器:104.023千字节
这里多出来的50+KBRAM和100+KB ROM,在物联网终端设备上是非常大的不可接受的资源消耗。以出货量大的STM32F103系列为例:
由于rtos系统通常需要在MCU上运行,即使是最昂贵的系列也无法提供足够的资源来运行TLS证书认证。
除了资源问题,还有一个存储安全问题:如何存储它的证书或密钥也是一个大问题。一旦证书或密钥被批量破解,TLS的安全性就会大打折扣。
为了解决资源消耗过多的问题,物联网产品中心和桌面安全管家团队研究出了一种双向认证、前向安全、资源消耗低的安全认证协议TID,它借鉴了部分TLS1.3协议的一些优点。
对于存储安全问题,我们介绍了基于安全芯片或ARM TEE的身份密钥信息存储。
2.安全芯片
(1)从智能卡到安全芯片
长期以来,智能卡在我们的日常生活中扮演着重要的角色。主要分为非接触式智能卡和接触式智能卡。
最常用的非接触式智能卡就是我们的身份证,里面含有一个芯片,包括:射频模块、存储模块、加密模块和控制芯片。
最常见的接触式智能卡是手机中的sim卡。安全芯片由接触式智能卡演化而来,在物理硬件设计上具有很好的安全性,如抗侧信道攻击、抗反汇编技术等。现在一些高端智能手机会使用se安全芯片来存储指纹等重要隐私数据。
(2)安全芯片的访问规范
由于安全芯片产业是从智能卡发展而来的,智能卡时代的通信协议ISO7816大多用于安全芯片的接口。
我们吸收了各安全芯片厂商安全芯片接口的优点和TID认证协议的要求,制定了一套规范。
规范中定义了11条APDU指令,涵盖了高端安全芯片和低端安全芯片在不同场景下的使用需求,如下表所示:
(3)安全芯片TIDSDK
该架构如下图所示:
主要是将不同厂商、不同总线的适配代码剥离到一个抽象层,方便SDK的适配和移植。
3.物联网安全
由于安全芯片会带来额外的材料和硬件开发成本(需要增加额外的安全芯片和相应的电路),对于ARM Cortex-A系列芯片,可以使用Tee(可信执行环境)接入TID认证系统。
其中TEE可以访问的软硬件资源都是从Rich OS中分离出来的。TEE为授权的安全软件(可信应用,TA)提供了安全的执行环境,同时也保护了TA资源和数据的机密性、完整性和访问权限。
为了确保TEE本身的可信根,在安全启动过程中,TEE必须经过验证并与富操作系统隔离。在TEE中,每个TA都是相互独立的,没有授权不能互相访问。
4.软件强化
与上述安全方式相比,软件加固成本最低,不需要额外的芯片,也不需要芯片支持TEE开发TA。目前实现软加固通常有两种方案:白盒密钥和代码混淆,也可以混合使用。
(1)白盒键
白盒密钥的核心是在设备中不存储密钥的情况下,存储动态库或相应的白盒密钥表,从而保证在设备中不存储密钥的情况下也能实现相应的加解密操作。详细原理如下图所示。
左图是正常的解密操作。你需要输入密钥和密文,通过算法得到明文。右图中,输入密文而不是密钥,可以得到明文。白盒处理后的解密运算复杂度大大提高,黑客攻击难度提高。
目前有一个基于白盒密钥的TID端到端实现方案,已经上线。
(2)代码混乱
代码混淆是将物联网设备上的代码转换成难以阅读和理解的功能等同形式。最著名的与代码混淆相关的开源项目是Obfuscator-LLVM,主要包括扁平化控制流、指令替换和错误控制流三种方式。
上图是Obfuscator-LLVM提供的一个控制流扁平化。控制流扁平化后,二进制代码更难逆向。
指令替换是一个相对简单的替换规则,它把一些简单的操作复杂化了。比如汇编指令中最常见的加法,可以用随机数混淆成几个指令。
例如a = b+ c;可以混淆为(r = rand();a = b+ r;a = a+c;a = a–r;)大量的指令替换后,也会大大增加黑客破解代码的难度。
假控制流就是在代码中加入大量的控制流。这些增加的控制流不会影响代码的正常运行,只会改善代码的逆向。
由于混淆器LLVM的广泛使用,这些混淆器技术得到了广泛的研究。市面上已经有deobfuscator的工具,可以辅助对混淆代码进行逆向分析。
三。物联网安全行业标准
我们在和物联网厂商交流的时候,发现大家普遍都有一个痛点:虽然提供物联网产品的安全性花费很大,但是如何才能得到终端用户的认可?虽然物联网安全有国家标准,但这是最低要求。符合国标并不能给产品带来附加值。
在这里,我们制定了一套额外的安全规范:
比如针对农业行业,我们定义了一套安全农业智慧物联网系统评分标准,对评分不同的产品授予不同的标识。最后,希望有更多的行业伙伴加入合作交流,共同推动物联网应用开发全行业安全标准的完善和执行。