Egy új „GoFetch” névre keresztelt side-channel támadás fenyegeti az Apple Silicon processzorokat használó felhasználókat. Az M1 biztosan, de a hasonló architektúra miatt feltehetően az M2 és M3 chipek is veszélyben vannak. A támadás a CPU gyorsítótárából kriptográfia kulcsok visszafejtését teszi lehetővé.
A sebezhetőség a processzorok prefetcher funkciója miatt lehetséges. Ennek lényege, hogy korábbi memóriahozzáférések alapján tanul, és segítségével a CPU megtippeli, milyen adatra lesz szüksége legközelebb, amit aztán a lassabb memóriatartományból betölt egy gyorsabb elérésűbe: magába a processzor gyorsítótárába. Ezáltal általában gyorsabb kódfuttatás válik lehetővé. Hogyha a tipp pontatlan volt, a processzor egyszerűen a szokásos módon lekérdezi a megfelelő adatot.
A GoFetch támadás egy új prefetcherre, a data memory-dependent prefetcher-re (DMP) fókuszál. A különbség a hagyományos megoldáshoz képest az, hogy ez azon felül, hogy korábbi memóriahozzáférésekből tanítható, a jelenben is rálát a memóriában lévő adatértékekre. A constant time egy olyan biztonságtechnikai íratlan szabály, ami szerint bizonyos kriptográfiai műveletek konstans idő alatt kell, hogy lefussanak, függetlenül a bemenettől, ezzel megnehezítve az ebből adódó visszafejtést. A kutatók viszont észrevették, hogy az Apple DMP implementációja hibás, ugyanis a DMP aktiválódik azon adatokra is, amik pointernek látszanak (pedig adatok), ezáltal valódi adat, és a memória hozzáférési pointerek keverednek. Különleges bemenetek készítésével a DMP-t ráveszik arra, hogy dereferálja az adatokat, és ha egy titkosítási kulcs pár bitje pontosan lett megtippelve ebben a speciális bemenetben, akkor az pointerként megjelenik. Így idővel, és megfelelő számú próbálkozással a teljes titkosítási kulcs újraépíthető.
Na de mit lehet tenni?
A probléma hardware-es jellege miatt sajnos nem sokat, a tudatos felhasználáson kívül. Érdemes gyakran frissíteni az operációs rendszert, illetve kerülni a nem hivatalos felületről telepített alkalmazásokat, ezzel lecsökkentve egy malware fertőzés esélyét, ami a hibát kihasználhatná. A hiba az Apple részéről szoftveresen valamelyest csökkenthető lenne, ez azonban negatív hatással lenne a számítógép teljesítményére.
A sebezhetőségről részletesebben itt olvashat.