From 5fa71e79b85f55e5fc482436ae4058bfc477e330 Mon Sep 17 00:00:00 2001 From: d4rklynk Date: Tue, 12 Mar 2024 17:42:43 +0100 Subject: [PATCH] Fix typos --- static/features.html | 72 ++++++++++++++++++++++---------------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/static/features.html b/static/features.html index 99ba60a2..a021fb7b 100644 --- a/static/features.html +++ b/static/features.html @@ -187,39 +187,39 @@ bugs via languages/tooling or preventing exploitation with strong exploit mitigations. In many cases, vulnerability classes can be completely wiped out while in many others they can at least be made meaningfully harder to exploit. - Android does a lot of work in this area and GrapheneOS has helped to advance + Android does a lot of work in this area, and GrapheneOS has helped to advance this in Android and the Linux kernel. It takes an enormous amount of resources to develop fundamental fixes for these problems and there's often a high performance, memory or compatibility cost to deploying them. Mainstream operating systems usually don't prioritize security over other areas. - GrapheneOS is willing to go further and we offer toggles for users to choose + GrapheneOS is willing to go further, thus we offer toggles for users to choose the compromises they prefer instead of forcing it on them. In the meantime, weaker less complete exploit mitigations can still provide meaningful barriers against attacks as long as they're developed with a clear threat model. GrapheneOS is heavily invested in many areas of developing these protections: - developing/deploying memory safe languages / libraries, static/dynamic + developing/deploying memory safe languages/libraries, static/dynamic analysis tooling and many kinds of mitigations.

The final line of defense is containment through sandboxing at various levels: fine-grained sandboxes around a specific context like per site browser renderers, sandboxes around a specific component like Android's media codec - sandbox and app / workspace sandboxes like the Android app sandbox used to + sandbox and app/workspace sandboxes like the Android app sandbox used to sandbox each app which is also the basis for user/work profiles. GrapheneOS improves all of these sandboxes through fortifying the kernel and other base OS components along with improving the sandboxing policies.

Preventing an attacker from persisting their control of a component or the - OS / firmware through verified boot and avoiding trust in persistent state + OS/firmware through verified boot and avoiding trust in persistent state also helps to mitigate the damage after a compromise has occurred.

Remote code execution vulnerabilities are the most serious and allow an - attacker to gain a foothold on device or even substantial control over it + attacker to gain a foothold on the device or even substantial control over it remotely. Local code execution vulnerabilities allow breaking out of a sandbox including the app sandbox or browser renderer sandbox after either - compromising an app / browser renderer remotely, compromising an app's supply + compromising an app/browser renderer remotely, compromising an app's supply chain or getting the user to install a malicious app. Many other kinds of vulnerabilities exist but most of what we're protecting against falls into - these 2 broad categories.

+ these two broad categories.

The vast majority of local and remote code execution vulnerabilities are memory corruption bugs caused by memory unsafe languages or rare low-level @@ -239,7 +239,7 @@ stripping out unnecessary code, making more features optional and disabling optional features by default (NFC, Bluetooth, UWB, etc.), when the screen is locked (connecting new USB peripherals, camera access) and optionally after a - timeout (Bluetooth, Wi-Fi) + timeout (Bluetooth, Wi-Fi).

  • Native debugging (ptrace) access is blocked for all bundled apps to reduce local attack surface. ptrace access is allowed by default for user installed apps for compatibility, with an option to block it by default. In @@ -345,7 +345,7 @@ mode help to enforce a low-level boundary between the kernel and userspace even if mistakes are made in SELinux policy or there's a deep userspace compromise.
  • -
  • Additional consistency / integrity checks are enabled for +
  • Additional consistency/integrity checks are enabled for frequently targeted kernel data structures.
  • On ARMv9, Branch Target Identification (BTI) is enabled in addition to Clang type-based Control Flow Integrity (CFI) to @@ -461,7 +461,7 @@

    Since the Google Play apps are simply regular apps on GrapheneOS, you install them within a specific user or work profile and they're only available within that - profile. Only apps within the same profile can use it and they need to explicitly + profile. Only apps within the same profile can use it, and they need to explicitly choose to use it. It works the same way as any other app and has no special capabilities. As with any other app, it can't access data of other apps and requires explicit user consent to gain access to profile data or the standard @@ -476,7 +476,7 @@ compatibility layer.

    The vast majority of Play services functionality works perfectly including - dynamically downloaded / updated modules (dynamite modules) and functionality + dynamically downloaded/updated modules (dynamite modules) and functionality provided by modular app components such as Google Play Games. By default, location requests are rerouted to a reimplementation of the Play geolocation service provided by GrapheneOS. You can disable rerouting and use the standard @@ -485,7 +485,7 @@

    Our compatibility layer includes full support for the Play Store. Play Store services are fully available including in-app purchases, Play Asset - Delivery, Play Feature Delivery and app / content license checks. It can + Delivery, Play Feature Delivery and app/content license checks. It can install, update and uninstall apps with the standard approach requiring that the user authorizes it as an app source and consents to each action. It will use the standard Android 12+ unattended update feature to do automatic updates @@ -545,14 +545,14 @@ Recognition) including an accelerometer, gyroscope, compass, barometer, thermometer and any other sensors present on a given device. When access is disabled, apps receive zeroed data when they check for sensor values and don't - receive events. GrapheneOS creates an easy to disable notification when apps + receive events. GrapheneOS creates an easy-to-disable notification when apps try to access sensors blocked by the permission being denied. This makes the feature more usable since users can tell if the app is trying to access this functionality.

    To avoid breaking compatibility with Android apps, the added permission is enabled by default. When an app attempts to access sensors and receives zeroed - data due to being denied, GrapheneOS creates a notification which can be + data due to being denied, GrapheneOS creates a notification that can be easily disabled. The Sensors permission can be set to be disabled by default for user installed apps in Settings > Privacy.

    @@ -593,7 +593,7 @@ APN, carrier configuration, MMS and visual voicemail databases to the formats used by AOSP with our CarrierConfig2 project and scripts. We strip out anti-user configuration requiring provisioning for tethering, forbidding - disabling 2G, etc. We don't include the invasive carrier specific apps and + disabling 2G, etc. We don't include the invasive carrier-specific apps and support for Open Mobile Alliance Device Management (OMA DM) so we also strip out configuration depending on those.

    @@ -642,15 +642,15 @@ same value shown at Settings > About device > Build number. This leaks the OS, OS version and also usually the device family/model since builds are - usually specific to a family of devices. GrapheneOS completely disables this + specific to a family of devices. GrapheneOS completely disables this tag.

    On Android, each screenshot also includes EXIF tags with the local date, - time and timezone offset. GrapheneOS disables this by default in order to + time and timezone offset. GrapheneOS disables this by default to avoid leaking the time and quasi-location information through metadata that isn't visible to the user. The date and time are already included in the file name of the screenshot which is fully visible to the user and can be easily - modified by them without a third party tool. GrapheneOS includes a toggle for + modified by them without a third-party tool. GrapheneOS includes a toggle for turning this metadata back on in Settings > Privacy since some users may find it to be useful.

    @@ -755,7 +755,7 @@

    Auto reboot

    Option to enable automatically rebooting the device when no profile has - been unlocked for the configured time period to put the device fully at rest + been unlocked for the configured period to put the device fully at rest again, which is enabled by default at 18 hours. This can be configured at Settings > Security > Auto reboot.

    @@ -845,8 +845,8 @@

    GrapheneOS app repository

    -

    GrapheneOS includes our own security, minimalism and usability focused app - repository client for using our first party app repository. Our app repository +

    GrapheneOS includes our own security, minimalism and usability-focused app + repository client for using our first-party app repository. Our app repository is currently used to distribute our own apps and a mirror of Google Play for the sandboxed Google Play feature. In the future, it will be used to distribute first-party GrapheneOS builds of externally developed open source @@ -873,11 +873,11 @@ Play for autofill support

  • WebGPU disabled for attack surface reduction
  • WebRTC IP handling policy toggle to control peer-to-peer WebRTC mode
  • -
  • Compiler hardening: automatic variable initialization, strong stack protector, well defined signed overflow
  • +
  • Compiler hardening: automatic variable initialization, strong stack protector, well-defined signed overflow
  • High performance content filtering engine using EasyList + EasyPrivacy with per-site toggle via drop-down permission menu
  • More complete state partitioning without origin trial opt-out
  • -
  • High entropy client hints replaced with the frozen user agent values to avoid leaking device/OS info
  • +
  • High entropy client hints are replaced with the frozen user agent values to avoid leaking device/OS info
  • Battery API always shows the battery as charging and at 100% capacity
  • Trivial subdomain hiding disabled
  • Consistent browser behavior across users without usage of feature flags and seed-based trials
  • @@ -975,11 +975,11 @@ app and attestation service provide strong hardware-based verification of the authenticity and integrity of the firmware/software on the device. A strong pairing-based approach is - used which also provides verification of the device's identity based on the - hardware backed key generated for each pairing. Software-based checks are + used which also verifies the device's identity based on the + hardware-backed key generated for each pairing. Software-based checks are layered on top with trust securely chained from the hardware. For more - details, see the about page and - tutorial.

    + details, see the About and + Tutorial pages.

    @@ -987,7 +987,7 @@

    GrapheneOS Camera is a modern camera app with a great user interface and a focus on privacy and - security. More details are available the camera + security. More details are available in the camera section of our usage guide.

    @@ -1010,7 +1010,7 @@

    Seedvault was created by a GrapheneOS community member for inclusion in our operating system. We plan on replacing it with a new implementation since the project has been taken over by another group of people not sharing our goals - or approach. For now, this is the best available option so we're including it + or approach. For now, this is the best available option, so we're including it to give people encrypted backup support. We've made several security fixes to work around upstream issues with the project.

    @@ -1063,7 +1063,7 @@
  • Improved user visibility into persistent firmware security through version and configuration verification with reporting of inconsistencies and debug features being enabled.
  • -
  • Authenticated encryption for network time updates via a first party server to +
  • Authenticated encryption for network time updates via a first-party server to prevent attackers from changing the time and enabling attacks based on bypassing certificate / key expiry, etc.
  • Proper support for disabling network time updates rather than just not using @@ -1077,9 +1077,9 @@
  • Minimal bundled apps and services. Only essential apps are integrated into the OS. We don't make partnerships with apps and services to bundle them into the OS. An app may be the best choice - today and poor choice in the future. Our approach will be recommending certain + today but a poor choice in the future, and vice-versa. Our approach will be recommending certain apps during the initial setup, not hard-wiring them into the OS.
  • -
  • Wireless alerts are fully optional since GrapheneOS adds a toggle for +
  • Wireless alerts are completely optional since GrapheneOS adds a toggle for the otherwise mandatory presidential alert type. This is particularly useful in Canada where the government abuses the system and sends every type of alert as a presidential alert to stop users from being able to opt @@ -1125,12 +1125,12 @@