广告

三种实用方法使物联网设备适应未来

2019-10-12 09:23:54 Andrey Madan 阅读:
尽管嵌入式设备在物联网中的作用可能十分重要,但目前并未强制要求这些设备都符合安全标准。由于物联网发展很快,合规要求可能滞后很多,有时候甚至在代码写好并测试之后才出现。那么,如何为嵌入式物联网设备的未来做好准备?

尽管嵌入式设备在物联网中的作用可能十分重要,但目前并未强制要求这些设备都符合安全标准。由于物联网发展很快,合规要求可能滞后很多,有时候甚至在代码写好并测试之后才出现。那么,如何为嵌入式物联网设备的未来做好准备?xhFednc

物联网(IoT)是由网络设备、组件或服务组成的系统,能产生和/或使用数据。物联网应用逐渐成为人们生活中不可或缺的部分:从工业机器人和手术器械,到自动驾驶汽车和自主飞行的无人机。今天,很多这些设备已经对用户的安全、隐私和安防产生影响,有一些甚至是致命的。因此,为物联网设备制定通用标准至关重要。xhFednc

如果软件设计一开始就能符合规范当然是最好的,但众所周知,严格的开发流程,特别是在没有实现自动化的情况下,会影响产品上市时间。没有几个开发人员愿意加班完成额外的测试工作并记录可追溯性,如果费时费力地建立合规性只是出于将来“可能需要”,务实、敏捷和快速的开发团队是不会为此而损失元气的。相反,许多团队相信“船到桥头自然直”。xhFednc

然而,没有什么魔法可以让时光倒流“使”代码从开始就符合规范。这些团队最后得到的教训是,等项目结束时再考虑合规性所需的成本,比开发伊始就考虑的成本要高出几个数量级。xhFednc

所以,为了满足未来严格的规范要求,现在可以采取哪些有效措施呢?xhFednc

措施1:清楚了解自己的技术负债

了解项目当前的状况非常重要。由于代码太复杂,加上代码中存在任何原本的编码标准及安全违规时,需要重写代码花费的成本即技术负债量。技术负债来自随后要完成的代码清理、修复和测试。静态代码自动分析是掌握项目当前状况的一种方法,它可以对代码库质量和安全性进行深入分析,并列出编码标准的违规(如果有的话)。xhFednc

然而,许多用C和C++语言开发嵌入式应用程序的团队并没有采用静态分析法,而是依赖编译器或通过手动检查代码来找出问题。一些团队因为各种原因,如发现静态分析工具噪声太多且很难使用,或者由于紧急的日常事务而不能将其纳入日常开发流程,而难以决定是否使用静态分析工具。一种常见的误解是,确定哪些违规值得修复所需的时间,远超过实际修复的价值。xhFednc

但我们发现,如果一个团队在项目的前期就强制性地采用了少许重要的规则,那么当项目后期面临功能安全审查时,重写代码花费的时间要少得多。如果从一开始就将安全性植入其中,例如实施CERT C安全编码规则,则更容易建成一个安全可靠的系统。我们可以从简单的规则开始。CERT拥有先进的优先级系统(包含严重性、可能性和补救成本三个指标,每个指标分为3个等级,总共27个级别),如果使用自动化测试工具,通常很容易在预先设置好的控制面板(dashboard)中查看合规状态。xhFednc

静态分析通过采集数据点,帮助管理安全与安防合规性,使公司能够了解其技术负债。管理者可以轻松评估一些重要的问题,比如:xhFednc

· 底线是什么?代码库中不严重的编码违规有多少?xhFednc
· 趋势数据:是否每个新版本都报告了新的和已修复的违规?情况变好了还是变差了?xhFednc
· 目前的代码复杂度是什么?复杂度在增加吗?xhFednc

有些标准要求衡量环路复杂度(cyclomatic complexity),并使其低于某个阈值。复杂度指标也可用于估计测试工作量——例如,对某个函数进行IEC 61508 SIL 2合规测试,若要达到100%的分支级覆盖率,则所需的测试用例数与该函数的McCabe环路复杂度成比例。xhFednc

图1的例子来自一个控制面板,显示了某项目的MISRA合规性。xhFednc

Pulse1-F1-201910.jpgxhFednc
图1:项目的MISRA合规性。xhFednc

图2显示的是CERT合规性。xhFednc

Pulse1-F2-201910.jpgxhFednc
图2:项目的CERT合规性。xhFednc

查看代码指标有助于暴露更复杂的地方,从而进一步检查代码,同时监控测试是否对这些地方实现了良好覆盖。图3是指标控制面板示例。xhFednc

Pulse1-F3-201910.jpgxhFednc
图3:指标控制面板示例。xhFednc

首先从基本的开始。一旦开发团队能够轻松自如地管理最严重的错误,就可以增大管理标准违规的范围。并非所有规则都是“一成不变”的,因此决定将哪些规则纳入项目编码标准非常重要。在一些关键编码标准中至少采用一组强制性的规则(例如MISRA强制性规范或环路复杂度C规则),将使联网设备未来的安全与安防论证变得更容易。xhFednc

措施2:建立合格的单元测试框架并衡量代码覆盖率

大多数务实的工程师都会认同,盲目地为所有功能设置单元测试并不能获得良好的投资回报率(ROI)。但是,如果开发团队可以访问的单元测试框架是沙盒(sandbox)项目的一部分,那么这就是一项有价值的投资。当需要单独测试某些复杂的算法或数据操作时,可以根据实际情况来选择进行单元测试。完成单元测试这个过程本身也很有价值——从公司的角度来看,仅仅是编写和执行单元测试就可以使代码更加强健,并且代码设计得更好。xhFednc

当安全与安防合规要求增加时,公司只需临时增加测试人员,就可加快单元测试工作。但要快速扩展测试工作,就需要在整个项目进程中了解单元测试框架和流程,并形成文档。一个考虑了未来合规性的可扩展单元测试框架应具有以下特征:xhFednc

· 适合指定安全标准的应用(例如通过TÜV认证)xhFednc
· 集成到自动打包系统中xhFednc
· 报告所需的代码覆盖率指标(例如MC/DC)xhFednc
· 按时间记录每个版本完成的测试结果和覆盖范围xhFednc
· 适用于多个项目和开发团队xhFednc

最重要的是,要以最小的规模来部署未来安全标准需要的所有测试技术。这样的话,如果需要认证就更容易扩展,而不用从头开始。xhFednc

措施3:隔离关键功能

构建嵌入式系统需要考虑大量的“非功能性需求”,如简单性、可移植性、可维护性、可扩展性和可靠性,同时还要综合考虑延迟、吞吐量、功耗和尺寸限制等因素。在设计可能与大型物联网生态相连的系统架构时,许多团队优先考虑的是一些与质量相关的因素,而不是安全与安防。xhFednc

如果将组件在时间和空间上分离出来,未来它们便更容易符合安全规范(并具有良好的架构)。例如,在设计系统时,可以将所有的关键操作都放在单独的专用CPU上执行,所有的非关键操作放在另一个CPU上执行,从而实现物理隔离。另一种方法是采用分离内核管理程序(Separation Kernel Hypervisor)和微内核(Microkernel)概念。当然还有其它方法,但重点是要尽早采用关键架构方法,如关注点分离、深度防御和混合关键性分离。这些方法不仅减少了遵守安全与安防标准所需的工作量,还提高了应用程序的质量与复原性。例如,以下是隔离关键代码的一些方法:xhFednc

· 空间域:xhFednc
文件xhFednc
模块xhFednc
目录xhFednc
xhFednc

· 执行域:xhFednc
线程、RTOS任务、管理程序xhFednc
CPU内核、独立CPUxhFednc

将关键功能与非关键功能分离,未来检查合规性时,验证范围就可以缩小。xhFednc

结语xhFednc

物联网生态中的许多边缘设备提供关键性服务,它们可能需要符合未来的安全与安防标准。努力满足标准要求却不管是否真正需要,显然并不是一种合算的方法。但我们还是应该为未来做好准备,比如采用关键设计技术、单元测试方法和静态分析工具,同时收集各项指标数据来支持未来的需求。如果尽早启动,软件开发团队就可以将这些方法无缝应用到现有流程中。同时也应尽早采用具有可扩展性的正确方法,避免在开发、测试和部署软件时花费更大的力气使代码合规。xhFednc

(原文刊登于ASPENCORE旗下IoT Times网站,参考链接:3 Practical Ways to Future-Proof Your IoT Devices。)xhFednc

本文为《电子技术设计》2019年10月刊杂志文章。xhFednc

本文为电子技术设计原创文章,未经授权禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
  • 可解决工业自动化和IIoT挑战的MCU 工业自动化和工业物联网(IIoT)设计人员的性能要求不断变化。就MCU而言,他们希望获得更快的处理速度、更多的内存、更好的连接性和更多的安全功能。
  • Matter智能家居应用上路 无线连接是智能家居应用和Matter规范的核心。为了符合Matter标准,业界芯片供货商正通过集成802.15.4或扩展其无线产品组合,以单芯片支持多种无线协议的实力推动智能家居应用的Matter转型…
  • AIoT生态发展大会智慧两轮车分论坛圆桌讨论:智慧两轮车 在AspenCore举办的“2022国际AIoT生态发展大会”上,“智慧两轮车分论坛”的圆桌讨论环节邀请到全志科技、威灵电机、发掘科技、台铃科技和灵动微电子五家两轮车市场的芯片商、方案商、系统商和整车厂,围绕“智慧两轮车市场如何弯道超车?”的主题展开了讨论。
  • 智能化、联网化趋势下,传统电动自行车企业如何价值再造 随着绿色低碳意识的提升,以及外卖与快递行业的发展,近年来电动自动车的产量及销量大幅增长。但与此同时,电动自行车的安全问题也引起全社会的关注。数据显示,2021年1-10月器期间,电动自行车电池故障引发的火灾1.4万起,包含多起人身伤亡事故,在政府的重视下,中国质量认证中心发布了智能电动车认证技术规范,希望能够用技术手段,用物联网手段降低电池的安全相关事故,能够提高电动自行车在电池和整车的安全性。电动自行车的智能化、联网化已成为刚需。
  • 发掘科技:V2X场景中的两轮车方案 日前,在AspenCore举办的“2022国际AIoT生态发展大会”的“智慧两轮车分论坛”上,发掘科技战略发展总监屈博发表了“V2X场景中的两轮车方案”主题演讲。
  • 碎片化、成本高是难题,AIoT行业需要哪些改变? 作为AIoT的行业基石,物联网市场到2022年预计将达到 144 亿活跃连接。随着供应限制的缓解和增长的进一步加速,IoT Analytics 最新预测指出,到2025年全球将有大约 270 亿台联网物联网设备。中国物联网链接到2025年也将达到80亿。随着整个AIoT和IoT市场的快速成长与变化,我们将面临哪些风险和挑战?
  • 英特尔张宇:边缘AI有三个阶段,我们还处在山脚 在AspenCore举办的“2022国际AIoT生态发展大会”上,英特尔公司高级首席工程师、物联网事业部中国区首席技术官张宇博士通过视频方式分享了“边缘AI技术发展趋势与展望”主题演讲。
  • 面向未来物联网的高密度、高可靠、高安全性的计算平台 在AspenCore举办的“全球MCU生态发展大会”上,安谋科技解决方案总监邹伟发表了“面向未来物联网的高密度、高可靠、高安全性的计算平台”主题演讲。
  • 芯海:信号链MCU新标杆——SmartAnalog系列 6月17日,在AspenCore举办的“全球MCU生态发展大会”上,芯海科技高级产品经理王伟发表了“信号链MCU新标杆:SmartAnalog系列”主题演讲。
  • IoT时代新型应用给MCU技术和生态带来的机遇与挑战 在AspenCore举办的“全球MCU生态发展大会”上,英飞凌科技大中华区安全互联系统事业部技术市场总监翁伟钿发表了“IoT时代新型应用给MCU技术和生态带来的机遇与挑战”主题演讲。并重点介绍了三种面向细分市场的MCU解决方案。
  • 成本不到一毛钱的塑料芯片,真的能量产吗? 现在研究人员设计了一种新的塑料处理器,他们估计能够以不到一便士(约合人民币0. 082元)的价格大规模生产。根据IEEE Spectrum 的一份报告,新的 Flexicore 芯片可以开启一个世界,从绷带到香蕉,一切都可以拥有芯片。
  • 金线、银线,不如“无线”?——WiSA无线音频 我们知道,高端无线音频主要是用5GHz,而中低端普遍采用2.4GHz。这方面主要在于频谱的利用和技术原因,2.4G覆盖距离比5G长,但缺点是频宽窄。而WiSA的DS模块却能够做到“2.4GHz 比别人家的5GHz 更好,比自家的5GHz要差”。原因是什么?怎样解决无线音频的痛点?
广告
热门推荐
广告
广告
EE直播间
在线研讨会
广告
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了