this post was submitted on 12 Mar 2024
348 points (98.1% liked)

Technology

59605 readers
4202 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] henfredemars@infosec.pub 25 points 8 months ago* (last edited 8 months ago) (8 children)

I'm not sure that's necessarily true with enforcement of driver signing.

The latest OS kernels typically make some effort to resist arbitrary code injection even by the system administrator and sometimes goes even further against an attacker with a read/write primitive on the kernel. Linux with secure boot will refuse to load unsigned kernel modules for example.

[–] hddsx@lemmy.ca 15 points 8 months ago (7 children)

Why’s that? I thought admin could override that

[–] henfredemars@infosec.pub 17 points 8 months ago (5 children)

You generally cannot load whatever you want into the kernel as admin on Windows.

You have to either disable secure boot to enable changing it via command prompt, or you have to boot into a special recovery mode first that verifies you have physical access to turn it off.

Linux with secure boot is similar. Root cannot patch the kernel (without a bug). The kernel lockdown feature is activated, which enforces code signing. You have to use your physical access to change the UEFI setting to disable secure boot first or use a MOK to enable signing your own modules in such a way the secure boot chain accepts them.

[–] hddsx@lemmy.ca 2 points 8 months ago (2 children)

Huh. I must be outdated. I didn’t know they got secure boot working. So what do you do when you need to update your kernel? Or does the fact that it comes from the package manager mean that it is allowed to update that?

[–] technohacker@programming.dev 4 points 8 months ago (1 children)

Generally yes. For many distros, the kernel signing key is with the distro maintainers and so the package comes with pre-signed kernel images. For distros like Arch and Gentoo, it's the user's responsibility to maintain the signing key and sign each updated kernel

[–] hddsx@lemmy.ca 1 points 8 months ago (1 children)

So why can’t root add new keys?

[–] technohacker@programming.dev 2 points 8 months ago

The firmware has to allow it, so if you've got physical access to the machine that's possible. Remote access root, on the other hand, can't tell the firmware to register new keys as long as it's configured correctly

[–] henfredemars@infosec.pub 4 points 8 months ago

The package manager doesn't have special permission. The new kernel you download is also signed for you and trusted by your system.

If it wasn't trusted, would the next time you boot the kernel won't load because the bootloader will refuse to load the unsigned code.

load more comments (2 replies)
load more comments (3 replies)
load more comments (3 replies)