As we all know, Google just loves to suck up all of our data to sell to advertisers (which is bad enough), however, they also let every 3 letter Government agency also have access to that data plus more! I used to use phhusson's version of AOSP (Android Open Source Project) which is completely stripped down to bare Android without any proprietary software and without Android talking back to Google HQ every 2 minutes. It was (and still is) great. i won't go too deeply into it here but I highly recommend using it as a starting point if you love open source software and GSI's.
Quick note, here is a great GSI list if anybody is interested: https://github.com/phhusson/treble_experimentations/wiki/Generic-System-Image-(GSI)-list
There used to be a ROM called CopperheadOS, they had a great lead dev named Daniel, well he left the team due to a falling out and due to him being the God he is and the reason the project functioned as well as it did the project completely died. Daniel then started another project called GrapheneOS which is the best Android distribution out there if you are looking for Privacy and Security. Here is a list of features in the spoiler:
This distribution can only be installed on Pixel phones due to the use of specific security chips that only come in the Pixel lineup.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Как мы все знаем, Google просто любит поглощать все наши данные, чтобы продавать их рекламодателям (что достаточно плохо), однако они также позволяют каждому правительственному агентству из 3 букв также иметь доступ к этим данным и многое другое! Раньше я использовал версию AOSP от phhusson (проект с открытым исходным кодом для Android), которая полностью разделась до голого Android без какого-либо проприетарного программного обеспечения и без того, чтобы Android каждые 2 минуты перезванивал в штаб-квартиру Google. Это было (и до сих пор остается) здорово. я не буду углубляться в это здесь, но я настоятельно рекомендую использовать его в качестве отправной точки, если вы любите программное обеспечение с открытым исходным кодом и GSI.
Краткое примечание, вот отличный список GSI, если кому - то интересно: https://github.com/phhusson/treble_experimentations/wiki/Generic-System-Image-(GSI)-список
Раньше был ПЗУ под названием CopperheadOS, у них был отличный ведущий разработчик по имени Дэниел, ну, он покинул команду из-за ссоры и из-за того, что он был Богом, которым он является, и причина, по которой проект функционировал так же хорошо, как и проект, полностью умер. Затем Дэниел запустил еще один проект под названием GrapheneOS, который является лучшим дистрибутивом Android, если вы ищете конфиденциальность и безопасность. Вот список функций в спойлере:
Этот дистрибутив может быть установлен только на телефонах Pixel из-за использования специальных чипов безопасности, которые входят только в линейку Pixel.
Quick note, here is a great GSI list if anybody is interested: https://github.com/phhusson/treble_experimentations/wiki/Generic-System-Image-(GSI)-list
There used to be a ROM called CopperheadOS, they had a great lead dev named Daniel, well he left the team due to a falling out and due to him being the God he is and the reason the project functioned as well as it did the project completely died. Daniel then started another project called GrapheneOS which is the best Android distribution out there if you are looking for Privacy and Security. Here is a list of features in the spoiler:
- Hardened app runtime
- Stronger app sandbox
- Hardened libc providing defenses against the most common classes of vulnerabilities (memory corruption)
- Our own hardened malloc (memory allocator) leveraging modern hardware capabilities to provide substantial defenses against the most common classes of vulnerabilities (heap memory corruption) along with reducing the lifetime of sensitive data in memory. The hardened_malloc README has extensive documentation on it. The hardened_malloc project is portable to other Linux-based operating systems and is being adopted by other security-focused operating systems like Whonix. Our allocator also heavily influenced the design of the next-generation musl malloc implementation which offers substantially better security than musl's previous malloc while still having minimal memory usage and code size.
- Fully out-of-line metadata with protection from corruption, ruling out traditional allocator exploitation
- Separate memory regions for metadata, large allocations and each slab allocation size class with high entropy random bases and no address space reuse between the different regions
- Deterministic detection of any invalid free
- Zero-on-free with detection of write-after-free via checking that memory is still zeroed before handing it out again
- Delayed reuse of address space and memory allocations through the combination of deterministic and randomized quarantines to mitigate use-after-free vulnerabilities
- Fine-grained randomization
- Aggressive consistency checks
- Memory protected guard regions around allocations larger than 16k with randomization of guard region sizes for 128k and above
- Allocations smaller than 16k have guard regions around each of the slabs containing allocations (for example, 16 byte allocations are in 4096 byte slabs with 4096 byte guard regions before and after)
- Random canaries with a leading zero are added to these smaller allocations to block C string overflows, absorb small overflows and detect linear overflows or other heap corruption when the canary value is checked (primarily on free)
- Hardened compiler toolchain
- Hardened kernel
- Support for dynamically loaded kernel modules is disabled and the minimal set of modules for the device model are built into the kernel to substantially improve the granularity of Control Flow Integrity (CFI) and reduce attack surface.
- 4-level page tables are enabled on arm64 to provide a much larger address space (48-bit instead of 39-bit) with significantly higher entropy Address Space Layout Randomization (33-bit instead of 24-bit).
- Random canaries with a leading zero are added to the kernel heap (slub) to block C string overflows, absorb small overflows and detect linear overflows or other heap corruption when the canary value is checked (on free, copies to/from userspace, etc.).
- Memory is wiped (zeroed) as soon as it's released in both the low-level kernel page allocator and higher level kernel heap allocator (slub). This substantially reduces the lifetime of sensitive data in memory, mitigates use-after-free vulnerabilities and makes most uninitialized data usage vulnerabilities harmless. Without our changes, memory that's released retains data indefinitely until the memory is handed out for other uses and gets partially or fully overwritten by new data.
- Kernel stack allocations are zeroed to make most uninitialized data usage vulnerabilities harmless.
- Assorted attack surface reduction through disabling features or setting up infrastructure to dynamically enable/disable them only as needed (perf, ptrace).
- Assorted upstream hardening features are enabled, including many which we played a part in developing and landing upstream as part of our linux-hardened project (which we intend to revive as a more active project again).
- Prevention of dynamic native code execution in-memory or via the filesystem for the base OS without going via the package manager, etc.
- Filesystem access hardening
- Enhanced verified boot with better security properties and reduced attack surface
- Enhanced hardware-based attestation with more precise version information
- Eliminates remaining holes for apps to access hardware-based identifiers
- Greatly reduced remote, local and proximity-based attack surface by stripping out unnecessary code, making more features optional and disabling optional features by default (NFC, Bluetooth, etc.), when the screen is locked (connecting new USB peripherals, camera access) and optionally after a timeout (Bluetooth, Wi-Fi)
- Option to disable native debugging (ptrace) to reduce local attack surface (still enabled by default for compatibility)
- Low-level improvements to the filesystem-based full disk encryption used on modern Android
- Support for logging out of user profiles without needing a device manager: makes them inactive so that they can't continue running code while using another profile and purges the disk encryption keys (which are per-profile) from memory and hardware registers
- 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 again.
- Indicators for active camera and microphone usage are enabled by default alongside the traditional location indicator
- Improved user visibility into persistent firmware security through version and configuration verification with reporting of inconsistencies and debug features being enabled.
- Support longer passwords by default (64 characters) without a device manager
- Stricter implementation of the optional fingerprint unlock feature permitting only 5 attempts rather than 20 before permanent lockout (our recommendation is still keeping sensitive data in user profiles without fingerprint unlock)
- PIN scrambling option
- LTE-only mode to reduce cellular radio attack surface by disabling enormous amounts of legacy code
- Per-connection MAC randomization option (enabled by default) as a more private option than the standard persistent per-network random MAC.
- When the per-connection MAC randomization added by GrapheneOS is being used, DHCP client state is flushed before reconnecting to a network to avoid revealing that it's likely the same device as before.
- Improved IPv6 privacy addresses to prevent tracking across networks
- Vanadium: hardened WebView and default browser — the WebView is what most other apps use to handle web content, so you benefit from Vanadium in many apps even if you choose another browser
- Hardware-based security verification and monitoring: the Auditor app 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 layered on top with trust securely chained from the hardware. For more details, see the about page and tutorial.
- PDF Viewer: sandboxed, hardened PDF viewer using HiDPI rendering with pinch to zoom, text selection, etc.
- Encrypted backups via integration of the Seedvault app with support for local backups and any cloud storage provider with a storage provider app
- Secure application spawning system avoiding sharing address space layout and other secrets across applications
- Network permission toggle for disallowing both direct and indirect access to any of the available networks. The device-local network (localhost) is also guarded by this permission, which is important for preventing apps from using it to communicate between profiles. Unlike a firewall-based implementation, the Network permission toggle prevents apps from using the network via APIs provided by the OS or other apps in the same profile as long as they're marked appropriately.
- The standard INTERNET permission used as the basis for the Network permission toggle is enhanced with a second layer of enforcement and proper support for granting/revoking it on a per-profile basis.
- Sensors permission toggle: disallow access to all other sensors not covered by existing Android permissions (Camera, Microphone, Body Sensors, Activity Recognition) including an accelerometer, gyroscope, compass, barometer, thermometer and any other sensors present on a given device. To avoid breaking compatibility with Android apps, the added permission is enabled by default.
- 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 the results
- Connectivity checks via a first party server with the option to revert to the standard checks (to blend in) or to fully disable them
- Hardened local build / signing infrastructure
- Seamless automatic OS update system that just works and stays out of the way in the background without disrupting device usage, with full support for the standard automatic rollback if the first boot of the updated OS fails
- Require unlocking to access sensitive functionality via quick tiles
- Minor changes to default settings to prefer privacy over small conveniences: personalized keyboard suggestions based on gathering input history are disabled by default, sensitive notifications are hidden on the lockscreen by default and passwords are hidden during entry by default
- 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 apps during the initial setup, not hard-wiring them into the OS.
- No Google apps and services. These can be used on GrapheneOS but only if they avoid requiring invasive OS integration. Building privileged support for Google services into the OS isn't something we're going to be doing, even if that's partially open source like microG.
- Compatibility layer for coercing user installed Google Play services into running as sandboxed apps without any special privileges.
- Fixes for multiple serious vulnerabilities not yet fixed upstream due to a flexible release cycle / process prioritizing security.
Services
Service infrastructure features:- Strict privacy and security practices for our infrastructure
- Unnecessary logging is avoided and logs are automatically purged after 10 days
- Services are hosted entirely via our own dedicated servers and virtual machines from OVH without involving any additional parties for CDNs, SaaS platforms, mirrors or other services
- Our services are built with open technology stacks to avoid being locked in to any particular hosting provider or vendor
- Open documentation on our infrastructure including listing out all of our services, guides on making similar setups, published configurations for each of our web services, etc.
- No proprietary services
- Authenticated encryption for all of our services
- Strong cipher configurations for all of our services (SSH, TLS, etc.) with only modern AEAD ciphers providing forward secrecy
- Our web sites do not include any third party content and entirely forbid it via strict Content Security Policy rules
- Our web sites disable referrer headers to maximize privacy
- Our web sites fully enable cross origin isolation and disable embedding in other content
- DNSSEC implemented for all of our domains to provide a root of trust for encryption and authentication for domain/server configuration
- DNS Certification Authority Authorization (CAA) records for all of our domains permitting only Let's Encrypt to issue certificates with fully integrated support for the experimental accounturi and validationmethods pinning our Let's Encrypt accounts as the only ones allowed to issue certificates
- DANE TLSA records for pinning keys for all our TLS services
- Our mail server enforces DNSSEC/DANE to provide authenticated encryption when sending mail including alert messages from the attestation service
- SSHFP across all domains for pinning SSH keys
- Static key pinning for our services in apps like Auditor
- Our web services use robust OCSP stapling with Must-Staple
- No persistent cookies or similar client-side state for anything other than login sessions, which are set up via SameSite=strict cookies and have server-side session tracking with the ability to log out of other sessions
- scrypt-based password hashing (likely Argon2 when the available implementations are more mature)
This distribution can only be installed on Pixel phones due to the use of specific security chips that only come in the Pixel lineup.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Как мы все знаем, Google просто любит поглощать все наши данные, чтобы продавать их рекламодателям (что достаточно плохо), однако они также позволяют каждому правительственному агентству из 3 букв также иметь доступ к этим данным и многое другое! Раньше я использовал версию AOSP от phhusson (проект с открытым исходным кодом для Android), которая полностью разделась до голого Android без какого-либо проприетарного программного обеспечения и без того, чтобы Android каждые 2 минуты перезванивал в штаб-квартиру Google. Это было (и до сих пор остается) здорово. я не буду углубляться в это здесь, но я настоятельно рекомендую использовать его в качестве отправной точки, если вы любите программное обеспечение с открытым исходным кодом и GSI.
Краткое примечание, вот отличный список GSI, если кому - то интересно: https://github.com/phhusson/treble_experimentations/wiki/Generic-System-Image-(GSI)-список
Раньше был ПЗУ под названием CopperheadOS, у них был отличный ведущий разработчик по имени Дэниел, ну, он покинул команду из-за ссоры и из-за того, что он был Богом, которым он является, и причина, по которой проект функционировал так же хорошо, как и проект, полностью умер. Затем Дэниел запустил еще один проект под названием GrapheneOS, который является лучшим дистрибутивом Android, если вы ищете конфиденциальность и безопасность. Вот список функций в спойлере:
Усиленная среда выполнения приложения
Более сильная песочница приложений
Защищенный libc, обеспечивающий защиту от наиболее распространенных классов уязвимостей (повреждение памяти)
Наш собственный защищенный malloc (распределитель памяти) использует современные аппаратные возможности для обеспечения существенной защиты от наиболее распространенных классов уязвимостей (повреждение памяти кучи) наряду с сокращением срока службы конфиденциальных данных в памяти. В файле README hardened_malloc имеется обширная документация по нему. Проект hardened_malloc переносим на другие операционные системы на базе Linux и внедряется другими операционными системами, ориентированными на безопасность, такими как Whonix. Наш распределитель также сильно повлиял на разработку реализации musl malloc следующего поколения, которая обеспечивает значительно лучшую безопасность, чем предыдущая malloc musl, при этом сохраняя минимальное использование памяти и размер кода.
Полностью автономные метаданные с защитой от коррупции, исключающие использование традиционных распределителей
Отдельные области памяти для метаданных, больших выделений и каждого класса размера распределения блоков с высокой энтропией случайных баз и отсутствием повторного использования адресного пространства между различными регионами
Детерминированное обнаружение любых недействительных бесплатных
Без нуля с обнаружением записи после освобождения путем проверки того, что память все еще обнулена, прежде чем выдавать ее снова
Отложенное повторное использование адресного пространства и выделений памяти за счет сочетания детерминированных и рандомизированных карантинов для устранения уязвимостей, связанных с использованием после освобождения
Мелкозернистая рандомизация
Агрессивные проверки согласованности
Защищенные области защиты памяти вокруг выделений размером более 16 Кб с рандомизацией размеров областей защиты для 128 Кб и выше
Распределения размером менее 16 кб имеют защитные области вокруг каждой из плит, содержащих распределения (например, 16-байтовые распределения находятся в 4096-байтовых плитах с 4096-байтовыми защитными областями до и после)
Случайные канарейки с начальным нулем добавляются к этим меньшим распределениям, чтобы блокировать переполнение строки C, поглощать небольшие переполнения и обнаруживать линейные переполнения или другое повреждение кучи при проверке значения канарейки (в основном на free)
Закаленная цепочка инструментов компилятора
Закаленное ядро
Поддержка динамически загружаемых модулей ядра отключена, и минимальный набор модулей для модели устройства встроен в ядро, чтобы существенно улучшить детализацию целостности потока управления (CFI) и уменьшить поверхность атаки.
4-уровневые таблицы страниц включены в arm64, чтобы обеспечить гораздо большее адресное пространство (48 бит вместо 39 бит) со значительно более высокой рандомизацией расположения адресного пространства по энтропии (33 бит вместо 24 бит).
Случайные канарейки с начальным нулем добавляются в кучу ядра (slub), чтобы блокировать переполнение строки C, поглощать небольшие переполнения и обнаруживать линейные переполнения или другие повреждения кучи при проверке значения канарейки (на свободном, копируется в/из пространства пользователя и т. Д.).
Память стирается (обнуляется), как только она освобождается как в распределителе страниц ядра низкого уровня, так и в распределителе кучи ядра более высокого уровня (slub). Это существенно сокращает срок службы конфиденциальных данных в памяти, устраняет уязвимости, связанные с использованием после освобождения, и делает большинство неинициализированных уязвимостей использования данных безвредными. Без наших изменений освобожденная память сохраняет данные на неопределенный срок до тех пор, пока память не будет передана для других целей и частично или полностью перезаписана новыми данными.
Выделение стека ядра обнуляется, чтобы устранить большинство неинициализированных уязвимостей в использовании данных.
Различное сокращение поверхности атаки за счет отключения функций или настройки инфраструктуры для динамического включения/отключения их только по мере необходимости (perf, ptrace).
Включены различные функции повышения надежности восходящего потока, в том числе многие из которых мы приняли участие в разработке и внедрении в восходящем потоке в рамках нашего проекта, основанного на Linux (который мы намерены снова возродить как более активный проект).
Предотвращение динамического выполнения машинного кода в памяти или через файловую систему для базовой ОС без использования диспетчера пакетов и т.д.
Ужесточение доступа к файловой системе
Улучшенная проверенная загрузка с улучшенными свойствами безопасности и уменьшенной поверхностью атаки
Улучшенная аттестация на основе аппаратного обеспечения с более точной информацией о версии
Устраняет оставшиеся пробелы для приложений для доступа к идентификаторам на основе оборудования
Значительно уменьшена поверхность удаленной, локальной и бесконтактной атаки за счет удаления ненужного кода, добавления дополнительных функций и отключения дополнительных функций по умолчанию (NFC, Bluetooth и т. Д.), Когда экран заблокирован (подключение новых периферийных устройств USB, доступ к камере) и, возможно, после тайм-аута (Bluetooth, Wi-Fi).
Возможность отключить встроенную отладку (ptrace), чтобы уменьшить локальную поверхность атаки (по-прежнему включена по умолчанию для совместимости)
Низкоуровневые улучшения шифрования полного диска на основе файловой системы, используемого в современном Android
Поддержка выхода из профилей пользователей без использования диспетчера устройств: делает их неактивными, чтобы они не могли продолжать выполнение кода при использовании другого профиля, и удаляет ключи шифрования диска (для каждого профиля) из памяти и аппаратных регистров
Опция, позволяющая автоматически перезагружать устройство, когда ни один профиль не был разблокирован в течение заданного периода времени, чтобы снова полностью перевести устройство в режим покоя.
Индикаторы активного использования камеры и микрофона включены по умолчанию наряду с традиционным индикатором местоположения
Улучшена видимость пользователем постоянной безопасности встроенного ПО благодаря проверке версии и конфигурации с включением отчетов о несоответствиях и функций отладки.
Поддержка более длинных паролей по умолчанию (64 символа) без диспетчера устройств
Более строгая реализация дополнительной функции разблокировки отпечатков пальцев, позволяющей только 5 попыток, а не 20, перед постоянной блокировкой (наша рекомендация по-прежнему хранить конфиденциальные данные в профилях пользователей без разблокировки отпечатков пальцев)
Опция скремблирования PIN-кода
Режим только для LTE для уменьшения поверхности атаки сотовой радиосвязи за счет отключения огромного количества устаревшего кода
Опция рандомизации MAC для каждого подключения (включена по умолчанию) как более частная опция, чем стандартный постоянный случайный MAC для каждой сети.
Когда используется рандомизация MAC-адресов для каждого подключения, добавленная GrapheneOS, состояние DHCP-клиента сбрасывается перед повторным подключением к сети, чтобы избежать выявления того, что это, скорее всего, то же устройство, что и раньше.
Улучшенные адреса конфиденциальности IPv6 для предотвращения отслеживания в сетях
Ванадий: закаленное веб — представление и браузер по умолчанию-веб-представление-это то, что большинство других приложений использует для обработки веб-контента, поэтому вы получаете выгоду от ванадия во многих приложениях, даже если вы выбираете другой браузер
Проверка и мониторинг безопасности на основе аппаратного обеспечения: приложение Auditor app и служба аттестации обеспечивают надежную аппаратную проверку подлинности и целостности встроенного ПО/программного обеспечения на устройстве. Используется надежный подход, основанный на сопряжении, который также обеспечивает проверку подлинности устройства на основе аппаратного ключа, сгенерированного для каждого сопряжения. Проверки на основе программного обеспечения накладываются сверху, а доверие надежно связано с оборудованием. Для получения более подробной информации см. страницу "О программе" и учебное пособие.
Просмотрщик PDF: изолированный, защищенный просмотрщик PDF с использованием рендеринга HiDPI с уменьшением масштаба, выделением текста и т.д.
Зашифрованные резервные копии с помощью интеграции приложения Seedvault с поддержкой локальных резервных копий и любого поставщика облачных хранилищ с приложением поставщика хранилища
Безопасная система создания приложений, позволяющая избежать совместного использования макета адресного пространства и других секретов между приложениями
Переключатель сетевых разрешений позволяет запретить как прямой, так и косвенный доступ к любой из доступных сетей. Локальная сеть устройства (localhost) также защищена этим разрешением, что важно для предотвращения использования приложений для связи между профилями. В отличие от реализации на основе брандмауэра, переключатель сетевых разрешений запрещает приложениям использовать сеть через API, предоставляемые операционной системой или другими приложениями в том же профиле, если они помечены соответствующим образом.
Стандартное разрешение на доступ в Интернет, используемое в качестве основы для переключения сетевых разрешений, дополнено вторым уровнем принудительного применения и надлежащей поддержкой для предоставления/отзыва его на основе каждого профиля.
Переключение разрешений датчиков: запретить доступ ко всем другим датчикам, не охватываемым существующими разрешениями Android (Камера, микрофон, Датчики тела, распознавание активности), включая акселерометр, гироскоп, компас, барометр, термометр и любые другие датчики, присутствующие на данном устройстве. Чтобы избежать нарушения совместимости с приложениями Android, добавленное разрешение включено по умолчанию.
Более сильная песочница приложений
Защищенный libc, обеспечивающий защиту от наиболее распространенных классов уязвимостей (повреждение памяти)
Наш собственный защищенный malloc (распределитель памяти) использует современные аппаратные возможности для обеспечения существенной защиты от наиболее распространенных классов уязвимостей (повреждение памяти кучи) наряду с сокращением срока службы конфиденциальных данных в памяти. В файле README hardened_malloc имеется обширная документация по нему. Проект hardened_malloc переносим на другие операционные системы на базе Linux и внедряется другими операционными системами, ориентированными на безопасность, такими как Whonix. Наш распределитель также сильно повлиял на разработку реализации musl malloc следующего поколения, которая обеспечивает значительно лучшую безопасность, чем предыдущая malloc musl, при этом сохраняя минимальное использование памяти и размер кода.
Полностью автономные метаданные с защитой от коррупции, исключающие использование традиционных распределителей
Отдельные области памяти для метаданных, больших выделений и каждого класса размера распределения блоков с высокой энтропией случайных баз и отсутствием повторного использования адресного пространства между различными регионами
Детерминированное обнаружение любых недействительных бесплатных
Без нуля с обнаружением записи после освобождения путем проверки того, что память все еще обнулена, прежде чем выдавать ее снова
Отложенное повторное использование адресного пространства и выделений памяти за счет сочетания детерминированных и рандомизированных карантинов для устранения уязвимостей, связанных с использованием после освобождения
Мелкозернистая рандомизация
Агрессивные проверки согласованности
Защищенные области защиты памяти вокруг выделений размером более 16 Кб с рандомизацией размеров областей защиты для 128 Кб и выше
Распределения размером менее 16 кб имеют защитные области вокруг каждой из плит, содержащих распределения (например, 16-байтовые распределения находятся в 4096-байтовых плитах с 4096-байтовыми защитными областями до и после)
Случайные канарейки с начальным нулем добавляются к этим меньшим распределениям, чтобы блокировать переполнение строки C, поглощать небольшие переполнения и обнаруживать линейные переполнения или другое повреждение кучи при проверке значения канарейки (в основном на free)
Закаленная цепочка инструментов компилятора
Закаленное ядро
Поддержка динамически загружаемых модулей ядра отключена, и минимальный набор модулей для модели устройства встроен в ядро, чтобы существенно улучшить детализацию целостности потока управления (CFI) и уменьшить поверхность атаки.
4-уровневые таблицы страниц включены в arm64, чтобы обеспечить гораздо большее адресное пространство (48 бит вместо 39 бит) со значительно более высокой рандомизацией расположения адресного пространства по энтропии (33 бит вместо 24 бит).
Случайные канарейки с начальным нулем добавляются в кучу ядра (slub), чтобы блокировать переполнение строки C, поглощать небольшие переполнения и обнаруживать линейные переполнения или другие повреждения кучи при проверке значения канарейки (на свободном, копируется в/из пространства пользователя и т. Д.).
Память стирается (обнуляется), как только она освобождается как в распределителе страниц ядра низкого уровня, так и в распределителе кучи ядра более высокого уровня (slub). Это существенно сокращает срок службы конфиденциальных данных в памяти, устраняет уязвимости, связанные с использованием после освобождения, и делает большинство неинициализированных уязвимостей использования данных безвредными. Без наших изменений освобожденная память сохраняет данные на неопределенный срок до тех пор, пока память не будет передана для других целей и частично или полностью перезаписана новыми данными.
Выделение стека ядра обнуляется, чтобы устранить большинство неинициализированных уязвимостей в использовании данных.
Различное сокращение поверхности атаки за счет отключения функций или настройки инфраструктуры для динамического включения/отключения их только по мере необходимости (perf, ptrace).
Включены различные функции повышения надежности восходящего потока, в том числе многие из которых мы приняли участие в разработке и внедрении в восходящем потоке в рамках нашего проекта, основанного на Linux (который мы намерены снова возродить как более активный проект).
Предотвращение динамического выполнения машинного кода в памяти или через файловую систему для базовой ОС без использования диспетчера пакетов и т.д.
Ужесточение доступа к файловой системе
Улучшенная проверенная загрузка с улучшенными свойствами безопасности и уменьшенной поверхностью атаки
Улучшенная аттестация на основе аппаратного обеспечения с более точной информацией о версии
Устраняет оставшиеся пробелы для приложений для доступа к идентификаторам на основе оборудования
Значительно уменьшена поверхность удаленной, локальной и бесконтактной атаки за счет удаления ненужного кода, добавления дополнительных функций и отключения дополнительных функций по умолчанию (NFC, Bluetooth и т. Д.), Когда экран заблокирован (подключение новых периферийных устройств USB, доступ к камере) и, возможно, после тайм-аута (Bluetooth, Wi-Fi).
Возможность отключить встроенную отладку (ptrace), чтобы уменьшить локальную поверхность атаки (по-прежнему включена по умолчанию для совместимости)
Низкоуровневые улучшения шифрования полного диска на основе файловой системы, используемого в современном Android
Поддержка выхода из профилей пользователей без использования диспетчера устройств: делает их неактивными, чтобы они не могли продолжать выполнение кода при использовании другого профиля, и удаляет ключи шифрования диска (для каждого профиля) из памяти и аппаратных регистров
Опция, позволяющая автоматически перезагружать устройство, когда ни один профиль не был разблокирован в течение заданного периода времени, чтобы снова полностью перевести устройство в режим покоя.
Индикаторы активного использования камеры и микрофона включены по умолчанию наряду с традиционным индикатором местоположения
Улучшена видимость пользователем постоянной безопасности встроенного ПО благодаря проверке версии и конфигурации с включением отчетов о несоответствиях и функций отладки.
Поддержка более длинных паролей по умолчанию (64 символа) без диспетчера устройств
Более строгая реализация дополнительной функции разблокировки отпечатков пальцев, позволяющей только 5 попыток, а не 20, перед постоянной блокировкой (наша рекомендация по-прежнему хранить конфиденциальные данные в профилях пользователей без разблокировки отпечатков пальцев)
Опция скремблирования PIN-кода
Режим только для LTE для уменьшения поверхности атаки сотовой радиосвязи за счет отключения огромного количества устаревшего кода
Опция рандомизации MAC для каждого подключения (включена по умолчанию) как более частная опция, чем стандартный постоянный случайный MAC для каждой сети.
Когда используется рандомизация MAC-адресов для каждого подключения, добавленная GrapheneOS, состояние DHCP-клиента сбрасывается перед повторным подключением к сети, чтобы избежать выявления того, что это, скорее всего, то же устройство, что и раньше.
Улучшенные адреса конфиденциальности IPv6 для предотвращения отслеживания в сетях
Ванадий: закаленное веб — представление и браузер по умолчанию-веб-представление-это то, что большинство других приложений использует для обработки веб-контента, поэтому вы получаете выгоду от ванадия во многих приложениях, даже если вы выбираете другой браузер
Проверка и мониторинг безопасности на основе аппаратного обеспечения: приложение Auditor app и служба аттестации обеспечивают надежную аппаратную проверку подлинности и целостности встроенного ПО/программного обеспечения на устройстве. Используется надежный подход, основанный на сопряжении, который также обеспечивает проверку подлинности устройства на основе аппаратного ключа, сгенерированного для каждого сопряжения. Проверки на основе программного обеспечения накладываются сверху, а доверие надежно связано с оборудованием. Для получения более подробной информации см. страницу "О программе" и учебное пособие.
Просмотрщик PDF: изолированный, защищенный просмотрщик PDF с использованием рендеринга HiDPI с уменьшением масштаба, выделением текста и т.д.
Зашифрованные резервные копии с помощью интеграции приложения Seedvault с поддержкой локальных резервных копий и любого поставщика облачных хранилищ с приложением поставщика хранилища
Безопасная система создания приложений, позволяющая избежать совместного использования макета адресного пространства и других секретов между приложениями
Переключатель сетевых разрешений позволяет запретить как прямой, так и косвенный доступ к любой из доступных сетей. Локальная сеть устройства (localhost) также защищена этим разрешением, что важно для предотвращения использования приложений для связи между профилями. В отличие от реализации на основе брандмауэра, переключатель сетевых разрешений запрещает приложениям использовать сеть через API, предоставляемые операционной системой или другими приложениями в том же профиле, если они помечены соответствующим образом.
Стандартное разрешение на доступ в Интернет, используемое в качестве основы для переключения сетевых разрешений, дополнено вторым уровнем принудительного применения и надлежащей поддержкой для предоставления/отзыва его на основе каждого профиля.
Переключение разрешений датчиков: запретить доступ ко всем другим датчикам, не охватываемым существующими разрешениями Android (Камера, микрофон, Датчики тела, распознавание активности), включая акселерометр, гироскоп, компас, барометр, термометр и любые другие датчики, присутствующие на данном устройстве. Чтобы избежать нарушения совместимости с приложениями Android, добавленное разрешение включено по умолчанию.
Этот дистрибутив может быть установлен только на телефонах Pixel из-за использования специальных чипов безопасности, которые входят только в линейку Pixel.
Последнее редактирование:

