Intel CPU hiba: Downfall

kami911 képe

A Downfall támadással egy kritikus gyengeséget céloznak meg, amely a személyi és felhőalapú számítógépekben használt modern processzorok milliárdjaiban található. Ez a CVE-2022-40982 néven azonosított sebezhetőség lehetővé teszi, hogy egy felhasználó hozzáférjen és adatokat lopjon más, ugyanazon a számítógépen osztozó további felhasználóktól. Például egy rosszindulatú alkalmazás, amelyet egy alkalmazásboltból szerezhet be, a Downfall támadás segítségével ellophat olyan érzékeny információkat, mint jelszavak, titkosítási kulcsok és személyes adatok, például banki adatok, személyes e-mailek és üzenetek. Hasonlóképpen, a felhőalapú számítástechnikai környezetekben egy rosszindulatú ügyfél kihasználhatja a Downfall sebezhetőséget, hogy adatokat és hitelesítő adatokat lopjon el más ügyfelektől, akik ugyanazon a felhőalapú számítógépen osztoznak.

A sebezhetőséget az Intel processzorok memóriaoptimalizálási funkciói okozzák, amelyek akaratlanul felfedik a belső hardverregisztereket a szoftverek számára. Ez lehetővé teszi, hogy a nem megbízható szoftverek hozzáférjenek más programok által tárolt adatokhoz, amelyekhez normális esetben nem lenne szabad hozzáférni. A biztonsági kutató felfedezése szerint, a Gather utasítás, amely a memóriában szétszórt adatok elérésének felgyorsítására szolgál, a spekulatív végrehajtás során kiszivárogtatja a belső vektorregiszter fájl tartalmát. E sebezhetőség kihasználására bevethető a Gather Data Sampling (GDS) és a Gather Value Injection (GVI) technikákat. Részletesebben elolvashatja Daniel Moghimi, a biztonsági kutató erről írt cikkét. Egy évvel ezelőtt közölte a talált a hibát az Intel számára, és a Downfallt a korábbi spekulatív végrehajtás hibák, például a Meltdown és a Fallout „utódjaként” írja le.

A Gather Data Sampling (GDS) egy átmeneti végrehajtási oldalcsatorna sebezhetőség, amely bizonyos Intel processzorokat érint. Bizonyos helyzetekben, amikor egy gather utasítás bizonyos betöltéseket hajt végre a memóriából, egy rosszindulatú támadó számára lehetséges, hogy az ilyen típusú utasítást arra használja, hogy a korábban használt vektorregiszterekből származtatott adatokra következtessen. Hasonlóan az adatmintavételes átmeneti végrehajtást célzó támadásokhoz, mint például a mikroarchitekturális adatmintavételezés (MDS), a GDS lehetővé teheti egy rosszindulatú szereplő számára, aki helyileg képes kódot végrehajtani a rendszeren, hogy kikövetkeztesse az egyébként architektúrális mechanizmusok által védett titkos adatok értékeit. A GDS az MDS sebezhetőségektől mind a feltárás módjában (amely a gyűjtőutasítások készletére korlátozódik), mind a feltárt adatokban (csak az elavult vektorregiszteradatok) különbözik. Sem az MDS, sem a GDS önmagában nem biztosítja a rosszindulatú szereplők számára azt a lehetőséget, hogy megválasszák, hogy mely adatokra következtetnek e módszerek segítségével.

A rosszindulatú szoftverek képesek lehetnek következtetni azokra az adatokra, amelyeket korábban az ugyanazon szál vagy az ugyanazon fizikai magon lévő testvérszál által használt vektorregiszterekben1 tároltak. Ezeket a regisztereket más biztonsági tartományok, például más virtuális gépek (VM) vendégei, az operációs rendszer (OS) kernele vagy az Intel® Software Guard Extensions (Intel® SGX) használhatták. Vegye figyelembe, hogy a GDS nem érinti az Intel® Trust Domain Extension (Intel® TDX) szolgáltatást támogató processzorokat.

Ez a hiba közepes súlyosságúnak minősül, mivel a CVSS pontszáma 6,5. A CVSS pontszám lényegében arra irányul, hogy egy számértékkel jelezze, mennyire súlyos (vagy nem súlyos) egy sebezhetőség, és a Zenbleed és az Inception esetében még nincs nyilvánosan ellenőrizhető érték. A Downfallról olvasva azonban kiderült, hogy nagyon kevés jogosultságot igényel a futtatásához, és nagymértékben sérti a titkosságot. Ami a közepes kategóriában tartja a pontszámát, az az, hogy „helyi” hozzáférést igényel, vagyis valamilyen módon közvetlen hozzáférést a géphez.

Megoldás

Az Intel olyan mikrokódfrissítést ad ki, amely blokkolja a gather utasítások átmeneti eredményeit, hogy megakadályozza, hogy a támadó kód megfigyelhesse a gather betöltések spekulatív eredményeit. A kárenyhítés alapértelmezés szerint a javítás betöltésekor aktiválódik, és a szálak közötti kitettséget még engedélyezett hyperthreading esetén is mérsékli. A mikrokód-frissítés egy MSR-interfészen keresztül lehetővé teszi a szoftverek számára, hogy letiltsák a kockázatcsökkentést.

A GDS által érintett processzorokon, ha az Intel SGX engedélyezve van, és a hyperthreading ki van kapcsolva, a frissített mikrokód betöltése enyhíti az Intel SGX elleni, GDS-t használó lehetséges közvetlen támadásokat. Ha az Intel SGX nincs engedélyezve, vagy ha a hyperthreading engedélyezve van, a kárenyhítés nem lesz zárolva, és a rendszerszoftver választhat, hogy engedélyezi vagy letiltja a GDS kárenyhítést. Az Intel SGX TCB helyreállítása az érintett Intel SGX-képes processzorok esetében Intel SGX TCB Recovery lesz.

A biztonsági kutató egy kutatási környezet ellenőrzött körülményei között dolgozott, és bemutatta a GDS-problémát, amely a Gather utasításait használó szoftverekre támaszkodik. Bár ezt a támadást nagyon bonyolult lenne ilyen ellenőrzött körülményeken kívül végrehajtani, az érintett platformok számára mikrokód-frissítéssel elérhető az elhárítás. A legújabb Intel processzorok, köztük az Alder Lake, a Raptor Lake és a Sapphire Rapids nem érintettek. Sok ügyfél az Intel kockázatértékelési útmutatójának áttekintése után úgy dönthet, hogy a Windows és Linux operációs rendszereken, valamint a VMM-eken keresztül elérhető kapcsolókon keresztül letiltja a kárenyhítést. A nyilvános felhőkörnyezetekben az ügyfeleknek a szolgáltatójukkal kell egyeztetniük ezen kapcsolók megvalósíthatóságát. A hiba felfedezője nem ajánlja a javítás kikapcsolását. A teljesítmény vesztéssel kapcsolatos információra egyelőre még várni kell. Ha a kockázatcsökkentés engedélyezve van, további késleltetési idővel kell számolni, mielőtt a gather eredményei felhasználhatók lennének. Bár a legtöbb munkaterhelésre gyakorolt teljesítményhatás minimális, bizonyos munkaterheléseknél akár 50%-os teljesítményhatás is előfordulhat. Az ügyfelek a fenyegetettségi modelljüktől függően dönthetnek úgy, hogy nem veszik igénybe a kockázatcsökkentést.

Érintett processzorok

A különféle sérülékenységben érintett processzorok listája. Ebből a Downfall sérülékenységgel érintett processzorok listája:

  • Skylake Server10 (CPUID: 50653) [Server]
  • Skylake Server10 Skylake D, Bakerville10 Skylake W10 Skylake X10 (CPUID: 50654) [1,2,3. Server 4. Desktop]
  • Cascade Lake Server9 (CPUID: 50656) [Server]
  • Cascade Lake Server9 Cascade Lake W9 Cascade Lake X9 (CPUID: 50657) [Server Workstation Desktop]
  • Cooper Lake (CPUID: 5065A, 5065B) [Server]
  • Ice Lake Xeon-SP (CPUID: 606A4, 606A5, 606A6) [1. Server 2. Workstation]
  • Ice Lake D (CPUID: 606C1) [Embedded]
  • Ice Lake U, Y (CPUID: 70600000) [Mobile]
  • Tiger Lake U² (CPUID: 806C0, 806C1) [Mobile]
  • Tiger Lake U² (CPUID: 2023.3: 0xac) [Embedded]
  • Tiger Lake U Refresh² Tiger Lake H35² (CPUID: 806C2) [Mobile]
  • Tiger Lake H² (CPUID: 806D0, 806D1) [Mobile Workstation]
  • Tiger Lake H² (CPUID: 806D0, 806D1) [Embedded]
  • Amber Lake-Y, Kaby Lake U, Kaby Lake U23e, Kaby Lake Y (CPUID: 806000000000) [Mobile]
  • Coffee Lake U43e, Kaby Lake Refresh U (CPUID: 806EA) [Mobile]
  • Whiskey Lake U (CPUID: 806EB) [Mobile]
  • Whiskey Lake U 2,3,4. Comet Lake U42 5. Amber Lake Y (CPUID: 806EC) [Mobile]
  • Kaby Lake S, Kaby Lake H, Kaby Lake G, Kaby Lake X, Kaby Lake Xeon E3 (CPUID: 906000000000) [Desktop Embedded  Mobile Embedded  Mobile Desktop Server Workstation  Embedded ]
  • Coffee Lake H, Coffee Lake S, Xeon E Coffee Lake S x/KBP, Coffee Lake S (CPUID: 906EA) [1. Mobile 2. Workstation AMT Server Server  3,4. Desktop]
  • Coffee Lake S (CPUID: 906EB) [Desktop]
  • Coffee Lake S (CPUID: 906EC) [Desktop]
  • Coffee Lake H Coffee Lake Xeon E Coffee Lake S (CPUID: 906ED) [Mobile Workstation AMT Server Desktop]
  • Comet Lake H (CPUID: A0650, A0651, A0652) [Mobile Workstation]
  • Comet Lake S (CPUID: A0653) [Desktop Workstation]
  • Comet Lake S (CPUID: A0655) [Desktop Workstation]
  • Comet Lake U62 (CPUID: A0660 A0661) [Mobile Desktop]
  • Rocket Lake (CPUID: A0670 A0671) [1:Desktop 2: Server 3: Workstation]

Javítás

CPU mikrokód frissítéssel, operációs rendszer frissítéssel - erre vonatkozó Intel-től származó leírás. A Linux kernelhez készített frissített mikrókód fájlok itt találhatóak, így azt a Linux rendszerek frissítésével már telepíthető, vagy hamarosan telepíthető lesz - ahogy ez a javítás utat talál magának a régebbi LTS kernelekhez és GNU + Linux terjesztésekhez. A megtalált sérülékenység versenyzik a hamarosan kezdődő 2023 Pwnie díjért is - kapcsolodó előadás.

Gyártói adatközlések

További információk, hivatkozások