Graphene 操作系统

2025 年 4 月 4 日 | 阅读 12 分钟

GrapheneOS 是一个开源、非营利性的移动操作系统,它优先考虑安全和隐私,并且与 Android 应用程序兼容。它的主要重点是隐私和安全相关技术的研究和进步,例如在沙箱、漏洞利用缓解和权限模型方面取得了重大进展。它曾被称为 CopperheadOS,成立于 2014 年。

GrapheneOS 从底层增强了操作系统的安全性和隐私性。它利用技术显着增加了利用最常见缺陷来源的难度,并减少了整类问题。因此,操作系统及其运行的应用程序都更安全。其他安全屏障,如应用程序 沙箱,得到了加强。GrapheneOS 致力于防止其隐私和安全措施对用户体验产生不利影响。

这些功能被设计成始终处于活动状态,而不会影响用户体验或通过配置设置增加额外的复杂性。并非总是如此,但除了更复杂的用户界面隐私和安全功能以及用户界面外,GrapheneOS 还为传感器权限、网络权限、设备锁定时(USB 外围设备、摄像头、快速设置等)的限制等功能提供了各种切换选项。

Graphene OS 概览

功能页面提供了 GrapheneOS 为 Android 开源项目 (AOSP) 带来的重要隐私和安全增强功能的概述。然而,我们之前的许多功能已不再出现在我们的功能页面上,因为它们已被贡献给 Linux、AOSP 和其他项目,以增强数十亿用户的隐私和安全。

安装指南可在安装页面找到,官方发布可在发布页面找到。GrapheneOS 还创建了各种注重安全和隐私的应用程序和服务。Vanadium 是一个 WebView,Chromium 浏览器经过硬化处理,特别适用于 GrapheneOS。我们基于硬件的 Auditor 应用程序和验证服务,提供本地和远程设备验证,我们现代化的隐私和安全摄像头应用程序,以及外部开发的 Seedvault 加密备份(最初旨在与 GrapheneOS 集成)也包含在 GrapheneOS 中。

GrapheneOS 的历史

Daniel Micay 于 2014 年底启动了 GrapheneOS。他早期的开源隐私和安全工作包含在最初的单一努力中。最初,该项目将 PaX 内核补丁移植到支持设备的内核,并将 OpenBSD malloc 移植到 Android 的 Bionic libc。

一家公司于 2015 年底成立,并成为该项目的主要赞助商。当这家公司资助 GrapheneOS 时,它被称为 CopperheadOS。公司的目标是利用 GrapheneOS 作为基础,建立一家销售维护、合同工作和定制专有操作系统变体的公司。

首席执行官于 2018 年接管了公司,并试图强加他的意志,但受到训斥。2023 年 3 月,GrapheneOS 基金会在加拿大成立,成为一个非营利性公司,负责管理捐款的接收和分配。

Graphene OS 的功能

这些是 GrapheneOS 超越 Android 开源项目 14 版本的功能。它们不包括基本功能,而是包括我们的 AOSP 升级。本节仅列出我们对当前 Android 的增强功能,不包括标准应用程序沙箱、已验证启动、漏洞利用缓解、权限系统等方面的功能。尽管这些功能未在此处列出,但它们构成了我们大部分历史工作的重点。因此,我们希望提供一个单独的网站来概述我们对 Android 的贡献。

  1. 防范未知漏洞的利用
    GrapheneOS 的主要目标是保护用户免受利用未知漏洞的攻击者侵害。修补漏洞并不能保护用户,因为供应商知道它们,并会创建修复程序并提供。
    在发生泄露后减轻损害,还包括通过已验证的启动来阻止攻击者继续管理组件或操作系统/固件,并避免对持久状态的信任。以下功能可用于防御漏洞利用。
    • 攻击面减小
    • 漏洞利用缓解
    • 改进的沙箱
    • 防持久化/检测
  2. 更完整的补丁
    Android 中许多尚未修复的漏洞在 GrapheneOS 中得到了解决。最新的 Linux 内核 LTS 补丁版本可以快速安全地发送到支持 GKI(通用内核映像)的设备,例如第六代和第七代 Pixel 手机。虽然我们的总体战略是专注于系统隐私和安全增强,但解决特定漏洞也至关重要。
  3. 沙箱化 Google Play
    由于其兼容层,官方 Google Play 版本安装在 GrapheneOS 的常规应用程序沙箱中使用。在 GrapheneOS 上,Google Play 没有任何独特访问或特权;相反,它会绕过应用程序沙箱并获得大量高特权访问。沙箱化 Google Play 提供了几乎完全兼容 Google Play 应用程序生态系统,这几乎已准备就绪。
  4. Android Auto
    Android Auto 的官方版本安装并与 GrapheneOS 一起使用。Android Auto 需要专门的访问权限才能正常工作。得益于 GrapheneOS 对沙箱化 Google Play 支持层的增强,Android Auto 的运行权限更少。
  5. 网络权限切换
    GrapheneOS 包含一个网络权限切换器,可阻止访问任何可用网络,包括直接和间接网络。此外,此权限保护设备的本地网络 (localhost),并阻止应用程序使用它在配置文件之间进行通信,这非常重要。
  6. 传感器权限切换
    传感器权限切换器功能允许您阻止设备上任何额外传感器(如加速度计、陀螺仪、指南针、气压计、温度计以及未被摄像头、麦克风、身体传感器或活动识别 Android 权限涵盖的任何其他传感器)的访问。访问被禁用时,会检查传感器值的应用程序将获得零值,并且不会收到任何事件。
  7. 存储范围和联系人范围
    存储范围是 GrapheneOS 提供的默认 Android 存储权限的完全兼容替代品。GrapheneOS 提供联系人范围作为允许联系人的替代方案。默认情况下,联系人列表显示为空,用户可以为单个联系人或联系人群组提供不同级别的访问权限。
  8. 广泛的运营商支持,无需侵入性运营商访问
    与 AOSP 相比,GrapheneOS 提供了更广泛的运营商支持,并且与 Pixel 原生 OS 非常相似,而无需进行相同的权衡。使用我们的 CarrierConfig2 项目和脚本,我们将它们的 APN、MMS、运营商配置和可视语音邮件数据库转换为 AOSP 支持的格式。
  9. 仅 LTE 模式
    仅 LTE 模式关闭了大量旧版(2G、3G)和最新版(5G)代码,以限制蜂窝无线电的攻击面。
  10. Wi-Fi 隐私
    GrapheneOS 默认支持每个连接的 MAC 地址随机化。最近 Android 使用的典型永久每个网络随机 MAC 的隐私性不如此方法。GrapheneOS 还修复了 Linux 内核 IPv6 隐私地址实现中的重大错误。
  11. 私人截图
    GrapheneOS 关闭截图中的敏感元数据。
  12. 关闭设备标识符泄露
    GrapheneOS 解决了许多备受瞩目的设备标识符泄露问题,而 Android 旨在让应用程序无法唯一标识设备。有关更一般的信息,请参阅我们关于硬件 ID 和非硬件符号的 FAQ 部分。
  13. PIN 码随机化
    GrapheneOS 包含一个 PIN 码随机化切换器,使在近距离或通过侧信道输入 PIN 码时更难破译用户的 PIN 码。SIM PIN/PUK 和锁屏都受 PIN 码随机化影响。
  14. 默认隐私
    默认情况下,GrapheneOS 排除或不使用 Google 应用和服务。它还避免包含任何与其他强调安全和隐私的应用程序或服务相冲突的内容。无需任何额外权限或访问权限,Google 服务和应用程序即可作为标准沙箱化应用程序在 GrapheneOS 上使用。我们改进了 SUPL 隐私,默认情况下,我们将 SUPL 服务器撤销到我们的代理。
  15. 支持更长的密码
    GrapheneOS 支持更长的密码,例如 128 个字符,而不是默认的 16 个字符。这消除了通过设备管理器激活此功能的需要。如果用户不想依赖安全元素的安全性,它会提供高度严格的限制,即使使用随机的六位数 PIN 也能提供高级别的保护。此选项允许用户使用 diceware 密码。
  16. 自动重启
    为了保护数据,GrapheneOS 具有自动重启功能,该功能会在特定时间后重启锁定的设备。每次锁定设备时,都会启动倒计时。如果在计时器归零之前未成功解锁,设备将重启。当任何配置文件解锁时,超时都会重置。不仅是所有者配置文件,也是解锁后的配置文件。
  17. PIN 码和密码
    当在请求设备凭据的任何地方输入胁迫 PIN 码或密码时,GrapheneOS 会为客户提供永久擦除设备和任何安装的 eSIM 的选项。
  18. 更安全的指纹解锁。
    GrapheneOS 通过允许总共 5 次尝试(而不是 20 次尝试),并在每次尝试失败之间等待 30 秒,从而使指纹解锁功能更安全。
  19. 改进的用户配置文件
    Android 用户配置文件是私有的工作区,包含应用程序实例、应用程序数据和配置文件数据(媒体存储、主目录等)。
    • 更多用户配置文件
    • 结束会话
    • 禁用应用程序安装
    • 安装可用应用程序
    • 通知转发
  20. GrapheneOS 应用程序存储库
    GrapheneOS 配备了我们自己注重安全、极简且用户友好的应用程序存储库客户端,用于使用我们的第一方应用程序存储库。
  21. Vanadium:硬化的 WebView 和默认浏览器
    我们的默认浏览器 Vanadium 作为操作系统 WebView 组件的一部分包含在 GrapheneOS 中。与 AOSP 相比,Vanadium 是 Chromium 的一个硬化版本,提供了增强的安全性和隐私性。尽管目前 Vanadium 浏览器没有增加多少新功能,但正在进行大量改进。
  22. 我们的 Auditor 应用程序和验证服务
    提供强大的基于硬件的设备固件/软件合法性和完整性验证。通过使用为每次配对创建的基于硬件的密钥的强大配对方法来确认设备的身份。基于软件的验证与硬件牢固地绑定。有关更多信息,请参阅教程和关于页面。
  23. GrapheneOS 相机
    GrapheneOS Camera 是一款先进的相机应用程序,优先考虑安全和隐私,并拥有出色的用户界面。有关更多信息,请参阅我们使用指南的相机部分。
  24. GrapheneOS PDF 查看器
    GrapheneOS PDF Viewer 是一款受保护的沙箱化 PDF 查看器,支持 HiDPI 渲染。它提供文本选择、捏合缩放和加密 PDF 阅读功能。
  25. 加密备份
    由于集成了 Seedvault 应用程序,备份是加密的。该应用程序支持本地备份和使用存储提供程序应用程序的云存储提供商。GrapheneOS 社区成员开发了 Seedvault 以集成到我们的操作系统中。
    然而,该项目正由另一群不与我们共享目标或方法的人接管,并用新的实现取而代之。由于这是目前可用的最佳选择,因此我们将其集成以向用户提供加密备份支持。已实施多项安全更新以解决与项目相关的上游问题。
  26. 位置数据访问指示器
    GrapheneOS 不启用常规的 Android 相机和麦克风指示器。它会激活隐私指示器以获取位置数据。这会显示一个通知,当应用程序请求位置数据且用户被允许查看时出现。我们还修复了多个用户体验问题,使该功能(正如其在 AOSP 中的实现方式)非常易于使用。
  27. 用户安装的应用程序可以关闭
    与系统应用程序相比,我们在 GrapheneOS 中禁用了用户安装的应用程序。我们无需删除应用程序并丢失其数据,用户现在可以完全阻止其已安装的应用程序运行。
  28. 其他功能
    Graphene 操作系统提供了许多其他可以轻松使用的功能。

服务

  • 该操作系统为我们的基础设施提供了严格的安全和隐私标准。
  • 日志通常会在 4-10 天后删除,以防止不必要的日志记录。
  • 所有服务完全托管在我们自己的 OVH 虚拟机和专用服务器上。
  • 在托管 CDN、SaaS 平台、镜像和其他服务中不涉及任何第三方。
  • 使用开放的技术栈构建我们的服务,以避免供应商或托管提供商的锁定。
  • 系统基础架构已公开文档化,并提供了操作系统设置的说明。设置说明也涵盖了所有列出的服务,并发布了 Web 服务的配置。
  • 它表明 Graphene OS 没有独占服务。
  • 所有服务的加密都是真实的,为我们的所有服务(TLS、SSH 等)提供了强大的密码设置。

Grapheme OS 的功能

我们可以看到项目的功能超越了技术操作系统本身的功能。

  • 该操作系统提供了合作的开源项目,拥有强大的贡献者社区。
  • 您可以自由地按照自己的意愿进行修改和构建,而不受上游项目所做选择的约束。
  • 一项非营利性计划,避免商业化以防止利益冲突。
  • 所有服务和产品的基本隐私准则。
  • 证明了该团队能够抵御妥协的企图,将项目完整性置于个人利益之上。

安装 Grapheme 操作系统

有两种官方批准的安装 GrapheneOS 的方法。要么使用为技术用户设计的命令行安装方法,要么使用推荐给大多数人的基于 Web USB 的安装程序。

我们强烈建议使用批准的安装技术之一。其他方的安装说明通常不准确、过时且包含错误。

如果在安装过程中遇到问题,请在官方 GrapheneOS 聊天频道上寻求帮助。附近几乎总有人愿意提供帮助。在寻求帮助之前,请尝试自己按照说明进行操作。然后,在你遇到麻烦的地方寻求帮助。

您可以使用命令行方法在不信任我们的服务器基础结构的情况下安装 GrapheneOS。这需要应用具有适当的 OpenSSH 和 fastboot 软件包的操作系统,以及足够的进程知识,以便不完全依赖我们站点的说明。对于许多用户来说,基于 Web 的安装方法(只需要一个支持 WebUSB 的浏览器)同样安全。

1. 创建 GrapheneOS

为平板电脑和智能手机创建目标

  • Akita (Pixel 8a) - 预发布
  • husky (Pixel 8 Pro)
  • Shiba (Pixel 8)
  • Felix (Pixel Fold)
  • tangorpro (Pixel Tablet)
  • lynx (Pixel 7a)
  • cheetah (Pixel 7 Pro)
  • panther (Pixel 7)
  • bluejay (Pixel 6a)
  • raven (Pixel 6 Pro)
  • oriole (Pixel 6)
  • barbet (Pixel 5a)
  • redfin (Pixel 5) (扩展支持)
  • bramble (Pixel 4a (5G)) (扩展支持)
  • sunfish (Pixel 4a) (扩展支持)
  • Coral (Pixel 4 XL) (扩展支持)
  • flame (Pixel 4) (扩展支持)

它们都是完全正常运行的生产就绪目标,支持所有基本安全功能。它们还会收到每月安全更新,涵盖所有固件、驱动程序库和服务、内核驱动程序以及与设备相关的其他代码。合法的 GrapheneOS 版本是为这些设备完全签名的用户构建。

由于它们具有更强大的硬件/固件安全性和基于硬件的 操作系统 安全功能,因此最新一代设备是更出色的开发工具。并非所有内容都可以使用早期设备进行开发。Pixel 6 和 7 系列是开发的最佳设备。

2. SDK 模拟器目标

SDK_phone64_x86_64

这些模拟器目标仅用于开发目的。它们不提供所有基本安全功能,也不会接收完整的每月安全更新。

Graphene OS 的使用

这是一本手册,涵盖了与 Graphene 使用相关的几个主题。我们可以详细介绍操作系统的使用,例如另一个操作系统。我们使用 OS 进行各种细节和安全目的。

  1. 系统导航
    • 手势导航
    • 3 按钮导航
  2. 存储访问
    • 存储范围
  3. 联系人范围
  4. 可访问性
  5. Auditor
  6. 更新
    • 设置
    • 安全性
    • 禁用
    • 侧载
  7. USB 外围设备
  8. 网页浏览
  9. 相机
    • GrapheneOS 相机应用程序
    • Pixel 相机
  10. Exec 派生
  11. 安全功能发现的错误
  12. Wi-Fi 隐私
    • 扫描
    • 与接入点 (AP) 相关
  13. 仅 LTE 模式
  14. 沙箱化 Google Play
    • 安装
    • 配置
    • 局限性
  15. eSIM 支持
  16. Android Auto
  17. 银行应用程序
  18. 应用链接验证
  19. 运营商功能

GrapheneOS 存储库

  • GrapheneOS 是一个采用开放开发方法的开源项目。
  • GrapheneOS 组织在 GitHub 上托管 GrapheneOS 源代码。
  • 本网站试图充当一个指南,包含如此多的存储库。
  • 文件问题类似摘要可以在联系页面中的报告问题部分找到。
  • 操作系统源代码树中有数百个存储库。其中许多在生成生产版本过程中并未真正使用。它们用于调试、测试或 OS 中的开发。

独立应用程序

GrapheneOS 创建了这些独立的应用程序项目,并将它们集成到操作系统中。这不包括 AOSP 提供的几个应用程序,这些应用程序要么未被 GrapheneOS 修改,要么只进行了非常小的修改。

  • Apps
  • Talkback:GrapheneOS 克隆的开源 TalkBack 屏幕阅读器
  • Vanadium:专注于 WebView 的隐私和安全
  • Auditor
  • 相机
  • PDF 查看器

结论

GrapheneOS 曾名为 CopperheadOS。我们新的闭源产品正在使用我们的旧版 CopperheadOS 代码和徽标,与原始项目无关。GrapheneOS 增强了操作系统及其运行的应用程序的安全性和隐私性。


下一个主题最新操作系统