APP下载

智能家电产品OTA功能检测技术分析与探讨

2023-12-22曹慧颖李岳洪

日用电器 2023年11期
关键词:固件串口可靠性

胡 姣 曹慧颖 李岳洪 吴 根

(威凯检测技术有限公司 广州 510663)

引言

随着5G网络逐渐普及,网络的传输速率得到了极大的提升,伴随而来的是海量而广泛的数据传输。在万物互联的时代里,越来越多的传统单机设备得益于软硬件的发展,得以接入网络,其中最为常见的就是各类智能家电产品。

相比与传统家电,智能家电特点在于可以通过设备间的互联带给用户高效和便利,通过大数据学习运算实现更为人性化的用户场景式体验。所以,相比之下智能家电的更新换代更加频繁,市场热情也在不断压缩着产品品质提升和功能拓展的周期。对于厂商而言,如何将产品适应其市场环境,则是一个值得不断探索的问题。一方面技术实现降本增效带给厂商足够的价值收益,另一方面产品的迭代能力不仅仅可以作为卖点,更可以为用户带来更好的使用体验。

而远程升级OTA技术则很好的满足了当前的需求。OTA是一种基于无线移动网络进行下载应用程序并完成升级的物联网技术。简单来说就是OTA技术支持设备通过无线网络进行固件升级,从而实现解决漏洞、功能迭代的目的。正是由于OTA技术可以突破地理、时间等局限性因素的能力,越来越多的厂商使用OTA技术作为产品的固件升级方案,也更加值得进一步分析研究。

虽然OTA技术可以极好的解决当前的功能需求,但其支持无线网络传输和实时传输的特性意味着用于升级的固件信息会经公网传输,易发生人为篡改,从而存在潜在的安全风险。

OTA升级固件往往涉及到设备的功能的改变,若受到恶意攻击或发生故障,不但可能影响设备原有功能,影响用户体验,还有可能造成设备非正常工作,产生安全事故。以OTA应用更加广泛的汽车行业为例,2020年哈弗H6在中汽中心进行碰撞测试时安全气囊无法正常弹出,经检测是由OTA未经确认自动升级导致。2015年Jeep自由光OTA系统被破解,黑客给车辆固件加入病毒,通过CAN可直接控制车辆减速、制动甚至控制发动机停转。由此可见,确保OTA安全可靠在OTA技术应用日益广泛的今天有着更为重要且急迫的地位,这意味着针对OTA安全性和可靠性的检测要求和方法的研究更具有现实意义。

1 OTA升级测试

OTA升级作为一种远程升级技术在智能家电领域广泛应用,并且对智能家电产生重要影响。为确保升级的可靠性和安全性,需要进行多方面的检测和测试。下文将从功能要求、安全性要求和可靠性要求三方面来对的OTA检测要求及方法进行讨论,并基于智能家电设备检测实例进行分析与探讨。

1.1 OTA功能要求及检测方法

OTA功能测试的目的是确保OTA升级功能的正常运行并提供良好的用户体验。测试范围涵盖从升级通知到升级流程完成的验证,主要分为以下几个方面:

首先是OTA升级通知方式测试,主要对用户操作界面进行检测。在OTA升级开始之前,制造商通过推送等方式提醒用户进行更新。常用的升级通知一般为应用内推送通知,通过智能家电的控制终端(如手机等移动端)应用向用户发送通知,以最直接的方式告知用户有新的固件版本可供升级。升级信息应包含固件版本号和变更内容,如图1所示,以便用户了解并选择是否启动升级或后续升级。

图1 固件升级内容界面

其次是在升级流程过程中的功能测试。在进行OTA升级时,服务器端会创建新版本的固件包,并通过移动端下发通知,用户收到升级通知后,可以选择开始下载固件,主要升级示意图如图2所示。

图2 固件升级过程示意图

用户操作 “开始下载”或类似的按钮后,设备端会发送请求到OTA服务器端,请求下载最新固件版本。OTA服务器端收到请求后,OTA服务器端将固件文件发送到设备端。设备端收到固件文件后,会对文件进行验证,以确保它的完整性和真实性。一旦固件文件被验证为有效,设备端会启动固件安装过程。这个过程包括备份当前的固件版本和系统状态,然后将新固件写入设备端。在整个安装过程中,由于部分设备存在存储空间较小且存在设备运行和升级同时进行的情况,各个阶段往往并没有清晰的划分,而是随着设备的时钟轮转而周期性进行。在安装完成后,设备端通过重启进入新版本固件系统,设备端向服务器发送升级成功的通知并告知用户升级已完成。

在上述过程中,OTA固件升级流程可以归纳为OTA下载、安装、重启、安装完成四部分。测试过程也应依据这四部分展开,通过功能验证OTA升级包的下载和安装是否成功。同时,也要模拟升级过程中出现意外情况如:断电、断网等导致固件安装失败,以验证设备是否能够回滚到之前的版本,确保设备可继续正常使用。

OTA升级功能测试的核心目标是确保设备可以顺利执行升级,同时提供用户友好的升级体验。这一测试阶段对升级功能的可靠性和用户满意度至关重要。

1.2 安全性要求及检测方法

固件OTA升级的安全性测试可以分为三个测试部分的重点,因为它直接关系到设备、系统及应用程序的安全性和稳定性。安全测试主要集中在三个关键方面,即防劫持、防提取和防篡改。

首先在防劫持方面,由于OTA升级通过网络进行远程更新,需要有足够的安全措施,以防黑客或恶意攻击者入侵,所有与OTA升级相关的通信必须采用加密通信协议。如使用协议TLS 1.3 和SSL 3.0,以确保数据在传输中受到加密保护,难以被窃听或篡改。

当设备处于OTA升级时,安全测试可以使用网络抓包工具例如Wireshark捕获OTA升级时的通信数据包,并检查通信协议如:TCP、UDP、HTTP等相关信息头和数据部分,跟踪其相关的通信流量,以确认是否使用了加密协议。如图3所示某产品固件升级采取的是HTTP协议的向服务器获取固件包bin文件的GET请求,HTTP属于明文传输,未使用加密协议,故存在一定风险。此外,也可以模拟中间人攻击方式尝试拦截和篡改通信流量,以测试系统是否能够检测到并拒绝中间人攻击。

图3 监听通信数据包

其次在防提取方面,为了确保固件不能通过串口、调试接口等手段非法提取出来,制造商可以采取一系列措施,包括禁用或限制串口访问、抹去不必要的丝印、使用加密串口通信等。对这方面的检测首先通过视检,检查印刷电路板(PCB)上是否存在可用于调试接口或连接点。这些接口包括UART串口、JTAG接口、SWD接口等。若存在调试接口则使用专业的工具模拟各种固件提取手段,尝试提取设备的固件。以测试设备是否存在防提取措施,评估设备的安全性。

测试固件提取通常需要使用专门的硬件和软件工具,以及领域相关技术知识。测试前需要查阅设备的技术文档,了解设备调式接口或UART接口位置和串口通信协议等重要信息。如常见的串口通信协议有UART、RS-232、SPI 、I2C和CAND等,不同的应用和硬件设备可能需要使用不同的串口通信协议,因此在选择和实施串口通信时,需要考虑通信需求、硬件支持和协议的适用性。如图4所示选用USB TO TTL串口转换器,该设备上使用UART串口通信,引脚分别为 RX、TX、GND、VCC。通过该串口转换器将设备主控板与电脑PC串口软件建立连接,测试者可通过输入一些特定的命令、脚本等方式尝试获取设备的shell访问权限。

图4 使用串口工具与主板建立连接

另一方面也可以通过芯片兼容的烧录接口工具如图5、图6所示来获取固件,尝试通过各种途径以检测硬件设备的防提取能力。

图5 烧录器与设备建立连接

最后在防篡改方面,测试固件防篡改的重要性同样不可忽视。因为未经授权的固件修改可能会导致设备故障,产生安全漏洞。为了评估固件是否受到保护,以防止未经授权的修改或篡改,制造商采用数字签名的方法来确保固件的完整性和真实性。在这个过程中,私钥用于生成固件的数字签名,而设备上的公钥用于验证签名。如果固件被篡改,签名将不匹配,设备将拒绝加载篡改的固件。通常制造商使用数字签名算法(如RSA或ECDSA)生成固件的数字签名。

测试者通过获取制造商提供的正规固件包,并使用一些专用工具来提取固件文件的内容。对提取的固件文件进行修改包括新增代码、数据等,修改完后使用私钥生成新的数字签名。将篡改后的固件包按照制造商的标准要求部署到服务器上,以模拟OTA升级。操作设备进行设备固件升级,查看是否升级成功,从而以验证的固件是否具有防篡改机制。如果升级成功说明设备无法正确检验篡改固件的签名,则须建议制造商采取措施来加强固件的安全性,如更新签名算法或加强密钥管理等。

1.3 OTA可靠性要求及检测方法

固件OTA升级的可靠性要求是为了确保设备在进行OTA升级时能够稳定、可靠地与OTA升级服务器建立和维护通信连接,以确保升级过程的成功和设备的正常运行。OTA可靠性要求可简单概括为升级的可靠性和异常情况的处理两部分。

在检测升级可靠性方面,包括在正常网络条件下的升级、在高延迟网络条件下的升级和升级过程中断电后的恢复测试升级,多次进行升级测试设备并统计计算能够顺利完成升级的比例。

测试者通过模拟升级环境来满足试验条件,例如可以通过模拟网络连接中断通方式如关闭Wi-Fi或模拟临时网络中断,来测试设备是否能够正确识别中断并在连接恢复后继续升级过程,并通过确认升级过程中的连接建立、数据下载、固件验证和设备重启等阶段验证固件OTA成功率。

对于开发商而言,为了提高升级的可靠性,可使用断点续传机制并使用可靠的通信协议,从而使设备在网络中断后能够从中断处继续下载升级,而无需重新开始整个升级过程。

在异常情况处理的方面,设备在OTA升级过程中可能会遇到各种异常情况,设备应能够适当地处理这些异常情况以确保升级的可靠性和安全性。这包括升级包版本不兼容、设备断电、升级超时、存储空间不足、设备故障等。当遇到升级过程异常情况时,制造商应尽可能提供用户友好的反馈和通知,以告知用户发生了异常情况,并提供解决方案或建议。如果在升级过程中发生严重故障,应能够回滚到之前的工作状态,以确保设备的可用性。

综上所述,升级可靠且有合适的异常处理方式是确保OTA升级的成功和可靠性的关键因素。这些因素对于设备的正常运行和用户满意度至关重要。制造商需要在设计和测试过程中考虑这些因素,并不断改进OTA升级的流程,以提高设备的性能和用户体验。

2 结论及展望

本文分析了OTA升级中常见的问题与安全风险,并从功能、安全性和可靠性三方面提供了一些关于OTA升级的测评方法和防护对策。目前,智能家电行业在OTA升级的安全意识和有效解决方案方面存在一定缺乏,智能家电网络和信息安全标准也尚未完善。因此,未来需要结合具体案例进行进一步研究和探讨,以不断改进和加强OTA升级的安全性。OTA升级将带来更多创新功能,例如更智能的自动化、更高效的能源利用以及更强的互联互通性。与此同时,安全性测试将持续发展,以应对不断增加的网络威胁,确保智能家电设备的数据和隐私得到充分保护。

猜你喜欢

固件串口可靠性
浅谈AB PLC串口跟RFID传感器的通讯应用
可靠性管理体系创建与实践
5G通信中数据传输的可靠性分析
基于固件的远程身份认证
USB接口的多串口数据并行接收方法探索
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信
基于可靠性跟踪的薄弱环节辨识方法在省级电网可靠性改善中的应用研究
提取ROM固件中的APP
可靠性比一次采购成本更重要
一种通过USB接口的可靠固件升级技术