< 返回版块

mook 发表于 2021-05-19 23:49

Tags:rust, 日报

Linux 1Password的幕后花絮

Linux 的 1Password 后端是由Rust编写。

文章讲述了 1Password 团队使用 Rust 开发 1Password 的心路历程及幕后花絮。

ReadMore:https://dteare.medium.com/behind-the-scenes-of-1password-for-linux-d59b19143a23

进一步优化 Hashmaps

  • hashmap 和 hash 算法
  • 枚举作为 key
  • 静态字符串作为 key
  • 混合静态+动态 key
  • 展望未来
  • 结论
  • 笔记

ReadMore:https://blog.yoshuawuyts.com/optimizing-hashmaps-even-more/

Yew 0.18 发布

Yew是一个使用WebAssembly创建多线程前端Web应用程序的框架。

ReadMore:https://github.com/yewstack/yew

INTELLIJ RUST 更新日志

  • 解析宏时正确支持文本作用域
  • 解决多段宏路径和文件包含的文件内的宏调用 include!
  • 支持文件级别#![macro_use]cfg属性
  • 查找impl类型别名的所有可能块。以前,出于性能原因,仅当对应类型的别名数量不超过10时才对它们进行处理。现在,可以正确解析大量使用类型别名的crates,例如nalgebrawinapi

ReadMore:https://intellij-rust.github.io/2021/05/18/changelog-147.html

sok - 后端由rust编写的知识图谱

sok 可以根据Stack Exchange数据集生成完整的知识图谱,不仅仅可以用于计算机科学和编程,任何知识内容都可以用 sok 展示出来,sok 可以探索将不同的主题和概念联系在一起。

ReadMore:https://github.com/eastrd/sok

【Rust 安全案例】Rust 也能写出漏洞,但都是逻辑漏洞

题外话: 之前看到知乎上有人说 Rust 2021 年光 CVE 就有近百个。那咱们今天就捡个热乎的 CVE 看看到底是咋回事。

2021-05-18 ,openSUSE 邮件列表里收到一份安全报告,主题如下:

  • [oss-security] please: CVE-2021-31153,CVE-2021-31154,CVE-2021-31155: local root exploit and further

缘由:

please 是一个 Rust 实现的替代 sudo 的工具,该库作者向SUSE 团队提出setuid-root 的代码安全审核。然后就被发现存在很多安全问题,并且包含一个比较严重的本地root漏洞,允许执行命令。

报告摘录如下:

  • 可以进行任意文件存在测试,并且可以以root用户身份打开任意文件
  • 通过search_path()函数进行任意文件存在性测试
  • 通过-d开关进行任意文件存在性测试
  • 使用不可信的umask创建令牌目录“ / var / run / pleaser / token”
  • 允许通过pleaseedit编辑任何文件,允许任意文件覆盖和所有权更改

结论:

  1. 哪怕是 Rust 这样的现代语言,要实现 setuid-root 二进制文件也是一个很大的挑战。
  2. please库中几乎没有unsafe(只有几行 libc/nix调用),所以基本已经不存在内存安全类的漏洞了,但是像这种逻辑漏洞是无法避免的。(除非你不写代码。

setuid 二进制文件是在非 root 用户 shell 程序中运行的 root 权限二进制文件

https://marc.info/?l=oss-security&m=162133298513412&w=2

https://bugzilla.suse.com/show_bug.cgi?id=1183669


From 日报小组 冰山上的 mook && 挺肥

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页