回顾|鉴释梁宇宁在嵌入式技术大会发表 WASM 安全性演讲
ELEXCON 深圳国际电子展暨嵌入式系统展是港澳大湾区最大的电子类专业展览会,打通“智能设计-嵌入式系统-SiP 系统级封装-供应链升级-AIoT 生态圈”产业环节、面向电子工程师和嵌入式开发者的一场嘉年华盛宴。首日就突破 2.6 万观展人数。
鉴释有幸受邀,CEO 兼创始人梁宇宁在同期举行的中国嵌入式技术大会上,作为演讲嘉宾分享和讨论了基于 WebAssembly (WASM) 技术在嵌入式领域的开发方法,包括 WASM 的优势、背景和工作原理;WASM 面临的各项挑战及未来的发展趋势。
从 2015 年开始,WASM 要解决 Web 浏览器上无法运行 C 语言程序的问题,并提供沙箱化的执行环境。然而,我们发现 WASM 也可以慢慢的运用在嵌入式开发中去,提供了很多便利。例如软件开发和硬件的解耦,大大提高了投放市场的效率;而且业务软件可以预先在 WASM 的 API HOST 平台上开发调试,以提高软件质量;同时您的业务软件还可以在不同硬件平台上运行。
嵌入式开发因为性能问题一直都是以 C 语言为主的开发,随着时代的变迁,开发方法也要有新的变化去适应发展的趋势,解决C语言带来的问题。近年来,从事 C 语言开发的人员越来越少,但同时 C 语言的依赖库又非常多,改善兼容性变得非常重要。急需提高稳定性和安全性,特别在 AIOT 的产品上显得尤为突出。会上,梁宇宁谈及 AIOT 产品的嵌入式开发中潜在的风险,其主要在内存管理设计和实现中数据结构的线性安排和读写保护不够,而导致栈溢出;核心平台 API 的调用保护不够导致提权 DDOS 攻击。
谈及上述问题的解决方法时,梁宇宁说:“内存管理加读写范围保护,并用我们的基于 open64 编译器全程序的优化来减少带来的 overhead。要借用 WASM 静态特性,在函数的调用做范围保护,防止调用动态生成代码和核心 API。”
演讲结束,梁宇宁与台下观众讨论了如何结合静态分析、动态分析、编译器、形式化验证和 RISCV 芯片设计一起联合开发高质量且安全的产品。
以下节选自部分观众提问:
问:功能安全这一块的话,鉴释有没有在考虑我们工业的可靠性公共安全?
答:这方面我们有跟 seL4 基金会合作展开来做的。seL4 基金会是通过形式化验证把设计跟实现联合去做验证。跟 26262 对于开发流程保证安全标的准验证不同,seL4 它验证保证了很多内存管理实现,没有不确定性,保障不被黑客攻击。这个理论上非常强的形式化验证配合上设计和实现一起去做,否则,不是为验证而设计和实现的操作系统,是没办法去验证的。
问:你们产品对客户的程序代码会有一些改动对不对?比如检查会不会影响 code size?
答:其实 code size 主要跟编译器有关系,跟原代码是没关系的。我们做工具链,是把运行环境也都做了,包括编译环境,可以保证它又高效,又便宜。
鉴释最近宣布与seL4基金会展开合作,共同在嵌入式系统中实践形式化验证。点击了解更多鉴释的最新动态。
评论