随着IoT的发展,催生了大量新产品、新服务、新模式,并逐步改变了传统产业模式,引发了产业、经济和社会发展新浪潮。但与此同时,数以亿计设备的接入带来安全攻击也在不断增多。作为基于互联网的新兴信息技术模式,IoT领域除了面临所有与互联网同类型网络攻击威胁的同时,还因其多源异构性、开放性、泛在性等特性而面临更多更复杂的攻击威胁,IoT安全问题也已成为发展的关键之一。
为助力IoT安全生态体系构建,几维安全以国家政策、标准为指引,对该领域技术原理和在不同行业特征下的风险隐患进行深入分析研究,从技术产品角度研发了覆盖不同关键环节的安全加固技术产品和整体解决方案;从实施角度构建了事前检测加固、事中监测响应、事后审计优化闭环安全防护体系;从服务角度部署了云端、web端、API接口、本地部署、离线工具和Xcode插件等多样化交付/部署模式,和多渠道技术服务实现线上线下联动全方位支撑。
几维安全IoT安全整体解决方案
根据IoT技术实现原理分析,其安全风险包括设备安全、通信网络安全、应用安全、数据安全等内容。以通信网络为例,IoT移动应用程序在数据传输过程中需途经业务功能相关通信网络、互联网,其中不乏由于不健全的握手通信过程、SSL版本的不正常使用、脆弱协议、敏感信息明文传输等带来的安全风险。而以互联网为例,不管是数据链路层的协议还是应用层的协议,都有类似APP中间人攻击、明文数据包、SSL验证绕行、PUT利用等安全隐患,造成数据引流、资金欺诈、个人信息盗取、设备劫持等业务安全问题。
基于不同环节安全风险、形成原理及安全加固需求分析研究,几维安全通过单产品部署、产品组合相结合的方式进行安全防护方案设计,如:
IOT虚拟化ID认证系统
将需要保护的功能逻辑转换成混淆后的虚拟机指令大幅提升代码被逆向分析的难度。虚拟机能够在运行过程中采集芯片、模块的底层特征芯片唯一ID、底层特征外部SPI Flash ID等模块特征虚拟机利用硬件特征,在运行过程中验证设备的合法性。
由于虚拟机的混淆特性,对硬件特征的采集、校验和使用的过程难以被绕过或篡改。
设备端提供基于虚拟化保护技术的ID认证SDK,https://www.kiwisec.com/product/iot-test.html实现ID生成、数据加密存储、云端ID认证等功能。
应用安全保护方案
几维安全编译器基于LLVM编译器优化层实现,加密代码与业务代码紧密结合,有效阻挡逆向分析;由于是从优化层实现代码虚拟化过程,不依赖于特定系统环境,无兼容性问题,兼容所有CPU架构,包括IOS, Android, (armv7,arm64), Windows, Liunx(x86,X64), Other(Mips)等。
安全芯片部署
在设备中植入硬件安全芯片,一芯一密,结合ECC算法,AES算法,动态熵随机数算法等复合算法来加密数据,保证数据安全;关闭硬件芯片对外的调试串口,保证算法不被逆向分析;对OS和APP采用代码虚拟化、块调度保护技术,保证调用安全数据的软件API接口安全。
IoT防护实践探索
以某智能门锁安全加固需求为例,根据对应用特征分析可见,智能门锁主要应用于公寓、酒店、家庭等场景,是关系到财物安全关键环节之一。用户在手机APP注册,通过WiFi或蓝牙方式与智能门锁进行通讯,进行下发密钥/临时密码、远程开锁等操作,门锁可设定多套开锁密钥,不同用户可独立设置密码。功能的实现需具备APP端防破解/防篡改、智能门锁核心算法保护、本地用户密钥保护、通讯保护等安全保护。基于该场景特征和安全需求,几维安全进行了安全加固方案设计和产品部署:
采用代码虚拟化保护方案对APP端进行保护,防止应用被反编译、动态调试、篡改等;
采用轻量级虚拟化对门锁内核心代码进行保护,防止破解和动态调试;
采用密钥白盒对用户数据、通讯数据进行加密,保障通讯安全。
再如在某物联网云平台进行安全加固的案例中,几维安全针对其智能终端与云端通信安全、智能硬件核心算法保护、SDK安全保护等加固需求进行了部署:
采用代码虚拟化和轻量级虚拟化对相关硬件进行保护,防止攻击者破解,获取核心算法、接口数据等。
采用密钥白盒对通讯数据进行加密,防止中间人劫持、重放攻击、信息泄露、接口参数泄露等。
采用代码虚拟化对SDK进行加固,防止攻击者由逆向SDK获取代码逻辑。
近年来,IoT领域在蓬勃发展的同时,也暴露出了许多安全问题,需着眼于未来发展和安全需求和可能面临的网络安全新形势、新需求,从规范行业安全管理、制定行业安全检测标准、构建新型有效的安全防护体系、研究新技术新应用等多个维度着手。几维安全将持续进行IoT安全防护探索,助力IoT安全生态的健康发展。