【Rust日报】google 安全指南:如何将 Rust 逐步引入现有的固件代码库

科技   2024-09-10 15:37   加拿大  

fluvio - 流处理引擎

Fluvio是一个从零开始用Rust构建的分布式流处理系统。 Fluvio使用主题(topics)以不可变的分布式事件日志形式收集和存储事件。Fluvio被用于实现企业服务总线、消息队列和数据流处理。它就像是用Rust实现的Kafka。

什么是SDF? SDF是Stateful Dataflows(有状态数据流)的缩写,是一种流处理技术,你可以在其中连接/分割数据流,并调用其他服务(如AI/ML)进行数据丰富或元素计数。它就像是用Rust实现的Flink + 微服务。

Fluvio + SDF有什么独特之处? 我们正在试验一种创新的实时基础设施,它简化并增强了你的数据操作:

  • 无缝数据集成:轻松将来自任何源(数据库、webhooks等)的数据连接到你喜欢的工具中。
  • 灵活的数据转换:通过编程或SQL自定义和实现数据视图,以满足你的需求。
  • AI驱动的数据丰富:在一个平台内使用AI(包括生成式AI和机器学习)丰富数据。

我们还添加了更多功能,这些功能在连接器开发套件、智能模块开发套件、有状态数据流等方面轻松超过了约25万行代码。有状态数据流是用于有状态流处理和构建端到端数据管道的层。

这是一个强大的生产就绪系统。我们希望Rust团队考虑在你们的下一个项目中使用Fluvio和有状态数据流。

我不会用冗长的特性列表让你感到厌烦,因为确实有很多。这里是仓库和文档的链接:

  • Git仓库:https://github.com/infinyon/fluvio [为仓库点星。Fork仓库。为help-wanted问题贡献代码]
  • 文档:https://www.fluvio.io/ [阅读文档 - 实现教程]
  • 社区Discord:https://discord.gg/ecQVRst9 [加入对话,让我们一起构建酷炫的东西]

https://github.com/infinyon/fluvio

google 安全指南:如何将 Rust 逐步引入现有的固件代码库

本文讨论如何将 Rust 逐步引入现有的固件代码库,重点关注安全性和内存安全。该文章特别针对从事固件开发的 Android 开发人员。

  • 内存安全: 传统固件语言如 C 和 C++ 易受与内存相关的漏洞攻击。Rust 是一种内存安全的替代语言,具有可比的性能和代码大小。
  • 增量式采用: 该博客建议首先用 Rust 替换新代码和安全关键代码。可以将现有的 C 代码用薄的 Rust 包装器包裹起来,以简化集成。
  • 挑战: 挑战包括寻找兼容的 Rust 库、处理裸机环境以及处理可能无法实现的可失败分配。
  • 好处: 用 Rust 替换代码可以提高安全性并减少漏洞。Rust 还提供更好的开发体验。

本文还介绍了:

  • 如何选择要替换的组件和要使用的库
  • 如何处理无标准环境(没有完整操作系统的环境)
  • 如何为不支持的裸机系统定义自定义目标架构
  • 如何为 C/C++ 函数创建即插即用 Rust 包装器
  • 如何处理与现有 C/C++ 代码库的交互(例如,从 Rust 调用 C 函数)
  • 如何优化 Rust 构建以提高大小和性能

总体而言,本文为希望利用 Rust 实现更安全、更安全的固件的 Android 开发人员提供了有价值的指南。

https://security.googleblog.com/2024/09/deploying-rust-in-existing-firmware.html

--

From 日报小组 Mike

社区学习交流平台订阅:

  • Rustcc论坛: 支持rss
  • 微信公众号:Rust语言中文社区


Rust语言中文社区
Rust官方及社区最新信息搜集、文章推送,教程学习,技巧分享,社区交流。信息来源是整个全球Rust社区。
 最新文章