Kutatók egy csoportja egy meglehetősen súlyos sebezhetőségre hívta fel a figyelmet, ami az Apple összes „M” sorozatú SoC egységét érinti, rajta keresztül pedig lehetőség van arra, hogy az adattitkosítást végző algoritmusokhoz kapcsolódó kulcsokat megszerezzék a támadók. A GoFetch névre keresztelt sebezhetőséget számos egyetem kutatói fedezték fel és publikálták, a munkában az alábbi szakemberek vettek részt:
- Boru Chen – University of Illinois Urbana-Champaign
- Yingchen Wang – University of Texas at Austin
- Pradyumna Shome – Georgia Institute of Technology
- Christopher W. Fletcher – University of California, Berkeley
- David Kohlbrenner – University of Washington
- Riccardo Paccagnella – Carnegie Mellon University
- Daniel Genkin – Georgia Institute of Technology
Hogy miről is van szó? Az Apple SoC egységeinél alkalmazott DMP (Data Memory-dependent Prefetcher) implementáció hibás, ugyanis működése során a rendszer olyan adatokat is betölthet a CPU gyorsítótárába, amelyekre éppen nincs szükség, és megfelelő kód esetén arra lehet kényszeríteni az adott adattitkosító algoritmust, hogy olyan adatot töltsön be a gyorsítótárba, amelyen keresztül a kriptografikus kulcs megszerzésére is lehetőség nyílik. Ez a sebezhetőség azért is kifejezetten veszélyes, mert azokat a biztonsági megoldásokat is semmissé teszi, amelyek azért születtek, hogy az oldalcsatorna-támadásokat és a processzor gyorsítótáraihoz kapcsolódó támadásformákat hatástalanítsák.
Ez a sebezhetőség az összes adattitkosító metódust érinti, vagyis azokat a 2048-bites adattitkosító kulcsokat is, amelyek pont azért készültek, hogy megerősítsék a rendszer védelmét a kvantumszámítógépek térfeléről érkező támadásokkal szemben. Sajnos a hiba ellen csak és kizárólag szoftveres mitigációt lehet készíteni, amivel el lehet venni a támadás élét, ez viszont negatív hatást gyakorolhat az adattitkosítással kapcsolatos feladatok futására, azaz csökken a rendszer teljesítménye. Szigorúan technikai szemszögből nézve a fejlesztők akár azt is megtehetik, hogy az adattitkosítással kapcsolatos feladatok elvégzését az E-Core részleg processzormagjaira korlátozzák, azok ugyanis nem rendelkeznek DMP implementációval, így védettek a fentebb említett sebezhetőséggel szemben is, ez viszont ugyancsak negatív hatást gyakorol majd a teljesítményre.
Az M1-es, M2-es és M3-as sorozatú Apple SoC egységeket érintő sebezhetőség hardveres javítására csak a következő generációs „M” sorozatú megoldásoknál nyílhat lehetőség, addig szoftveres szinten kell gondoskodni arról, hogy a rendszerek biztonságban legyenek. Az M3-as széria tagjainál ehhez rendelkezésre áll egy extra kapcsoló, vagyis egy aktiváló/deaktiváló bit is, amelyen keresztül a fejlesztők akár ki is kapcsolhatják a DMP funkciót, az viszont rejtély, hogy ennek hatására mekkora teljesítménycsökkenést szenved majd el az adott rendszer.
Érdekesség, hogy a DMP nemcsak az Apple „M” sorozatú SoC egységeinél van használatban, hanem az Intel Raptor Lake és Raptor Lake Refresh sorozatú processzorainál is, utóbbiak viszont nem sebezhetőek, hiába használják ugyanazt a prefetchert.
Az Apple háza táján egyelőre még nem jelent meg hivatalos javítás, ami bezárná a kiskaput, így a GoFetch sebezhetőség egyelőre még kiaknázható. Remélhetőleg nem kell már sokat várni a javításra sem. Az Apple szakembereit a kutatók 2023. december 5-én tájékoztatták a problémáról, azaz lényegében 107 nappal azelőtt, hogy publikálták volna azt.
A GoFetch sebezhetőséggel kapcsolatban további információk itt olvashatóak.