本指南旨在说明Tauri设计核心的高级概念和安全功能,这些默认设置可以使您,您的应用和用户更安全。
请注意:
尽管我们会抓住一切机会来帮助您加强应用程序的安全性-但始终存在潜在威胁,例如BIOS攻击,内存行锤以及其他操作系统漏洞,这些威胁不断被发现并(以最佳方式) 以负责任的方式披露。
此外,开发团队可以通过多种方法来偷工减料,泄露敏感信息,或者为各种攻击敞开大门。
安全是一个永无止境的追求,您的用户依靠您来保证他们的安全。
因此,我们强烈建议您花一些时间考虑应用程序所做的一切的安全后果,特别是在最终用户设备的半敌对平台上运行的情况。
如果您需要帮助或需要审查,欢迎您联系Tauri团队进行安全咨询。

安全研究员

如果您认为Tauri中存在安全隐患或任何问题,请不要公开评论您的发现。
相反,请直接与我们的安全团队联系:
security@tauri.studio
尽管我们目前没有用于安全奖励的预算,但在某些情况下,我们将考虑以有限的资源来奖励负责任的披露。

无需服务器

Tauri使您能够构建使用Web技术作为用户界面的应用程序,而无需使用服务器与后端进行通信。
即使您使用了动态导入和卸载工作到后端的高级技术,也不会在TCP端口或外部进程上嗅探到任何流量-因为它们不存在。
这样不仅可以大大减少最终二进制文件的物理和虚拟占用空间,而且还可以通过从等式中删除潜在的攻击向量来减少它们的表面积。

Rust的语言特征

通过使用以其内存安全性和速度而闻名的编程语言,Tauri可以简单地消除所有类型的常规攻击。
免费使用后并不是Tauri可以实现的。

动态提前时间编译(AOT)

这种编译过程发生在Tauri应用启动阶段的几次。
通过使用我们的默认动态Ahead of Time编译器,您可以生成每个会话唯一的代码引用,并且在技术上仍是静态代码单元。

功能强化

功能性ASLR

功能地址空间布局随机化技术在运行时将函数名称随机化,并且可以实现OTP哈希,因此没有两个会话是相同的。
我们提出了一种新颖的函数命名方式,它可以在启动时以及每次执行后选择命名。
为每个函数指针使用UID可以防止静态攻击。

Kamikaze函数注入器

使用 EVENT API端点的fASLR的这种高级类型是将承诺包装在封闭(带有随机句柄) 中,Rust在运行时将其插入到Webview中,该接口的接口被锁定在承诺解析处理程序和 执行后为null。

桥接,无需服务

除了传递可能不安全的功能之外,还可以使用事件桥将消息和命令传递给应用程序各个侧面的命名代理。

一键式分词和散列

通过使用OTP盐来哈希重要消息,您可以在用户界面和Rust后端之间加密消息。
我们目前正在调查其他熵的来源,例如令人惊奇的Infinite Noise TRNG

系统功能

允许的API

您可以选择UI和Rust可以使用的API函数。
如果未启用它们,则该代码将不会随您的应用一起提供,从而减小了二进制文件的大小和攻击面。
它们是可选的,因此您必须自觉选择逐步增强您的应用程序。

内容安全策略管理

长期以来,使用CSP可以防止网站未经授权的代码执行。
Tauri可以将CSP注入用户界面的index.html,并且在使用localhost服务器时,它还将这些标头发送到UI或与其连接的任何其他客户端。

反编译困难

这意味着您的应用程序无法像Electron ASAR文件那样轻松地反编译,这使得对您的项目进行反向工程的过程更加耗时,并且需要专业人员培训。

生态

依赖恢复

有时,Tauri团队会在第三方发现在技术上可行且非常有价值的软件包,但这些软件包已过时且包含漏洞。
一个很好的例子就是tauri-inliner
仅包含此模块将为我们的核心引入30多个漏洞。
因此,我们创建了原始库,更新了易受影响的模块到最新版本,并修改了函数签名。
一旦采用,我们将继续维护这些库。

建立管道和构件真实性验证

发布我们的源代码工件的过程是高度自动化的,但是要求启动并由真实的人进行审查。
我们当前的发布策略结合了Github Actions和IOTO Tangle.

弹性的PR和审批流程

我们的WG-TECH会检查代码更改,并在范围内标记PR,并确保所有内容都保持最新。
当需要发布新版本时,一位维护者在master上标记了一个新版本,该版本:

  • 已经验证了核心功能
  • 运行了烟雾测试
  • 审核了crates和npm的安全性
  • 生成了变更日志
  • 创建了构件
  • 将校验和发布到IOTA
  • 创建草稿版本 然后,维护人员检查发行说明,并根据需要进行编辑并生成新发行版。

    后续的工作

    签名的二进制文件

    因为整个项目都以整体二进制文件的形式提供,所以可以为所有可分发代码签名代码。
    (当前使用外部工具,但我们正在积极致力于使bundler成为一站式商店。)
    这使得黑客在没有操作系统通知的情况下几乎不可能更改已安装的应用程序。
    参考资料

    后二进制分析

    使用工业级的pentester工具(通过即将推出的Tauri-Frida GUI) 发现并修复最终二进制文件中的安全漏洞。

    后二进制增强

    在交付之前即已完成构建,Tauri将为您提供前所未有的工具。
    敬请关注!

    审核

    我们尚未进行审核,但是计划在1.0稳定版本之前实现此审核。