Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 25 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
  • Save stdNullPtr/2998eacb71ae925515360410af6f0a32 to your computer and use it in GitHub Desktop.
Save stdNullPtr/2998eacb71ae925515360410af6f0a32 to your computer and use it in GitHub Desktop.

TL;DR

When Riot Games introduces the Vanguard anti-cheat to League of Legends, you should STOP playing and you must NOT install the anti-cheat when you get the pop-up. Vanguard is a kernel-level anticheat and these anticheats operate at a privilege level HIGHER THAN YOUR OWN. The anti-cheat can do things that even YOU can't do, without asking or letting you know. It's like Riot installing a camera in every room of your house and getting a copy of every key inside.

Here are just a few examples of what they can do:

Who am I?

Just a random player with a cheat developer past, that likes to reverse-engineer malware occasionally.

Why did I decide to write this lengthy boring post?

Anticheats are getting more and more intrusive, it's getting out of hand and people should have a better understanding of how intrusive and dangerous kernel mode software, in general, can be. It's driving me crazy how game developers get away with this.

Goal

I want to convince you NOT to voluntarily install kernel-level software of any kind (anti-tamper, or whatever they try to push to you), shooting yourself in both feet.

Audience

All you ordinary gamers. This articles explains in simple terms the issue at hand.

Some Clarifications

  • "Lower" and "higher" access levels: consider lower -> closer to hardware, meaning MORE privileged (may be counter-intuitive to some)
  • Any software that runs in the kernel namespace is referred to as a "driver".

The Problem

Only after diving into the world of reverse engineering and cheat development was I able to understand how incredibly intrusive anti-cheats can be. I get it, we all do, cheating is bad, ruins legit players' experience, and so on - but that's not the point here. The point is - that cheating is inevitable, so why force your player base to install a rootkit into their PCs?

The only difference Vanguard will bring is that the cheating players will just have to spend a bit more money for the premium kernel-mode cheats since a user-mode anti-cheat can hardly deal with a kernel-mode one. Valorant has Vanguard, so what? It still has cheaters and the premium cheat developers are not even charging that much. Speaking of "premium cheats", all this introduces a whole new problem, more usage of kernel cheats, which means just like with Vanguard - the user will voluntarily infect their PC with yet another kernel-level software to mine some crypto and share their bank account with their favorite cheat developer <3.

Why don't game devs implement better detection methods server-side while keeping the user-mode piece of the anti-cheat? Because it's cheaper to deploy a rootkit to everyone's PC! You can detect and log "unrealistic" behavior without installing a rootkit into your players' PCs. We're not just talking about another piece of software, this is the core of your computer's operating system.

What is the kernel (in simple terms)?

In a computer, the kernel is the core software of the operating system. It handles all the fundamental operations, like managing memory, processing tasks, and communicating between your hardware (like your keyboard, mouse, and monitor) and software (like your games and applications).

The kernel operates at the DEEPEST level of your system and has complete control over anything happening in your computer. It decides which programs get resources, serves as a bridge between software and hardware using drivers, and controls essential security measures.

There exists a concept of "Ring protection levels". Their purpose is to define an access level hierarchy in your system. Your everyday apps and games run at Ring3 (least privileged, safest for your system). Can you guess who wants to be in Ring0? That's right - viruses, rootkits, spyware. Everything that can compromise your system and privacy, casually running kernel-level software that YOU DON'T NEED exposes you and your system to risks that we cover below.

After these few sentences you might say "Wow the kernel sounds important and complex!", well IT IS, THAT'S WHY YOU DON'T LET RANDOM SOFTWARE IN THERE.

Consider this:

When you are having guests over at home, do you hand over a key to your house to each one of them when they first come? NO??? Why not? They won't have to ring the doorbell next time, think of the insane convenience that this brings. What? They can come at any point, even when you are not there? Naaaaah come on why would they do that, they even promised not to! Wait what? You don't want to give them keys? Well too bad since it was not a question or a request, prepare to be evicted.

That's you, inviting Vanguard over, FOREVER... well technically until you uninstall it but with such privileged software a complete OS purge is recommended alongside all your drives.

The risks of kernel-level access

Repeat after me, again, kernel-level software operates with the highest level of privilege on your computer - it can do things that even you CAN'T DO!

So far we only covered how incredibly privileged this software is on your machine, but let's talk about what CAN happen.

  • Security Vulnerabilities: The most concerning risk is related to security. When a program operates at the kernel level, ANY vulnerability in that program can potentially open the door to the entire system. If exploited, such vulnerabilities can lead to serious security breaches. In the case of Vanguard, any flaw in its design could be exploited by malicious entities to gain deep access to your system. Remember earlier about the keys? if someone untrustworthy gets a hold of them, they have access to everything inside. Kernel drivers are the keys to the kingdom. Have you ever wondered how viruses "nest" themselves into a system? By exploiting a driver developer's mistakes, malware can leverage the vulnerable driver to load itself into the kernel namespace and bring chaos. You are essentially voluntarily nesting kernel software into the kernel namespace :). One might say that some god-level developers at Riot cannot produce a vulnerable driver, but know this - bugs are a fact of life - the more complex your driver is, the higher the chance of the developer making a mistake. That chance is never zero, not even close.

  • System Stability: Kernel-level software has the power to make changes that can affect the entire system's stability. Ever wondered why you get "bluescreen"? Well, there you go! When an issue occurs inside kernel-level software, it doesn't just crash - it takes the whole system with it, potentially corrupting it before the next boot. This can be caused by a simple mistake by the developer of the driver, which inherently means that introducing unneeded kernel software into your system can increase the chance of instability. In contrast, when a user-level application crashes, you just restart it without threatening your whole system's stability.

  • Privacy Concerns: Privacy is another area of concern. Kernel-level access means the software can monitor all activities on the computer at all times, with full permissions and privileges, without asking any questions or even informing you in any way :). I am sure that Vanguard will only "enable itself" while you are playing league, but that's just a "promise". You can't rely on such "promises" when your privacy is at stake. You are giving it your house keys and pretending it didn't happen.

  • The Contrast with User-Level Software: Normally, your everyday software like games, discord, or whatever, operates at a much higher, more restricted level - we can call this user mode, userland, or user level. Userland software runs with virtual memory and has to ASK before doing ANYTHING. Whenever there is a malfunction, it is limited to that specific program, unlike kernel mode software, where the entire system collapses. There is absolutely no reason for a normal user to expose themselves to this just to play a game.

The intrusiveness

Now that we have a clearer understanding of the risks involved in purposely allowing a piece of software access to the kernel, we can say a few things about the intrusive aspect of it all.

  • Deep System Access and Privacy: Kernel-level anti-cheats have an unparalleled depth of access to your system. The traditional anti-cheat "most of the time" operates only on the game files and starts up with the game ONLY. With Vanguard and other kernel-level anti-cheats, your whole system is being observed and monitored, including non-gaming related activities, even when you are NOT PLAYING :) It's like having a security camera that's meant to monitor your front door but ends up recording every corner of your house???

  • Continuous Operation: Another aspect of intrusiveness is the continuous operation of such software. With Vanguard and other kernel-level anti-cheats, your system is being monitored completely, from boot to shutdown, since the software boots up with your PC, and DOESN'T JUST RUN WHEN LEAGUE OF LEGENDS IS ACTIVE, it runs ALL THE TIME :) This constant surveillance raises concerns, not just about privacy, but also about the impact on system resources and performance.

  • Potential for Data Collection: And of course, we must mention the "anonymous" data constantly being collected by the anticheat. With kernel-level anti-cheats being so intrusive, do you really trust them with the data they collect? There is absolutely no control over what the software can monitor, we are working on promises here...

Any proof?

Don't believe me how dangerous this is?

And MANY MORE that did not get caught, as it's extremely hard to get caught with this :)

Conclusion

So, there we have it, we managed to barely scrape the surface on the topic... overall, it's your job to protect your privacy, since apparently the incredibly intrusive kernel anti-cheats are somehow still legal.

If you choose to install Vanguard and keep playing League, just remember that someone has unrestricted access to your PC the entire time it is being turned on (in the case of Vanguard at least) and that someone doesn't need your permission when he wants to do something :)

Is it worth sacrificing a piece of your digital freedom and security to continue playing League of Legends?

Stay safe, stay informed:

Update 1: Added TL;DR

Update 2: Added ring protection levels

@akaspeh1
Copy link

@realRagamuffin
Copy link

First, thanks for the massive post, very insightful. I do have a question though. Bear with me if it's stupid since I'm only a noob sys admin.

As far as I've understood, the issue is with you installing and letting a software kernel level ops. Now if I am a lol cheater or just someone who wants to target vanguard, how can a third party acces it? I am going on the presumption that we trust vanguard itself will not install a crypto mine.

@l-33ter
Copy link

l-33ter commented Feb 28, 2024

I've been playing LoL-TFT since the beginning, and I genuinely enjoy it. While I don't oppose Anti-Cheat Software, I draw the line at installing kernel-based software just to play a game. If the company were transparent about the data they collect, rather than expecting blind trust when they say, "Don't worry, we don't collect personal data," players could make informed decisions.

It's worth noting that Riot Games is backed by "Tencent," a Chinese tech company. I don't mean to single out the Chinese; it's irrelevant where they come from. However, we're aware that the Chinese government has a penchant for data collection.

@stdNullPtr
Copy link
Author

stdNullPtr commented Feb 28, 2024

First, thanks for the massive post, very insightful. I do have a question though. Bear with me if it's stupid since I'm only a noob sys admin.

As far as I've understood, the issue is with you installing and letting a software kernel level ops. Now if I am a lol cheater or just someone who wants to target vanguard, how can a third party acces it? I am going on the presumption that we trust vanguard itself will not install a crypto mine.

The main issue mate is that you install a kernel level rootkit that operates at ALL TIMES - this is Vanguard. It is incredibly intrusive and scans the whole system even while you are not playing.

A third party can exploit vulnerabilities in the vanguard software and execute highly priviliged instructions through it. You can google "vulnerable drivers exploitation" as it's a topic that deserves a seperate post, and you'll get a better idea of what I mean. Most games at least run their driver only while you are playing, but if vanguard is compromised, your whole system is compromised the whole time it is turned on. Costing you your banking logins, social media logins, screen shots of your screen, etc.

@stdNullPtr
Copy link
Author

I've been playing LoL-TFT since the beginning, and I genuinely enjoy it. While I don't oppose Anti-Cheat Software, I draw the line at installing kernel-based software just to play a game. If the company were transparent about the data they collect, rather than expecting blind trust when they say, "Don't worry, we don't collect personal data," players could make informed decisions.

It's worth noting that Riot Games is backed by "Tencent," a Chinese tech company. I don't mean to single out the Chinese; it's irrelevant where they come from. However, we're aware that the Chinese government has a penchant for data collection.

I do not oppose anti cheat in general, I oppose criminal behavior like Vanguard's, running as a kernel mode driver 24/7 and collecting data.

Of course one of the bigger concerns is that we are aware of the chinese government's interests :)

@l-33ter
Copy link

l-33ter commented Feb 28, 2024

I do not oppose anti cheat in general, I oppose criminal behavior like Vanguard's, running as a kernel mode driver 24/7 and collecting data.

Yes, I completely agree with you!

What would interest me is; how many LoL/TFT players are now turning their backs on the game? Two people for sure. :)

But how many just don't care?

@BPowell76
Copy link

BPowell76 commented Mar 10, 2024

I do not oppose anti cheat in general, I oppose criminal behavior like Vanguard's, running as a kernel mode driver 24/7 and collecting data.

Yes, I completely agree with you!

What would interest me is; how many LoL/TFT players are now turning their backs on the game? Two people for sure. :)

But how many just don't care?

I don't think it's necessarily a "lack of caring" issue, but more of a lack of information/transparency. I've been gaming for decades and have played games with various anti-cheat, but I had no idea what exactly it was doing. Having become a bit more knowledgeable of computers in general, I'm strongly opposed to kernel-level anti-cheat just because I'm concerned about what information it's collecting and how easily it can turn in malware if not developed/maintained properly.

@akaspeh1
Copy link

It can happen to any game. Riot is no exception.
Given it is stupidly running 24/7 if you dont close it. And it HAS to run before anything @ boot
Apex Legends was hacked
Stuff like this CAN happen
https://www.youtube.com/watch?v=LY6PGd8auHI

@NotThatNerdy
Copy link

NotThatNerdy commented Apr 12, 2024

I agree with not installing Vanguard. However, I will say your scumbag-sympathising issue of lowlife degenerate cheaters being preyed upon by their own kind doesn't make me concerned.

If scumbags that want to cheat their way through life get hacked by others of their own kind that are just better/smarter, that's the circle of life. I don't shed a tear and only feel bad if it's someone close to me because maybe the hacker now has stuff on me.

Cheaters are scum. Like actual proper scum. If you were raised right you'd not cheat. It's a simple concept. Blame the parents if anything other than the cheater themselves.

For clarity, I am referring to your concern that cheaters will use more kernel level cheats.

Don't give these lowlifes empathy, they need to get a grip and learn to grind an honest grind.

@NotThatNerdy
Copy link

I've been playing LoL-TFT since the beginning, and I genuinely enjoy it. While I don't oppose Anti-Cheat Software, I draw the line at installing kernel-based software just to play a game. If the company were transparent about the data they collect, rather than expecting blind trust when they say, "Don't worry, we don't collect personal data," players could make informed decisions.

It's worth noting that Riot Games is backed by "Tencent," a Chinese tech company. I don't mean to single out the Chinese; it's irrelevant where they come from. However, we're aware that the Chinese government has a penchant for data collection.

Why callout China and then backpedal before doubling down on calling it out? It's 100% a concern that the psychopathic government of China is involved.

@stdNullPtr
Copy link
Author

stdNullPtr commented Apr 12, 2024

I agree with not installing Vanguard. However, I will say your scumbag-sympathising issue of lowlife degenerate cheaters being preyed upon by their own kind doesn't make me concerned.

If scumbags that want to cheat their way through life get hacked by others of their own kind that are just better/smarter, that's the circle of life. I don't shed a tear and only feel bad if it's someone close to me because maybe the hacker now has stuff on me.

Cheaters are scum. Like actual proper scum. If you were raised right you'd not cheat. It's a simple concept. Blame the parents if anything other than the cheater themselves.

For clarity, I am referring to your concern that cheaters will use more kernel level cheats.

Don't give these lowlifes empathy, they need to get a grip and learn to grind an honest grind.

It's not as simple as you think. Not only cheaters can get compromised - their network, the machine they are on, is it theirs? Their innocent parents could get scammed out of their banking and personal data. Botnets arise from such things, which are then attacking other companies. It really isn't as simple as the hacker getting pwned.

And let's not forget - if the rootkit anticheat, that starts first at boot, gets compromised - even legit players lose their privacy and life forever.

EDIT: Oh well.. I guess I predicted it :)
https://www.pcgamer.com/games/battle-royale/easy-anti-cheat-washes-its-hands-of-the-apex-legends-hacking-disaster-that-saw-streamer-accounts-hijacked-live-there-is-no-rce-vulnerability-within-eac/

@MirkoReds
Copy link

Thank you alot for this great post. I've learned more about the thema and I've immediately shared with my friends.

@RICKY2Gx
Copy link

RICKY2Gx commented May 2, 2024

Is it possible to fully delete the program after installing it??
I decided to just go with it and do it, now the game is unplayable and after reading your post, I figured there isn’t really a need for this.. am I able to get rid of it even after installing it?

@daedaluxs
Copy link

Is it possible to fully delete the program after installing it?? I decided to just go with it and do it, now the game is unplayable and after reading your post, I figured there isn’t really a need for this.. am I able to get rid of it even after installing it?

Strictly speaking, the only way to know its uninstalled is by wiping all drives, and re-installing OS.

@rafalohaki
Copy link

rip lol

@schklom
Copy link

schklom commented May 3, 2024

Can the main OS (from a dual-boot setup) be compromised by installing Vanguard on the secondary (Windows) OS?
If yes, what if the main OS partition is encrypted?

Does the answer change if the main OS is Windows or a Linux distro?

@stdNullPtr
Copy link
Author

Is it possible to fully delete the program after installing it?? I decided to just go with it and do it, now the game is unplayable and after reading your post, I figured there isn’t really a need for this.. am I able to get rid of it even after installing it?

Strictly speaking, the only way to know its uninstalled is by wiping all drives, and re-installing OS.

+1

Can the main OS (from a dual-boot setup) be compromised by installing Vanguard on the secondary (Windows) OS? If yes, what if the main OS partition is encrypted?

Does the answer change if the main OS is Windows or a Linux distro?

Make sure the drive with your personal data is encrypted, and you are fine. Your objective is to hide all personal data from the Windows gaming OS, encrypting all other parts of the multi boot setup is absolutely fine.

@Simulping
Copy link

It's rather a shame that valorant is really popular in my school, but nearly everyone is tech illiterate, making it difficult to convince them to ditch the game.

@stdNullPtr
Copy link
Author

It's rather a shame that valorant is really popular in my school, but nearly everyone is tech illiterate, making it difficult to convince them to ditch the game.

It is what it is, over time people will catch up and understand. Protect yourself.

@stdNullPtr
Copy link
Author

Thank you alot for this great post. I've learned more about the thema and I've immediately shared with my friends.

Love to hear that, I'm happy to help! Spread awareness before it gets out of control :)

@AdrianCiuciui
Copy link

AdrianCiuciui commented May 5, 2024

Great article, thank you for writing it.
It is worrisome, indeed.
The range of games with no kernel access is slowly dwindling, tough... people don't seem to care very much about this. :(

@stdNullPtr
Copy link
Author

Great article, thank you for writing it. It is worrisome, indeed. The range of games with no kernel access is slowly dwindling, tough... people don't seem to care very much about this. :(

That's why we should spread awareness. Over time people will acknowledge and regulators will actually enforce changes. Stay safe until then.

@Marcellofabrizio
Copy link

It's a shame that Riot will do nothing about this, but it is a great article. It's important to raise awareness over this.

@ederhmaia
Copy link

Awesome article.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment