过去几年以来,我们的PC电脑鲜有再强调安装杀毒软件,似乎安全已经得到了很大的保障。然而,在另一个领域,安全形势却十分严峻。
根据中国国家信息安全漏洞共享平台(CNVD)的统计,2019年12月,收录的与工业控制系统相关的漏洞高达2306个,2019年新增漏洞数量413个;2023年7月的最新报告显示,截至2022年,CNVD发布漏洞信息共199,465条,2022年新增漏洞信息24801条,达到历史新高,保持连年增长态势。
随着工业物联网、工业4.0的不断深入发展,嵌入式硬件在使用智能产品的各行各业遍地开花,伴随而来的还有安全问题的日益频发,安全性能越来越受到人们的重视。对于工程师来说,如何高效地构建并开发可靠、安全的软硬件一体化产品,变得越来越重要。
基于嵌入式安全方面的问题,近期笔者与来自瑞典的IAR公司的亚太区副总裁Kiyo Uemura进行了交流。
Kiyo Uemura
IAR吸引工程师的地方在于其为开发人员提供了一个集成了编译器、汇编器、链接器和调试器的完全集成的开发环境 (IAR Embedded Workbench),形成了用于嵌入式软件开发的完整的开发工具链。 同时,最重要的是从开发底层就强调了安全性。
一个开发环境, 涵盖23+种架构,内嵌Safety Certification,IP Protection等
IAR
IAR是全球领先的嵌入式软件和服务供应商,提供应用于嵌入式系统微控制器和微处理器的软件。其嵌入式开发和嵌入式安全解决方案,可在数字产品的开发和未来的创新中,帮助客户创造具备必需的安全性和高质量保证的产品。IAR的产品被广泛用于汽车、工业自动化、医疗技术、消费电子产品和物联网(IoT)等一系列行业中。众多世界知名企业和数以千计的中小型公司都在使用IAR的产品。
IAR隶属于IAR集团(I.A.R. Systems Group AB),在纳斯达克OMX斯德哥尔摩中型股上市,股票代码为IAR B。公司在全球三大洲设有14个分公司和办事处,拥有200多名员工。
产品组合与核心价值
在竞争激烈的今天,一款产品如果没有鲜明的亮点和独特的核心价值是无法打动客户和工程师的。
基于此问题, Kiyo Uemura表示,“我们强大而灵活的产品涵盖了嵌入式软件开发的所有方面,凭借只需勾选即可使用的强大功能,配合上IAR专业的团队,我们能在整个开发过程中为客户提供支持。我们产品组合的核心是 IAR Embedded Workbench,被许多人认为是业内最好的编译器和调试器工具链。它为开发人员提供了一个完整集成编译器、汇编器、链接器和调试器的开发环境(IDE)。凭借强大的集成解决方案和功能,您可以在一个视图中获得所需的一切。更重要的是,IAR Embedded Workbench可以让代码更小、更快、更智能,同时确保稳健性、安全性和高质量,从而满足日益严苛的各项标准。”
IAR Embedded Workbench(以下简称IAR EW)涉及汽车、医疗、消费电子、工业自动化、物联网等多种行业。
IAR EW的鲜明特色和核心价值在于:全闭环工具链、端到端可落地的嵌入式解决方案,以及对超过23种架构的全面支持。
安全:端到端、可落地的嵌入式安全解决方案
IAR 旨在提供从设计到批量生产的安全代码、应用程序和设备的嵌入式安全解决方案。其IAR Embedded Workbench可以在整个产品开发周期中实现嵌入式安全。
IAR Embedded Trust 支持构建信任根。结合安全生产工具 - IAR Secure Deploy,IAR Embedded Trust 提供端到端解决方案,使企业能够将安全作为基础功能来实施。
IAR还提供 IAR Embedded Secure IP 解决方案,在产品开发的后期阶段,也能为正在进行的项目或即将投入生产的项目启用嵌入式安全。结合安全生产工具 IAR Secure Deploy,可以为软件和设备提供全方位的 IP 保护。
IAR 还与全球和区域性嵌入式安全组织有着长期的合作历史,并为制定立法和标准做出了贡献。借助 IAR 嵌入式安全解决方案,您将为满足各种法规和标准的要求奠定基础。
IAR提供了安全相关的白皮书,下载可以点击这里《应对网络安全的重大挑战,增强嵌入式系统的安全性》或联系我们。
同时, IAR EW支持超过23种最常用的架构:Arm、RISC-V、Renesas、ST、NXP、Microchip、TI等。
那么,IAR与Arm、RISC-V、Renesas、ST、NXP、Microchip、TI等达成了什么样的合作,对这些框架支持到了什么程度呢?
全面支持的架构
凭借着覆盖了最广泛微控制器和微处理器的嵌入式开发工具链,IAR在全球建立了一个巨大的生态系统,其合作伙伴包括了数十年来领先行业的国际企业。
其中,
IAR在与Arm合作中,提供了全面的开发工具和解决方案,用于Arm架构的嵌入式系统开发,包括支持Arm Cortex-M、Cortex-R、Cortex-A等一系列内核和相关技术。
IAR为RISC-V架构提供了完整的开发工具链与一整套的工作流程,支持RISC-V指令集架构,并提供用于RISC-V开发的调试器、编译器和调优工具。
IAR是唯一一家能够为Renesas全系列MCU提供开发工具的第三方独立供应商,支持Renesas的RX、RL78、RH850、RXv3、RZ等系列产品。
IAR为STMicroelectronics的8位STM8微控制器和32位基于Arm的微控制器提供全面的支持。
IAR为NXP的Kinetis、LPC、Vybrid、i.MX和S32K,以及S08、HCS12和ColdFire等产品提供了广泛支持。
IAR是唯一一家为所有AVR 8位和32位,以及Microchip基于Arm 和8051的MCU提供完整工具链的工具供应商。
IAR为TI的MSPM0、MSP430、MSP432、TM4Cx、Hercules Safety、无线MCU和Sitara微处理器提供全面的支持。
在与这些架构合作的伙伴厂商中,也包括近年来异军突起的很多中国厂商。
在全球化已经水乳交融不可分割的今天,尽管出现了暂时的去全球化现象,但在很多行业和领域,任何一个跨国公司的本土化是一个非常重要的方面。笔者每次碰到原厂都会与之探讨本土化这个问题。
本土化
IAR进入中国市场之后,与国内的MCU/MPU/SoC厂商和他们的用户有什么合作,提供了什么样的支持决定了本土化的深入程度。
针对这个问题,Kiyo Uemura表示,“虽然与每一家合作伙伴的合作内容与方式有所不同,但是我们在很多方面提供了非常实际和有效的深入支持。”
IAR的本土化支持主要体现在:
- 工具集成、支持与优化:将IAR的开发工具集成到厂商的开发平台中,为厂商提供优质的技术支持与解决方案,并进行优化以提供更好的用户体验和性能。
- 本地原厂技术支持和培训:IAR与中国合作伙伴交流频繁,为他们及其客户提供及时的技术支持,以帮助解决开发中的问题和挑战。我们提供在线支持、文档、知识库、现场培训课程等形式的支持,以帮助用户充分利用工具和技术。
- 应用示例和参考设计:为用户提供了宝贵的资源,帮助他们了解最佳实践并探索在特定项目中应用IAR工具的创新方式,从而提高开发产品的效率。通过展示实际的使用案例和实用的实现方式,开发人员可以了解如何优化工作流程,并充分发挥IAR解决方案在其应用中的潜力。
对于本土化,除了正常的支持以外,衡量本土化最重要的特点是在产品和服务方面有没有定制化服务和支持。对此,Kiyo Uemura说道:“中国是IAR非常重要的市场,因此近年来我们持续在中国进行投资。我们不仅建立覆盖主要业务领域的支持体系,而且还针对中国市场的需求提供了一系列特别的支持服务”。
IAR的特别的本土化支持包括:
- RISC-V支持:RISC-V作为一种开源指令集架构,在中国受到广泛关注和采用。IAR为RISC-V架构提供了相应的开发工具和解决方案,帮助中国企业在RISC-V平台上进行软件开发和优化。
- 定制化支持:IAR会根据中国企业的特定需求,提供定制化的产品和服务。例如,根据客户的要求,可以提供针对特定MCU型号的优化工具集,以提高开发效率和性能。
- 为了更好地满足中国市场和客户的需求,IAR提供了包括本地的技术支持团队、培训课程、中文文档和资料等支持和服务,以帮助国内客户更好地使用产品和工具。
对于一款开发工具来说,升级与更新频率是开发人员最关心的问题之一,也反映了原厂厂商的的支持力度和支持能力。
更新频率
IAR的产品一般多长时间进行版本升级,版本的升级是否有连续性?在全球范围内有哪些技术支持呢?
Kiyo Uemura表示,“IAR会定期、持续地发布新版本,以改进和增强我们工具的功能和性能。凭借我们在嵌入式工具领域的丰富经验、强大的研发团队和广泛的合作伙伴群体,我们也会根据市场对一些新技术的关注程度来决定新版本的发布时间。”
在IAR最新发布的IAR Embedded Workbench for Arm 9.40版本中,就加入了针对代码安全的增强功能:添加了针对Armv8.1-M专用的指针验证和分支目标识别(PACBTI)扩展。
IAR EW for Arm 9.40:集成PACBTI提升代码安全
2023年6月7日,IAR发布了IAR Embedded Workbench 9.40版本,这个版本升级的重要特色是:通过集成PACBTI来提升代码安全性,它引入了与指针验证和分支目标识别(PACBTI)扩展的无缝兼容性,保护嵌入式应用程序免受各种安全攻击。
通过PACBTI,用户应用程序可以通过加密签名来增强防护,有效防止攻击者控制整个系统。新版本还提供了更强大、更智能的IDE Build Actions,可为软件工程师带来更好的开发体验。
随着产品安全相关的立法和法规不断增加和完善,IAR此次发布的最新版本解决了增强代码安全性的关键需求。在众多焦点特性中,值得一提的是IAR Embedded Workbench for Arm提供的创新编译器功能与PACBTI扩展的融合互补,能够强力抵御两种盛行的攻击手段,包括返回导向编程(ROP)和跳转导向编程(JOP)。这两种攻击手段涉及利用用户应用程序中的代码片段,通过使用像堆栈粉碎(stack smashing)的攻击手法来获取调用堆栈的控制权,攻击者可以篡改存在堆栈中的关键指针,将指向地址转至已发现的漏洞代码片段,以达到攻击者目的。通过上述新功能,IAR Embedded Workbench为攻击者设立了难以逾越的屏障,使其更难利用代码漏洞破坏系统完整性。
尽管PACBTI可用于识别和排除常见的发动攻击的程序错误,但其有效性依赖于良好的软件开发实践,包括使用各种代码分析工具。
IAR首席技术官Anders Holmberg表示:“安全已经成为嵌入式软件开发业者的首要任务。最新版本的IAR Embedded Workbench for Arm结合了完善的软件开发实践,为真正安全的嵌入式应用奠定了基础。作为以效率、生产力和代码质量而闻名的IAR,结合了IAR Embedded Trust和IAR Secure Deploy嵌入式安全解决方案,提供了最全面的端到端解决方案之一,确保了从产品开发到大规模生产的每个步骤都具备强大的安全防护。”
IAR Embedded Workbench for Arm作为一个完整的开发工具链,包含高度优化的编译器和强大的调试器功能。开发者可以利用C-STAT和C-RUN等代码分析工具主动发现各种代码问题,提升代码质量,并尽可能减少潜在的安全攻击面。静态和动态分析在开发流程中发挥重要作用,可以发现和消除各种防御漏洞。此外,最新版本中还引入了智能IDE Build Actions,替代了之前的构建前(pre-build)和构建后(post-build)操作,使开发者能够在进行编译和链接之前执行多个命令。
IAR Embedded Workbench for Arm 9.40 版本延续并扩展了之前版本对Armv8-A AARCH64的支持能力,通过对Armv8-A AARCH32的支持,使64位处理器能够在32位模式下运行。此外,新版本还增强了对Renesas E2/E2 lite仿真器的兼容性,为Arm Cortex-M MCU和Cortex-A MPU提供了无缝连接的编程和调试功能。同时,新版本还新增了超过275款全新芯片的支持,涵盖了各大半导体合作伙伴厂商的产品。在扩展语言模式方面,IAR C/C++编译器支持额外的GCC编译器函数属性,拓展了广大嵌入式RTOS/中间件生态系统的互通性。随着IAR Embedded Workbench for Arm 9.40版本的发布,IAR 巩固了其为开发者提供先进工具和全面安全措施的承诺,推动嵌入式行业迈向更具创新性和完整性的未来。
结语
十三年前,也就是2010年7月,伊朗核设施遭到“震网”病毒入侵,其浓缩铀工厂五分之一的离心机报废;去年,西工大内部网络再次遭到大规模高强度网络攻击。即便是这些高度安全保障的内部网络都受到了攻击,正如文章开头中国国家信息安全漏洞共享平台(CNVD)的统计,在民用和嵌入式各行各业受到的安全威胁的数量更多,一旦被攻击,对于企业和工厂的危害性也将是致命的。
消费电子的智能化,工业物联网、工业4.0的快速与深度普及,使得基于硬件之上的嵌入式安全问题愈发明显,IAR在嵌入式开发领域提供的基于端到端可落地的嵌入式安全解决方案,全面的架构支持,完整的开发工具链成为越来越多工程师的选择。