物联网设备六种攻击面及其应对

【物联网设备六种攻击面及其应对】Gartner的最新报告指出, 近20%的企业机构在过去三年内至少观察到一次基于物联网的攻击 。 为了应对这些威胁, Gartner预测全球物联网安全支出将在2018年达到15亿美元, 相比2017年的12亿美元增加了28% 。
针对物联网设备的安全问题, 需要提高黑客攻击物联网设备的成本, 降低物联网设备的安全风险 。 我们将从六个攻击面对设备进行安全评估分析, 并给出应对措施 。

物联网设备六种攻击面及其应对

文章插图

攻击面一:硬件接口
物联网终端设备的存储介质、认证方式、加密手段、通讯方式、数据接口、外设接口、调试接口、人机交互接口都可以成为攻击面 。 很多厂商在物联网产品中保留了硬件调试接口 。 例如可以控制CPU的运行状态、读写内存内容、调试系统代码的 JTAG接口、可以查看系统信息与应用程序调试的串口 。 这两个接口访问设备一般都具有系统较高权限, 造成重大安全隐患 。 除此之外还有I2C、SPI、USB、传感器、HMI等等 。 还有涉及硬件设备使用的各种内部、外部、 持久性和易失性存储, 如SD卡、USB载体、EPROM、EEPROM、FLASH、SRAM、DRAM、MCU内存等等都可能成为硬件攻击面 。
应对措施:物联网设备在设计之初就需要考虑安全, 保证攻击者无法获取以及篡改相关资源, 目前Arm公司借鉴在移动终端的可信执行环境TEE成功做法, 将TrustZone技术移植到Cortex-M系列芯片平台中, 这是从芯片层面考虑的安全从源头保证设备安全 。
攻击面二:暴力破解
目前大部分物联网终端都是单CPU+传感器架构+通讯模块, 软件设计大多只强调满足级别功能即可 。 但我们说启动安全和根密钥安全是一切设备安全的基础, 一切业务逻辑、设备行为都是基于这两个安全功能, 黑客极有可能对设备进行暴力破解, 获取设备信息、通讯数据, 甚至对远程对设备镜像进行替换, 伪装成合格终端 。
应对措施:安全启动和根密钥的安全, 可以通过使用安全芯片SE来进行保证 。 这也是技术层面解决物联网安全、形成安全合规的物联网终端的最有效方式 。
攻击面三:软件缺陷
软件缺陷主要表现在软件bug、系统漏洞、弱口令、信息泄露等等 。
比如, 目前物联网设备大多使用的是嵌入式linux系统, 攻击者可以通过各种未修复漏洞进行系统漏洞利用, 获取系统相关服务的认证口令 。
比如, 弱口令的出现一般是由厂商内置或者用户口令设置不良的习惯两方面造成的 。 这个在移动互联网时代是一样的道理 。
比如, 多数物联网设备厂商不重视信息安全, 导致泄露的信息极大方便了攻击者对于目标的攻击 。 例如在对某厂商的摄像头安全测试的时候发现可以获取到设备的硬件型号、硬件版本号、软件版本号、系统类型、可登录的用户名和加密的密码以及密码生成的算法 。 攻击者即可通过暴力破解的方式获得明文密码 。
比如, 开发人员缺乏安全编码能力, 没有针对输入的参数进行严格过滤和校验, 导致在调用危险函数时远程代码执行或者命令注入 。
应对措施:软件缺陷, 一方面需要加强产品开发过程中的安全开发流程, 一方面是安全管理流程 。 产品开发过程中需要遵循安全编码规范, 减少漏洞产生, 降低潜在风险, 物联网设备需要以全局唯一的身份接入到物联网中, 设备之间的连接需要可信认证, 在物联网设备中确保没有后门指令或者后门代码 。 针对用户认证, 需要设计成在第一次配置和使用设备时由用户进行自行设置并需要设置强口令策略 。 在发行版本中去除调试版本代码, 去除JTAG接口和COM口, 同时关闭例如SSH, telnet等不安全的服务 。
攻击面四:管理缺陷
管理缺陷导致的问题是安全的最大和最不可防范的问题 。 虽然是反映在技术上, 比如弱口令、比如调试接口、比如设备LOG信息泄露等等但无一例外都是安全开发管理缺陷导致 。
比如, 产品设计的时候就没有考虑到授权认证或者对某些路径进行权限管理, 任何人都可以最高的系统权限获得设备控制权 。
比如, 开发人员为了方便调试, 可能会将一些特定账户的认证硬编码到代码中, 出厂后这些账户并没有去除 。 攻击者只要获得这些硬编码信息, 即可获得设备的控制权 。
比如, 开发人员在最初设计的用户认证算法或实现过程中存在缺陷, 例如某摄像头存在不需要权限设置session的URL路径, 攻击者只需要将其中的Username字段设置为admin, 然后进入登陆认证页面, 发现系统不需要认证, 直接为admin权限 。
应对措施:信息网络安全需要在产品的各个流程中进行, 包括公司管理流程, 在设备上市前进行专业的产品安全测试, 降低物联网设备安全风险 。
攻击面五:通讯方式
通讯接口允许设备与传感器网络、云端后台和移动设备APP等设备进行网络通信, 其攻击面可能为底层通信实现的固件或驱动程序代码 。
比如, 中间人攻击一般有旁路和串接两种模式, 攻击者处于通讯两端的链路中间, 充当数据交换角色, 攻击者可以通过中间人的方式获得用户认证信息以及设备控制信息, 之后利用重放方式或者无线中继方式获得设备的控制权 。 例如通过中间人攻击解密HTTPS数据, 可以获得很多敏感的信息 。
比如, 无线网络通信接口存在一些已知的安全问题, 从攻击角度看, 可对无线芯片形成攻击乃至物理破坏、DOS、安全验证绕过或代码执行等 。
比如, 以太网设备接口如wifi接口等都存在一些底层TCP/IP通信漏洞、硬件实现漏洞和其它攻击向量 。
比如, 无线通信Bluetooth (and BLE)、ZigBee、Zwave、NFC、RFID、LoRA、Wireless HART, 等等 。
应对措施:物联网终端设备种类繁多, 具体应用场景丰富, 通信方法多种多样, 而且在不断变化过程中, 这是物联网安全最薄弱和最难以克服的问题 。 可以内置安全机制, 增加漏洞利用难度, 厂商可以通过增量补丁方式向用户推送更新, 用户需要及时进行固件更新 。
攻击面六:云端攻击
近年来, 物联网设备逐步实现通过云端的方式进行管理, 攻击者可以通过挖掘云提供商漏洞、手机终端APP上的漏洞以及分析设备和云端的通信数据, 伪造数据进行重放攻击获取设备控制权 。
应对措施:建议部署厂商提供的整体安全解决方案 。 比如目前的IFAA技术方案如果应用在物联网上可以进行安全的身份认证, 同时保护数据安全 。 再比如阿里主导下的ICA联盟在这方面也作出了一些有益的工作 。