Eternal had al DAT (Denuvo Anti-Tamper) en hoewel dit een totaal ander product is, is het toch ook van Denuvo. Als je zo een afkeer van Denuvo hebt, waarom zou je dan in de eerste plaats een game kopen met een product van Denuvo in?
Het Steam store-front maakt ook
pas vanaf 15 mei melding dat Doom Eternal gebruik maakt van DAT.
(Daarmee overtreedt Steam trouwens ook EU wetgeving. leuk...)
Eternal is het eerste game dat gebruik maakt van DAC. Hoe kan er nu al iemand weten dat DAC voor een performance verlaging zorgt? Update 1 heeft veel aanpassingen/vernieuwingen/bugfixes die andere bugs introduceren. Waarom worden alle performance problemen daar niet aan toegeschreven?
Daar is inderdaad sprake van meerdere zaken die langs elkaar heen lopen. En de performance klachten zijn wss. niet aan DAC te wijten maar aan wijzigen aan de renderer. (Specifiek de
present from compute optie lijkt problematisch te zijn.)
Afkeer van een ring-0 driver lijkt mij vooral ingegeven door onwetendheid. Hebben jullie dan geen anti-virus? Geen nVidia of AMD driver? Geen printer driver? Geen driver voor je webcam? Allemaal ring-0 software waar niemand over loopt te piepen.
Ring-0 software die je nodig hebt omdat anders je hardware niet operabel is. Het merendeel van die drivers is trouwens geimplementeerd als mini-driver; een kleine lijmlaag tussen de hardware en een top-level framework class driver geschreven door Microsoft. Het is de framework class driver die communiceert met de grote boze buitenwereld (user-mode) en voorziet in bijv. input sanitization.
Dat is bij zgn
software drivers zoals Denuvo's anti-cheat
niet het geval. Deze hebben geen goed bijgehouden en door de OS-vendor zelf blijvend ondersteunde abstractie er bovenop liggen. Hun driver communiceert direct met user-mode.
In het geval van DAC schijnbaar nog wel over een network loopback die een dependency heeft op een NetBIOS library die al sinds Windows 2000 deprecated is. Lekker veilig.
Ik wens je ook héél veel success om vanuit user-space een ring-0 cheat engine te detecteren. Een ietswat cheat-engine maker detecteert gewoon je anti-cheat die in user-space draait en fietst er zo omheen!
Sinds Windows 8.1 heb je nog zoiets als system-protected processes. Dit zijn processen die in user-mode draaien maar waarbij het OS er voor zorgt dat de process space geisoleerd blijft en er niet van buiten mee geklooid kan worden. Deze zijn origineel ontwikkeld om dienst te doen als veilige wijze om processen van anti-virus en anti-malware software te laten draaien die bijv. een user-interface moeten kunnen tonen - iets wat vanuit kernel-mode niet kan.
Daarmee dek je het legioen aan niet-kernel-gebaseerde cheats al af.
Een ring-0 cheat engine kan alsnog proberen om met deze proces-beveiling te morren, maar dat is een aardig stuk meer complex. Daarnaast: een ring-0 cheat engine kan alles wat een ring-0 anti-cheat engine kan. Ze kunnen elkaar wederzijds uitschakelen. Je zult je erbij neer moeten leggen dat je tegen een ring-0 cheat bij voorbaat verloren hebt.
Niemand is gebaat bij een wapenwedloop in de kernel. Dat kan alleen maar leiden tot gevaarlijke situaties. Zie bijv. Valorant's Vanguard, die "foutje; bedankt!" sommige CPU en GPU fan drivers uitschakelde waardoor hardware van consumenten letterlijk smolt.
Het hele punt over privacy en toegang tot je bestanden of keystroke loggers is werkelijk op he-le-maal niks gebaseerd. Een developer heeft helemaal geen ring-0 toegang nodig voor al deze dingen, dat kan ie perfect vanuit user-space.
Maar een breed geinstalleerde ring-0 driver die hackbaar is, is wel een opprtune wijze om een rootkit te verbergen die herhaalbezoekjes mogelijk maakt en om een aanwezige anti-virus proberen uit te schakelen.
in DAC zit géén functionaliteit om remote (vanaf de server) commando's uit te voeren, dus hoe je een dergelijk systeem dan gaat misbruiken/hacken om toch remote commando's uit te voeren is mij een raadsel. Waarom zou een malware developer dan een bestaand systeem gebruiken als ie zelf zijn ring-0 malware kan schrijven? Makes no sense at all.
Door vanuit user-mode te proberen de user->kernel mode verbinding die DAC heeft te exploiteren en derhalve met gelimiteerde gebruikersrechten code injection op kernel-niveau voor elkaar te krijgen.
Er zijn wss. legio meer manieren om remote code execution in user-mode voor elkaar te krijgen dan in kernel-mode, en DAC wordt hier dan een schakel in de keten.
Ondertussen zitten de roeptoeters te roeptoeteren dat ring-0 gevaarlijk is "omdat het mogelijk is dat het misbruikt wordt om je gegevens te stelen" door er een post op Facebook te maken vanop hun Android telefoon...
Ironisch, ja. Dat wel.
[Reactie gewijzigd door R4gnax op 25 juli 2024 03:52]