工业物联网(IIoT)系统中各类传感器应用比较广泛,智能货运通过传感器判断货物的实时状态,传递各种指令和数据,为软件应用提供保障。
如一个“智能”冷藏货车运行中,会受到许多因素的影响,如何将架构设计原则纳入软件中,以保护货车及其货物免受恶意活动的影响,是值得开发者认真研究的部分。
一辆冷藏卡车,其货物有一个智能空调系统,由复杂的软件控制,通过预测沿途的室外温度来降低能耗,可能容易受到攻击和危险。软件从卡车上的不同传感器接收货物区的温度和室外温度读数。半挂车各侧的紫外线传感器提供太阳的强度。软件对负载的安全负责。它确保货物保持在规定的温度范围内,如果不在规定的温度范围内,它会警告驾驶员,以防止食品出现健康问题。目标是减少沿线天气预报优化的供冷或供热能源。该软件从导航系统和互联网接收计划路线的天气预报。所有部件都使用卡车的控制器局域网(CAN)总线。
现在,可以采用哪些设计目标来确保控制卡车操作的软件的可靠性?软件保护需要在设计阶段进行规划,因为软件的设计和结构会影响可实现的保护级别:
软件体系结构必须易于验证和测试货物的安全性优先于节能,并采取措施将温度保持在允许的最大和最小限制范围内。必须有明确的机制及时发出预警警报,使卡车操作员能够采取补救措施,以及记录和记录测量、决策和补救措施的机制和方法。
设计需要清楚地阐明做出某些设计决策的理由和理由,例如温度传感器的数量和位置。为了实现软件模块的独立测试,设计需要允许不同模块接收来自相同温度传感器的输入。软件保护技术需要在周期的早期应用,以确保设计是可保护的,允许早期验证性能指标,并使早期验证达到的保护级别成为可能。
随着系统的发展,动态测试应该持续运行,包括部署和维护:有效的测试需要能够输入传感器和监控控制输出值或发送到其他设备的任何命令。允许在虚拟(或建模)环境中开发测试集和软件算法的设计和测试方法允许快速调试和验证两者。可以重用系统级测试来验证最终的硬件产品。随着重复性人工评估的质量随着时间的推移而下降,测试结果的分析应该自动化。虽然功能测试的重点是对系统的正确操作,但安全测试的重点是试图通过误用和滥用功能来颠覆系统,试图让软件做一些它不打算做的事情。系统建模大大有助于安全测试,因为现在人们可以比系统上的实际设备更具侵略性地干扰模型。
另外,任何插入到设计中的附加测试功能都不会在生产构建中使用。需要进行预测性试验,以便在一组可接受的公差下,准确预测系统的预期结果。对于卡车,我们应该生成各种温度测量组合,并更改输入的天气数据和车门位置传感器。如果这些输入设备位于主电子控制单元外部,则需要对它们之间的通信链路进行压力测试。
软件保护旨在确保软件不被攻击或非授权使用。实施软件保护是为了添加明确定义的防御属性,并应在所有“软件生命周期管理”过程和技术执行完毕后应用。在设计过程中,设计人员需要识别要保护的数据、计算、决策和配置,并确定如何强化代码。例如,使用软件保护来强化算法,确保货物的安全性比降低能耗具有更高的优先级,强化了脆弱和关键的决策功能。使用数据来保护使用中的变量,然后将其与决策序列纠缠在一起,使得更改变得更加困难。这样就可以保护软件及传感器在应用过程中免受威胁,在享受物联网便利的同时做到安全保护。
网友评论