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ě

Apple M1 ignoroval specifikace ARMu: bezpečnostní chyba se spornou zneužitelností

28.5.2021, Milan Šurkala, aktualita
Apple M1 ignoroval specifikace ARMu: bezpečnostní chyba se spornou zneužitelností
Při vývoji Linuxu pro procesory Apple M1 se přišlo na zajímavou bezpečnostní chybu. Ta umožňuje přenos dat mezi aplikacemi, přičemž zdrojem chyby je, že se Apple neřídil specifikacemi ARMu. Zneužitelnost je však diskutabilní.
Chyby v procesorech se poslední dobou objevují jak na běžícím páse. Nyní se objevila další. Přišel na ni programátor Hector Martin při portování Linuxu na platformu Apple M1. Zjistilo se, že je zde možnost posílat data z jedné aplikace do druhé, aniž by tento přenos prošel přes soubory, sockety nebo adekvátní funkce operačního systému. Funguje mezi aplikacemi různých uživatelů i s různými právy. Ačkoli však toto vše zní velmi nebezpečně, praktická zneužitelnost je hodně diskutabilní.
 
Apple M1
 
Původem chyby je to, že zde existuje speciální registr, ke kterému může přistupovat jakékoli jádro v clusteru. Procesory architektury ARMv8 mají podporovat oba typy hypervizorů pro virtualizaci, Type 1 ("non-VHE") a Type 2 (VHE - Virtualization Host Extensions), jenže Apple navzdory specifikacím ARMu ve svých procesorech Apple M1 (potvrzeno to bylo i na A14 a možná bude stejný problém i u starších) zabudoval jen Type 2, který nechrání přístup do tohoto registru. Výsledkem tak je, že je zde tajný kanál umožňující komunikaci mezi aplikacemi a na těchto procesorech nelze rozběhat Linux přímo v Type 1, resp. se to musí složitě obcházet a simulovat (Linux pro ARM začíná v módu non-VHE, který zde ale není hardwarově k dispozici). Bez virtualizace celého OS s dopadem na výkon jde dle Martina o neřešitelný problém, který bude vyžadovat HW úpravu.
 
 
Jenže jaká je praktická využitelnost? Martin sám říká, že by se z chyby neměla dělat žádná velká kauza a hysterická panika, která zachvátila veřejnost při některých minulých oznámeních o chybách, třeba i proto, že vyžaduje dvě spolupracující aplikace. Pokud by tak malware měl s čímsi komunikovat a zneužít chyby, musel by to být už existující malware, který by tohoto přenosu záměrně využíval. Pak by ale nebylo třeba druhého malwaru, když by záškodnickou práci mohl dávno obstarat ten první a tento komunikační kanál by nebyl zdrojem ohrožení. Problém by ale mohl nastat v otázce soukromí, kdy by se mohla předávat data mezi aplikacemi, jež chtějí vzájemně využívat sledování uživatelů. To se v poslední době probírá zejména v souvislosti boje mezi Applem a Facebookem, jemuž iOS 14.5 přistřihl křidélka v možnostech sledování uživatelů.
 
Jak to tedy bude dál? Zde můžeme jen spekulovat. Apple už o tom, co chyba může způsobit, ví. Nedá se moc předpokládat, že by rychle upravil své chystané novinky (M1X/M2?), ale pravděpodobnost toho, že by se oprava mohla dostat do některé z dalších generací, je už přeci jen vyšší.
 
Ukazuje se zde i výhoda App Storu (ve srovnání s přístupem u macOS), která zase přichází na přetřes ve sporu Applu s Epic Games. Apple může kontrolovat jakoukoli aplikaci na App Store a zjišťovat, zda chce přistupovat k problematickému registru. Taková aplikace pak nemusí projít kontrolou a dostat se na App Store a tím i na zařízení s iOSem. Martin hovoří např. o tom, že aplikace klávesnic pro iOS nemohou přistupovat na Internet, ale možné zneužití by bylo, kdyby záškodnická klávesnice mohla díky této chybě komunikovat s jinou záškodnickou aplikací, která by už přístup na Internet měla. Ta by pak mohla posílat data ven. Otázkou ale je, jaká je šance, že se do App Storu dostanou hned dvě aplikace zneužívající této chyby (ale také to, zda to vůbec Apple bude kontrolovat).
 


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