Odkrita zanimiva ranljivost v čipu M1, ki pa ni kritična

Jurij Kristan

31. maj 2021 ob 22:53:44

Med projektom prenosa Linuxa na nove mace s sistemskim čipom M1 je bil odkrit še neznan hrošč v čipu, ki dvema aplikacijama omogoča nepooblaščeno komuniciranje med seboj. A ker prijem ne omogoča kraje informacij ali okuževanja naprav z zlobno kodo, zaenkrat ne gre za resnejšo težavo.

Hector Martin je vodja projekta Asahi Linux, katerega namen je prenesti Pingvina na Applove naprave z novim sistemskim čipom M1. Pri igračkanju z drobovjem procesorja pa je naletel na samosvoj register velikosti dveh bitov, ki je dosegljiv v načinu delovanja EL0, to je tisti z najnižjimi sistemskimi privilegiji, ki ga uporabljajo aplikacije. Problem je, da je raba tega registra operacijskemu sistemu praktično nevidna. To pomeni, da ga lahko dve aplikaciji, če to znata, namensko uporabita za medsebojno komunikacijo, ki je ni mogoče zaznati brez posebnih orodij. Po drugi plati te zmogljivosti ni mogoče uporabiti za kukanje v druge registre, oziroma pomnilnik, ali procese. Tako je funkcija uporabna zgolj za izmenjavo podatkov med dvema aplikacijama in nič več. Nevarna bi bila lahko zgolj v primeru, da bi bilo na neki napravi že nameščeno okuženo programje, ki bi tako lahko morda lažje neopazno sodelovalo; a že brez tega je načinov za takšno komunikacijo precej in en dodatni ne pomeni bistvene spremembe.

Čeprav torej ne gre za nevarnost, ki bi omogočala širjenje zlobne kode ali krajo podatkov, pa je to vendarle uradna ranljivost, ker obide varnostne postavke operacijskega sistema. Dobila je oznako CVE-2021-30747, Martin pa jo je poimenoval M1racles. Ker so tako sam register kot njegovi privilegiji strojno zakoličeni, je programska odprava napake nemogoča in jo bodo morali v Applu odstraniti s prihodnjo revizijo čipa. Ni še povsem jasno, čemu je omenjeni register pravzaprav sploh namenjen, tako da tudi ve vemo, kaj natančno je sam hrošč, oziroma kako bodo inženirji postopali. Cupertinu se tako ni zgodil Spectre in v tem hipu gre bolj kot kaj drugega za zanimivo podrobnost pri sestavi najnovejšega Applovega vezja. Bodo pa morali paziti, da se jim kaj takega ne pripeti v morebitnih različicah za telefone, kjer bi bilo kanal teoretično mogoče uporabiti za preboj kontejnerja, v katerem teče določen app.