reklama
Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

PACMAN: "neopravitelná" bezpečnostní chyba v Apple M1 a ARMech s PAC"

15.6.2022, Milan Šurkala, aktualita
PACMAN: "neopravitelná" bezpečnostní chyba v Apple M1 a ARMech s PAC"
Bezpečnostních chyb v procesorech není málo, jsou ale obvykle velmi obtížně zneužitelné. Další se našla v procesorech Apple M1 a architektuře ARM při využití nové bezpečnostní technologie PAC. Přesto není důvod k panice.
Od dob chyb Spectre a Meltdown se našla další spousta bezpečnostních chyb v procesorech nejrůznějších značek. Nyní to dopadlo na architekturu ARM a novou bezpečnostní funkci PAC (Pointer Authentication Code). To kontroluje správnost pointerů (ukazatelů, odkazů) pomocí 16bitového hashe. Takový může mít celkem 65536 různých hodnot, což není až tak moc, a teoreticky by nebyl problém uhádnout tento hash pomocí útoku hrubou silou (vyzkoušet všechny možnosti). Vtip je v tom, že PAC by měl způsobit pád systému, pokud by se někdo pokusil použít nesprávný ukazatel s nesprávným hashem, tedy odkázat na jiné místo v paměti. Bezpečnostní chyba PACMAN tkví právě v tom, že se našel způsob, jak vyzkoušet všechny tyto možnosti bez pádu systému. PAC je novinkou u architektury ARM a prozatím ji používá jen rodina procesorů Apple M1.
 
Apple M1 Pacman
 
Vědci na MIT vytvořili systém, který nazvali PAC Oracle, a ten vyzkouší všechny možnosti do 3 minut, přičemž využije spekulativního spouštění. Zde k tomu potřebuje existující bug v softwaru, který by mohl zneužít, samotný PACMAN totiž nic sám o sobě nedělá. Zda se s tipem správně trefil, pozná v záznamu TLB (Translation Lookaside Buffer). Pokud se trefí, hodnota v TLB se změní. V takovém případě pak útočník může zneužít softwarové chyby v systému a ten napadnout, převzít nad ním kontrolu a podobně. Proč ale není třeba panikařit, když je tato chyba neopravitelná a je "zadrátovaná" v hardwaru?
 
Je nutno si uvědomit, že PAC je nová přídavná ochranná bariéra v HW. Nejde o chybu, která by zranitelnost zvyšovala, ale o chybu v nové přídavné ochraně (tedy jen další zvýšení bezpečnosti není tak vysoké, jak být mělo). Ta tedy může selhat, ale i to je lepší, než tu tuhle ochranu vůbec nemít. Jinak řečeno, útočník potřebuje znát nějakou chybu v softwaru, kterou chce napadnout (a chyby v SW lze opravovat). Bez PAC ji po překonání všech bezpečnostních opatření může zneužít. V případě PACu tu má ještě jednu další ochranu, která jen není tak bezpečná, jak být měla. I tak je ale pro něj další překážkou, kterou musí překonat. Sama chyba v PAC totiž není bezpečnostní dírou, kterou by šlo napadnout, tou je pořád software.
 
Apple byl o chybě informován už v roce 2021. Zda ji obsahují i nové M2, to nevíme. Jde o chybu, která je součástí architektury ARM a její nové funkce PAC, kterou použil prozatím jen Apple, ale je možné, že ji využijí i připravované procesory Qualcomm Snapdragon nebo Samsung Exynos. Tam je otázkou, zda při jejím nasazení bude použita vadná implementace nebo ne.
 


Autor: Milan Šurkala
Vystudoval doktorský program v oboru informatiky a programování se zaměřením na počítačovou grafiku. Nepřehlédněte jeho seriál Fotíme s Koalou o základech fotografování.
reklama