alt.hn

4/24/2025 at 6:16:56 PM

io_uring based rootkit can bypass syscall-focused Linux security tools

https://www.armosec.io/blog/io_uring-rootkit-bypasses-linux-security

by hexhu

4/24/2025 at 7:09:53 PM

The title is somewhat misleading, as it suggests an io_uring issue when there is none - it's just that anti-virus solutions like Microsoft Defender try to monitor syscalls but don't monitor io_uring.

They're far from guaranteed to catch things they monitor anyway, and I feel they mostly just exist to let enterprise pretend they care about security by buying ineffective band aids and duct tape. I guess a legal defense is more important than a technical one.

by arghwhat

4/24/2025 at 7:24:57 PM

You are right that this is not an io_uring issue.

  I think you under estimate the value of anti-virus.  Anti virus software is a good second line of defense.  It’s not perfect but it will stop a lot of known malware.  This has value.

by StressedDev

4/26/2025 at 10:05:54 AM

Read Travis Ormandy’s take-downs of Sophos or Symantec antivirus software. They are so sloppily written they vastly increase your exposure, including zero-click exploitation by simply receiving a crafted message.

by fmajid

4/24/2025 at 7:34:42 PM

I wouldn't consider it a second line of defense - as a rule of thumb, it will only catch old and overused attack vectors, and rarely well.

Anything novel will fly right past it, and it will have false positives. Plastering ineffective or mildly effective security everywhere in the name of "defense in depth" can have negative value as it reduces diligence in applying more relevant security measures that aren't just a random package install.

by arghwhat

4/25/2025 at 3:46:47 AM

I cannot upvote this hard enough.

I see this all the time with VPNs. By having everything behind the company VPN, application security isn't taken as seriously. As a result, lateral access becomes trivial at these companies.

Keeping everything public internet exposed from the start actually results in better security.

by dallbee

4/24/2025 at 7:52:22 PM

It like the last line of defence. If you are lucky, it helps.

by nicce

4/26/2025 at 10:19:11 AM

Anti virus is also a good second attack vector so sometimes anti virus is the reason for malware in the system in the first place.

by croes

4/25/2025 at 11:43:09 AM

This isn't a "bypass" (and it certainly isn't "terrifying", as reported on /. and elsewhere).

1. The program can only do what it is permitted to do: io_uring just reduces the number of system calls required - but since it works on file descriptors, you must have already acquired the fd in the correct mode.

2. Some monitoring systems hook into system calls and report when they are used: io_uring and opcodes mean the program can perform actions without being noticed by these programs...

3. ...which can report on the use of the system calls that set up io_uring access...

4. ...and could report on the resuting I/O by other means.

I won’t go so far as to say this is a nothing burger, but it feels close.

by PeterWhittaker

4/25/2025 at 8:27:31 PM

> io_uring just reduces the number of system calls required - but since it works on file descriptors, you must have already acquired the fd in the correct mode.

With the caveat that you can open files through io_uring requests, too: https://www.man7.org/linux/man-pages/man3/io_uring_prep_open...

And they might not have traditional FDs: https://lwn.net/Articles/863071/

But yes, it's bad security architecture (fail-open), not updated fast enough.

The real answer is probably something more like Landlock, where it's the kernel's job to understand syscall semantics.

by yencabulator

4/25/2025 at 11:31:34 PM

True, but even those calls require appropriate permissions, and will fail if the program lacks said perms. (Just to emphasize the point that the original article doesn't provide a means of privilege escalation, nor exploit a vulnerability.)

by PeterWhittaker

4/24/2025 at 7:49:51 PM

These security tools need to block any system call they don't recognize (fail closed). Obviously this breaks some apps but the alternative is huge security holes.

by wmf

4/25/2025 at 7:03:32 AM

Maybe not blocking, but the problem is that they rely on system calls for visability for system events and that's the problem because we have mechanisms like io_uring which can allow attackers to so certain actions without making any system calls.

by hellow0rld123

4/25/2025 at 3:27:13 PM

io_uring is a system call. Security tools could analyze it but they don't because they haven't been updated.

by wmf

4/24/2025 at 7:24:48 PM

Seems to go back to the old pick 2 of these for your system:

* fast

* secure

* easy

by jmclnx