Android 14 může přidat pokročilou funkci ochrany paměti, která ochrání vaše zařízení před bezpečnostními chybami paměti

click fraud protection

Android 14 může přidat novou beta funkci nazvanou „pokročilá ochrana paměti“, která může chránit před chybami bezpečnosti paměti na kompatibilních zařízeních.

Bezpečnost paměti je v poslední době pro Google hlavní prioritou, protože chyby bezpečnosti paměti bývají jedny z nejzávažnějších chyb ve vývoji softwaru. Ve skutečnosti byly zranitelnosti v oblasti bezpečnosti paměti zodpovědné za většinu závažných Androidů zranitelností do roku 2022, kdy Google napsal významnou část nového nativního systému Android kód v Programovací jazyk Rust místo C/C++. Google pracuje na podpoře dalších prostředků ke zmírnění zranitelnosti paměti v systému Android, z nichž jedna se nazývá označování paměti. Na podporovaných zařízeních běží Android 14, může existovat nové nastavení „pokročilé ochrany paměti“, které by mohlo tuto funkci přepínat.

Memory Tagging Extension (MTE) je povinná hardwarová funkce procesorů Arm v9, která chrání před pamětí bezpečnostní chyby (s mírnými náklady na provozní výkon) poskytováním podrobných informací o paměti porušení.

Jak vysvětluje Google„Na vysoké úrovni MTE označí každou alokaci/dealokaci paměti dalšími metadaty. Přiřadí tag k paměťovému umístění, které pak může být spojeno s ukazateli, které odkazují na toto paměťové místo. Za běhu CPU kontroluje, zda se ukazatel a značky metadat shodují při každém načtení a uložení.

Google pracuje na podpoře MTE v rámci celé sady softwaru Android již několik verzí. V systému Android 12 přidal scudo, alokátor haldy systému Android, podporu pro tři provozní režimy MTE na kompatibilních zařízeních: synchronní režim, asynchronní režim a asymetrický režim. Google také umožnil povolit MTE pro systémové procesy v době sestavování nebo prostřednictvím vlastností systému a/nebo proměnných prostředí. Aplikace se mohou přihlásit k podpoře MTE prostřednictvím android: memtagMode atribut. Když je MTE povoleno pro procesy v Androidu, celé třídy chyb v oblasti bezpečnosti paměti, jako je use-after-free a přetečení vyrovnávací paměti, způsobí selhání namísto tichého poškození paměti.

v Android 13Google přidal ABI pro uživatelský prostor, aby sdělil požadovaný provozní režim MTE bootloaderu. To lze použít k povolení MTE na kompatibilních zařízeních, která nejsou ve výchozím nastavení povolena, nebo ji lze použít k deaktivaci na kompatibilních zařízeních, která ji mají povolenou výchozí. Nastavení systémové vlastnosti ro.arm64.memtag.bootctl_supported na hodnotu „true“ v systému Android 13 by systému sdělilo, že zavaděč podporuje ABI a také spouští tlačítko, které se objeví v nabídce Možnosti vývojáře, které uživateli umožnilo povolit MTE na další restartovat. Toto bylo zaměřeno na vývojáře, kteří chtěli otestovat chování svých aplikací s povoleným MTE.

V Androidu 14 však může povolení MTE na kompatibilních zařízeních již vyžadovat ponoření se do možností vývojáře. Pokud je zařízení vybaveno procesorem Arm v8.5+ s podporou MTE, implementace zařízení podporuje ABI pro komunikaci požadovaného provozního režimu MTE do bootloaderu a nové vlastnost systému ‘ro.arm64.memtag.bootctl_settings_toggle’ je nastavena na hodnotu true, poté se může v Nastavení > Zabezpečení a soukromí > Další zabezpečení zobrazit nová stránka s pokročilou ochranou paměti. nastavení. Tato stránka může být spuštěna také prostřednictvím nového ACTION_ADVANCED_MEMORY_PROTECTION_SETTINGS záměrná akce.

Zejména čipset Tensor G2 v Google Pixel 7 řada používá jádra CPU Arm v8.2, proto nepodporují MTE. Pokud nadcházející řada Google Pixel 8 používá nová jádra CPU Arm v9 jako mnoho jiných vlajkových zařízení Android, pak by měly hardware schopný podporovat MTE. Zůstává však otázkou, zda se tato funkce „pokročilé ochrany paměti“ skutečně dostane do stabilní verze.

Díky bezpečnostnímu výzkumníkovi @flawedworlddev za jejich pomoc v tomto článku!