Az Apple CPU-k érintettek az új SLAP & FLOP Side-Channel támadásokban

Címkék

Az Apple a legújabb CPU-gyártó, amelyet érintenek az side-channel támadások. Az összes 2022 óta gyártott Mac laptop, a 2023 óta készült Mac asztali gépek, valamint az összes 2021 óta megjelent iPhone, iPad Pro, iPad Air és iPad Mini érintett az új SLAP és FLOP támadásokban.

A Georgia Institute of Technology kutatói két tanulmányt mutattak be az Apple Silicon processzorokat érintő adatspekulációs támadásokról. Az első a SLAP (Data Speculation Attacks via Load Address Prediction), amely a betöltési címek előrejelzésén alapuló támadási módszert vizsgálja. A második, FLOP (Breaking the Apple M3 CPU via False Load Output Predictions), az Apple M3 processzorokat érinti, és a hamis betöltési kimenetek előrejelzésére épít.

A sérülékenységek weboldala: predictors.fail

Kapcsolódó cikkek:

Hozzászólások

Szerkesztve: 2025. 01. 29., sze – 14:23

Nem SLAP & FLOP, hanem BLOW & JOB.

trey @ gépház

Most nem azért, hogy az Apple-t védjem, de ezek a CPU sérülékenységek néhány éve már kabaré számba mennek, egyértelmű mesterséges elavultatás részei. Foglalkozik még ezzel valaki, de tényleg? Mert foltozgatják ezeket, csak minek, gomba módjára szaporodnak, x havonta, y évente, úgyse állnak le vele, mindegyikben találnak. Így a folt se ér semmit, de még lassítják is vele.

Egyértelműen nincs elég fejlődés, és csak úgy tudnak újabb geneket eladni, hogy a régit el kell avultatni valahogy, ha a szoftveres támogatáson nem lehet, akkor előhúzzák a kalapból ezt a jajj, nem biztonságos, muszáj kidobni témát. Kezd marha unalmas lenni, főleg, hogy nincs alternatíva, mindenben találnak, ennyi erővel soha semmit ne vegyen az ember, meg dobjon ki mindent. Persze-persze, mert ez majd így fog működni. Hát a világ legnagyobb részén tuti nem fog.

Főleg, hogy ezeket ki sem használják. 2018-ban jött az első, a Meltdown, már akkor riogattak vele, hogy mindmeghalunk, holott a régi gépeknél sem okoz a mai napig gondot. Van rá proof of concept kód, de a mai napig nem használja ki semmilyen tényleges malware.

The world runs on Excel spreadsheets. (Dylan Beattie)

Most nem azért, hogy az Apple-t védjem,

Hagyjuk már ... amikor ezek kijöttek Intelre, hetekig olvasgattam itt, hogy az Apple SoC így, az Apple SoC úgy ... aztán kiderült, hogy kb. az azért "nem volt érintett", mert a kutya se nézte. Amikor meg megnézték, kiderült, hogy az sem jobb egy hangyafasznyival se. 🤷‍♂️

trey @ gépház

Pedig én aztán utálom az Apple-t, Intelt se szívlelem a sok éves tikk-takk-os 2 magozós versenyellenes gyalázatuk, alap utasításkészletek (VT-x, VT-d, AES, stb.) mentén való pofátlan szegmentálásuk miatt, meg jajj, a memóriát nem lehet tuningolni, mmert garivesztés, még az XMPP profilt se szabad bekapcsolni, mert az is tuning kezdetű hülyeségek miatt, de ez ma már a piaci szereplők oldaláról elavultatási rutinfogás. Azért nem szabad felülni, hogy mi érintett, meg az Apple SoC milyen kivételes. Találnak mindegyikben ilyet, majd a RISC-V is sorra kerül, meg a többi is. Szerintem a kínaiak Loongson-jában is van, csak mivel az hazai piacra korlátozott megoldás, ezért nem tudnak vele a nyugatiak kísérletezni.

Eleve már az M1-ben volt egy másik sebezhetőség kb. 1-2 évvel ezelőtt, már ott se lepett meg senkit, hogy ők sem kivételesek. Ezt nem is értem, hogy ki gondolta volna a hardcore fanboy-okon kívül. Holott ez nem érv egyik proci mellett, ellen sem.

Világosan emlékszem, hogy a Meltdown-nál még az AMD-sek ott örültek, hogy csak az Intel érintett, aztán közben pár évre rá egy átlag Ryzen procin meredeken sorjáznak a biztonsági rések, a grep -m1 bugs /proc/cpuinfo kész kisregényt felhoz, még friss AMD mikrokód használata mellett is:
bugs            : sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass srso ibpb_no_ret

The world runs on Excel spreadsheets. (Dylan Beattie)

Foglalkoznak vele, hidd el.

Azért nincs rá in-the-wild exploit, mert viszonylag gyorsan bezárták azokat, amik tényleg kockázatosak (könnyen kihasználható és nagyon szenzitív adatokat leakelő) voltak. A Meltdown-t hozod példának, ami tényleg para volt, messze a legrosszabb az összes közül. Akkori processzorokon kb 500kB/s-el lehetett dumpolni a kernel vagy bármelyik másik process memóriáját. Ha azt nem csukják be, akkor rövid idő alatt lett volna olyan malware ami ráépül. A Spectre v1, v2 már más tészta, azokat sokkal nehezebb volt eredetileg is kihasználni (de védekezni ellene is).

Abban egyetértek, hogy probléma van a sebezhetőségek kommunikálásában. Nagyon nem látszik a relatív súlyossága. Volt pl olyan, hogy "Net-Spectre" amiben az volt a szenzáció, hogy a spectre _teljesen remote_ változata, semmi lokális támadó kódfuttatás nem kellett hozzá, csak bejövő hálózati csomagforgalom. Aztán kiderült, hogy legjobb esetben néhány byte/hét volt az elérhető memóriadumpolási sebesség vele -> nyilván teljesen impraktikus, csak mint elméleti lehetőségként volt bármi relevanciája.

Hogy a mostani hova esik a Meltdown és a NetSpectre közötti nagyon széles skálán, na ezt pl nem látom. Végig kell olvasni a cikket, talán van benne valami, de sokszor előfordult, hogy még a tudományos cikkből sem derült világosan ki.

UPDATE: nem mondom, hogy teljesen megértettem minden részletét (ahhoz kell egy hangulat, hogy nekiálljak), de gyors átfutás alapján:

- a FLOP esetén 0.492bit/s-al tud olvasni, módosítatlan böngészőben futtatott PoC támadással
- a SLAP esetén 0.384bit/s-al tud olvasni, itt valamilyen szinten kihasználtak gadget-eket a kódban

Ez alapján ez egy "not great not terrible". Úgy tűnik, hogy _lehet_ rá építeni olyan támadást, ami weboldalon password mező tartalmát vagy session cookie-t el tud lopni belátható idő alatt. Bár minden bizonnyal ehhez több percen keresztül szét kell tekernie a processzort, szóval a rosszfiúk nem fognak kapkodni utána.

Védekezni ellene:

- a FLOP esetén az Armv8.4-A utasításkészletben a DIT (data independent timing) bit bekapcsolásával lehet. Ennek ára 4,5% teljesítményvesztés javascript benchmarkban -> kb az észrevehetőség határát éppencsak súrolja
- a SLAP esetén egy bizonyos "kill switch bitet" (HID4_EL1) tudtak használni, ez úgy tűnik a teljes out-of-order végrehajtást letiltja amivel 2,8 szoros  lassulást eredményez. Viszont feltételezik, hogy léteznie kell ennél specifikusabb, kevésbé invazív feature kapcsolónak is (csak hát az Apple-nek méltóztatnia kéne ebben segíteni...). De a SLAP csak Safari alatt működik, mert a többi böngésző site-onkénti külön process izolációja kihasználhatatlanná teszi.

tldr:

- annál azért komolyabb, hogy az Apple teljesen ignore-álhassa
- valószínűleg nem fog összedőlni a vilag a mitigáció költéségtől és bonyolultságától

Régóta vágyok én, az androidok mezonkincsére már!