Röviden: Felfedeztünk egy kritikus hibát számos különböző alaplapon, amely lehetővé teszi az észrevétlen kódinjektálást. Ha a rendszered érintett, a Vanguard a VAN:Restriction szolgáltatáson keresztül felkér az alaplapod firmware-jének frissítésére.

Üdv, ranglétradémonok.

Mohamed vagyok, és néhányan ItsGamerDoc néven ismerhettek az X-ről. Ez az első hivatalos cikkem a Riotnál. A csalásellenes konyhánk séfjei keményen dolgoztak, hogy egymás után osztogassák az ízletes tiltáspörköltet a csalóknak, de ma nem az ínycsiklandó tiltásokról szeretnék beszélni. Ehelyett a háttérben rotyogó biztonsági lépésekre szeretnék koncentrálni, amelyektől a DMA-csalások minden bizonnyal lefőnek.

Na de elég volt a főzős metaforákból. A nagyon közeli jövőben a Vanguard elkezd szigorúbb ellenőrzéseket végrehajtani a rendszerindítás biztonságát illetően bizonyos játékosok esetén.

Hogy miért? Nos, nemrég felfedeztünk egy kritikus hibát, amely számos modern alaplapot érint. A hiba lehetővé tette a hardveres csalásoknak, hogy észrevétlenül kódinjektálást hajtsanak végre, még akkor is, ha a gazdagép biztonsági beállításai látszólag be vannak kapcsolva.
Most végigvesszük, hogy miért történik mindez, és ami még ennél is fontosabb, mi a teendő, ha a rendszered érintett.

A „ki tölt be először?” probléma

A betartatás változásának megértéséhez előbb tisztáznunk kell, hogy normál esetben hogyan indul el egy számítógép. A számítógép akkor van a legmagasabb szintű hozzáférési állapotban, amikor bekapcsol: ilyenkor teljes, korlátlan hozzáférése van a teljes rendszerhez és az összes csatlakoztatott hardverhez. A rendszer az indító firmware (általában az UEFI) betöltésével és futtatásával kezd, ami beindítja a hardverek, a szoftverek és a biztonsági rendszer inicializálását. Az irányítás csak ezek után kerül az operációs rendszer kezébe, és általában erre gondolunk úgy, mint „a számítógép”.

Ezzel az a probléma, hogy a láncban korábban betöltő összetevők általában nagyobb hozzáféréssel bírnak, és képesek manipulálni a később betöltő összetevőket. A csalásfejlesztők rendkívül jól ismerik ezt a folyamatot. Sajnos a játékot futtató operációs rendszer csak a folyamat vége felé töltődik be. Ez azt jelenti, hogy a csalások korábban betölthetnek, magasabb szintű hozzáférésre tehetnek szert, és hatékonyan elrejtőzhetnek a rendszeren belül, mielőtt az operációs rendszer és az azon futó programok megvédhetnék magukat.

Szerencsére már léteznek olyan, biztonságot nyújtó funkciók, mint a biztonságos rendszerindítás, a VBS és az IOMMU. A legtöbb esetben hatékonyan meg is előzik az ilyen jellegű támadásokat, feltéve, hogy be vannak kapcsolva és megfelelően működnek.

A Vanguard stratégiája egyszerű: egy védőfalat képez a Windows-kernel körül, amely a lehető leghamarabb megpróbál meggyőződni arról, hogy a rendszerben nem történt beavatkozás. Ha egy csalás a Vanguard előtt betölt, nagyobb eséllyel tud elrejtőzni egy olyan helyen, ahol nem tudjuk megtalálni. Ezzel lehetőség nyílik a csalásoknak, hogy megpróbáljanak észrevétlenek maradni és szétzilálják a játékainkat, amit nem engedhetünk meg.

A felfedezés: Egy alvó kidobó

Emlékszel, hogy az előbb a már létező biztonsági funkciókról beszéltünk, amelyek jól végzik a dolgukat, feltéve, hogy működnek? Ejtsünk egy pár szót az egyikükről, az IOMMU-ról.

Hosszú évekig a leghatékonyabb (és legdrágább) csalástípus a DMA- (Direct Memory Access, memóriához közvetlenül hozzáférő) eszközök használata volt.

A DMA-kártyák hardvereszközök, amelyeket a számítógépbe lehet bedugni, és közvetlenül a memóriát érik el, így megkerülik a processzort és a Windowst. Ezek megállítására egy IOMMU (Input-Output Memory Management Unit, bemeneti/kimeneti memóriakezelő egység) nevű hardverfunkciót használunk. Az IOMMU tulajdonképpen a RAM kidobója; a memóriához hozzáférni próbáló összes eszköz azonosítóját ellenőrzi, és kirakja azokat, akik nincsenek a vendéglistán.

A „rendszerindítás előtti DMA-védelem” egy olyan biztonsági funkció, amely számos eszköz BIOS-ában/firmware-jében megtalálható, és a rendszer IOMMU-jának használatával akadályozza meg a rendszer memóriájához való jogosulatlan DMA-hozzáférést az indítási folyamat elején. Így a betöltött operációs rendszer viszonylag biztos lehet benne, hogy a rendszer, amelyen fut, valószínűleg sértetlen. Ami tök jó dolog, elméletileg… De ez azt is jelenti, hogy az operációs rendszernek magában a biztonsági funkcióban kell megbíznia.
És pontosan ezt fedezte fel a Vanguard csapatának kutatása. Néhány esetben a hardvergyártó firmware-je helytelenül azt jelezte az operációs rendszernek, hogy a funkció teljesen aktív, pedig valójában nem indította el megfelelően az IOMMU-t az indítási folyamat elején.

Ez azt jelentette, hogy a „rendszerindítás előtti DMA-védelem” beállításai bekapcsoltként jelentek meg a BIOS-ban, de a háttérben a hardverimplementáció nem inicializálta teljesen az IOMMU-t a rendszerindítás első másodperceiben. Lényegében a rendszer „kidobója” látszólag szolgálatban volt, miközben valójában a székében aludt. Tehát mire a rendszer teljesen betölt, nem lehet 100%-osan bizonyos abban, hogy nem történt a rendszer épségét veszélyeztető kódinjektálás a DMA-n keresztül.

Ez a rövid időablak elegendő egy kifinomult hardveres csalásnak, hogy beférkőzzön, elvégezze a kódinjektálást, és elrejtőzzön, mielőtt a Vanguard felébred.

A megoldás: Egy egységes frissítés

Az év során megosztottuk a felfedezésünket a hardverpartnereinkkel, akik nagyszerű munkatársnak bizonyultak ebben a folyamatban, és megerősítették a problémát, valamint átfogó BIOS-frissítéseket fejlesztettek a biztonsági rés kijavítására. 

De nem kell nekünk elhinned – vess egy pillantást a nagy hardvergyártók biztonsági figyelmeztetéseire: 

Ezek a frissítések gondoskodnak arról, hogy a bekapcsolt biztonsági funkciók a gép elindításának első ezredmásodpercétől kezdve aktívak legyenek.

Mi a teendő, ha korlátozást kapok?

A Vanguard a VAN:Restriction rendszer segítségével jelzi, hogy nem tudjuk garantálni a rendszer sértetlenségét a fentiekben leírt, kikapcsolt biztonsági funkciók miatt. Ez megakadályozza a VALORANT futtatását, és megjelenít egy felugró ablakot, amely leírja, hogy mit kell bekapcsolni a játék elindításához. Ezeket a korlátozásokat a fiók vagy a HWID szintjén alkalmazzuk, ha gyanús hardverműködést vagy statisztikai rendellenességeket tapasztalunk. Ezek a rendellenességek különböző okokból fordulhatnak elő, például a kikapcsolt biztonsági funkciók miatt, vagy ebben az esetben az újonnan felfedezett, rendszerindítás előtti kiskapu miatt, amely hatástalanítja az IOMMU-t. Ha ilyen figyelmeztetést kapsz, az nem feltétlenül jelenti, hogy csalással gyanúsítunk – csupán annyit jelent, hogy a jelenlegi rendszerkonfigurációd túl hasonló azokhoz a csalókéhoz, akik megkerülik a biztonsági funkciókat, hogy észrevétlenek maradjanak a Vanguard számára. 

Ezek az alapvető biztonsági intézkedések elengedhetetlenek a csalókkal szembeni küzdelem szempontjából. Ha korlátozva lettél, a rendszer felkér, hogy kapcsold be a fent említett funkciókat, vagy frissítsd az alaplapod firmware-jét a gyártó hivatalos útmutatója alapján, mielőtt folytathatnád a játékot. A korlátozásokról további információkat ezen a támogatási oldalon találsz.

Továbbá dolgozunk azon, hogy ez a követelmény a játék legmagasabb szintjén (Felemelkedett szinten és felette) minden játékosnak kötelező legyen, és ezzel gondoskodjunk az alapvető biztonságról a ranglétra tetején.

A célkitűzés

A BIOS-frissítések nem olyan izgalmasak, mint a tiltott játékosok számának követése, azonban ez egy szükséges lépés a hardveres csalásokkal szembeni küzdelemben. A rendszerindítás előtti kiskapu bezárásával semlegesítünk egy sor olyan csalást, amelyek korábban érinthetetlenek voltak, és jelentősen növeljük a sportszerűtlen játék költségeit.

Ez az ügy jelentős eredménynek számít nemcsak a saját csalásellenes szoftverünk, hanem a teljes játékipar szempontjából, és túlmutat a Riot Gamesen. Ha nem vettük volna észre ezt a problémát, teljes mértékben értelmetlenné vált volna a piacon minden jelenleg használt DMA-észlelő és -elhárító technológia – beleértve más játékkészítő cégek programjait is –, hiszen ez a fajta csalás egy emelt szintű területen fut, amelyhez a csalásellenes szoftverek általában nem férnek hozzá.

Ha szeretnél egy lépéssel előrébb járni és zavartalanul folytatni a játékot, megelőző jelleggel frissítheted az alaplapod firmware-jét a legújabb verzióra, ha ellátogatsz a gyártó webhelyére. A játékipar általános biztonsági állapotának javítása 2021 óta kiemelt célunk. Ezeknek a szigorú intézkedéseknek a bevezetése már az egész iparágban tapasztalható, ahogy azt az Xbox „Building a Trusted Gaming Future: How Security Powers Fair Play” (A játékok megbízható jövőjének kialakítása: A biztonság a sportszerűség alapja) című cikke is kiemeli. Ezek a biztonsági alapelvek vitán felül állnak a csalással szembeni küzdelemben. Büszkék vagyunk, hogy elsőként vezettük be ezeket a biztonsági fejlesztéseket, és elkötelezetten dolgozunk a mindenki számára sportszerű és megbízható versenykörnyezet fenntartásán.

Hálásak vagyunk, amiért időt szánsz a rendszered frissítésére. Köszönjük, hogy segítesz a játékaink sportszerűségének és biztonságának fenntartásában. Ha problémába ütközöl, vedd fel a kapcsolatot a Riot támogatási csapatával, akik általános útmutatást biztosítanak, vagy megmutatják, hol találod a gyártó hivatalos forrásanyagait