EA anticheat is a kernel level anticheat, which are generally bad for consumers due to them giving malware new targets to get full control of an infected system. Genshin Impact’s kernel anticheat is famously targeted by ransomware as an easier way to gain control of user’s PCs for example. They also don’t work on Linux, which is an obvious problem for Steam Deck users.

  • damium@programming.dev
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    They fail because you can’t trust a machine that an adversary has in their physical possession.

    Software running on an untrusted computer can have code and memory injected or modified without modifying the executable files. Binary executable files are by necessity readable and someone with enough time can parse through them to fully deobfuscate and figure out what they are doing. Anti-anti-cheat systems basically perform the same code as the anti-cheat but slightly modify the result to hide the cheating. This can be done either by code swapping in the anti-cheat or at a higher level. If the anti-cheat system is looking at which processes are running then have the system feed it the real list of processes with the cheat processes removed… etc.

    Trusted computing requires hardware level monitoring, validated certificates, and zero vulnerabilities since the time the certificate was provisioned. In addition, current technology would also require those base certificates to be regularly rotated and device decertified if it didn’t rotate in time to prevent physical offline hardware attacks on the certificate data. Even game consoles don’t have this level of platform trust and are often physically modified to enable cheating/piracy.

    The only successful way to prevent most cheating is to run the simulation entirely server-side and then only send data to each client according to what they should know. Even then you won’t be able to prevent assisted cheating like aim-bots or texture replacements.