Nová zranitelnost v čipech Apple Silicon může umožnit odhodlanému útočníkovi získat přístup k datům uživatele odcizením kryptografických klíčů – a oprava by mohla značně ovlivnit výkon šifrování.
Výzkumníci objevili problém s čipy řady M společnosti Apple v tom, jak se vypořádávají s kryptografickými operacemi, jako je šifrování souborů. Protože se však jedná o problém s architektonickým návrhem čipu, je velmi obtížné jej zmírnit.
Podrobně ve čtvrtek skupina výzkumníků a hlášeny ArsTechnica, problém spočívá v prefetcheru závislém na paměti dat (DMP), který předpovídá paměťové adresy dat, ke kterým bude s největší pravděpodobností přistupovat aktuálně běžící kód. Přednačítáním dat se stává cílem pro vyhledávání škodlivého kódu.
Je to proto, že prefetchery používají předchozí přístupové vzory k určení svých predikcí dalšího bitu dat k načtení. Útočník může tento způsob práce využít k ovlivnění přednačítaných dat a otevřít tak dveře přístupu k citlivým datům.
Útok GoFetch může ukrást šifrovací klíče
Útok, označovaný výzkumníky jménem „GoFetch“, využívá zvláštnosti v používání DMP v Apple Silicon. Konkrétně to, jak by DMP mohl zaměnit obsah paměti s hodnotami ukazatele používanými k načtení více dat, přičemž první se příležitostně používá jako druhá.
Při vysvětlování útoku výzkumníci potvrzují, že je možné, aby data „vypadala jako“ ukazatel, se kterým bude DMP nakládat jako s adresou a následně tato data stáhnout do mezipaměti. Vzhled adresy v mezipaměti je viditelný, což znamená, že ji vidí škodlivý kód.
Útok manipuluje s daty v šifrovacím algoritmu tak, aby vypadal jako ukazatel pomocí zvoleného vstupního útoku. DMP, když vidí, že se hodnota dat jeví jako adresa, pak přinese data z této adresy, přičemž samotná adresa unikne.
Útok není okamžité prolomení šifrovacího klíče. Útok však lze provádět opakovaně, což umožňuje odhalení klíče v průběhu času.
Útok GoFetch využívá stejná uživatelská oprávnění jako mnoho jiných aplikací pro macOS od třetích stran, nikoli přístup root. To snižuje bariéru vstupu pro skutečné spuštění útoku, ale není to úplně celý příběh.
Aplikace GoFetch spouštějící útok musí být také používána na stejném čipovém clusteru jako kryptografická cílová aplikace, aby fungovala, a obě musí současně používat efektivní jádra nebo výkonná jádra. Je závislý na clusteru, což znamená, že bude stále fungovat, pokud jsou aplikace spuštěny na různých jádrech ve stejném clusteru.
Vědci tvrdí, že útok funguje proti klasickým šifrovacím algoritmům i proti novějším kvantově zesíleným verzím.
Pokud jde o účinnost, testovací aplikace výzkumníků dokázala extrahovat 2 048bitový klíč RSA za méně než hodinu a něco přes dvě hodiny pro 2 048bitový klíč Diffie-Hellman. K zabezpečení klíče Dilithium-2 je potřeba deset hodin extrakce dat, s výjimkou doby offline zpracování.
Těžko překazit
Hlavním problémem tohoto útoku je, že jej nelze opravit v samotném Apple Silicon, protože je ústřední součástí návrhu. Místo toho vyžaduje zmírnění od vývojářů kryptografického softwaru, aby se problém vyřešil.
Problém je v tom, že jakékoli zmírňující změny zvýší pracovní zátěž potřebnou k provedení operací, což následně ovlivní výkon. Tyto dopady by však měly ovlivnit pouze aplikace, které používají šifrování a využívají zmírnění, spíše než jiné obecné typy aplikací.
V případě jednoho zmírnění, zaslepení šifrovaného textu, se účinnost mezi algoritmy liší a může vyžadovat dvakrát více zdrojů než obvykle.
Spuštění procesů pouze na efektivních jádrech je také možné, protože nemají funkcionalitu DMP. Opět platí, že výkon šifrování bude mít zásah, protože neběží na rychlejších jádrech.
Třetí možnost ve skutečnosti platí pro čipy M3 v tom, že lze překlopením speciálního bitu zakázat DMP. Výzkumníci přiznávají, že neznají úroveň penalizace výkonu, která by nastala.
Apple odmítl zprávu o záležitosti komentovat. Výzkumníci tvrdili, že provedli zodpovědné odhalení společnosti Apple před zveřejněním, o čemž společnost informovali 5. prosince 2023.
Někteří z výzkumníků dříve pracovali na dalším objevu z roku 2022, který se také týkal používání DMP společnosti Apple Silicon. V té době se takzvaná Auguryho chyba nepovažovala za „tak špatnou“ a byla „pravděpodobně pouze modelem hrozby sandboxu“.
Historie se opakuje
Zranitelnost čipů může být pro výrobce zařízení velkým problémem, zejména pokud musí kvůli zachování bezpečnosti provádět změny v operačních systémech a softwaru.
V roce 2018 byly objeveny chyby čipů Meltdown a Spectre, které postihly všechna zařízení Mac a iOS a také téměř každé zařízení X86 vyrobené od roku 1997.
Tyto bezpečnostní exploity se spoléhaly na „spekulativní manažery“, kdy čip zlepšil svou rychlost tím, že pracoval na více instrukcích současně, nebo dokonce mimo provoz. Jak název napovídá, CPU bude spekulativně pokračovat v provádění po cestě před dokončením větve.
Meltdown i Spectre využívaly funkcionalitu pro přístup k „privilegované paměti“, která by mohla zahrnovat jádro CPU.
Odhalení nedostatků vedlo k záplavě dalších podobných útoků, zejména proti čipům Intel, včetně Foreshadow a Zombieload.
Toto také není první problém nalezený s designem čipů Apple Silicon. V roce 2022 výzkumníci MIT objevili neopravitelnou zranitelnost nazvanou „PACMAN“, která těžila z procesů autentizace ukazatelů k vytvoření útoku na postranní kanál.
Zdroj: appleinsider.com