Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kernel security features #448

Open
1 of 9 tasks
p4zuu opened this issue Aug 28, 2024 · 9 comments
Open
1 of 9 tasks

Kernel security features #448

p4zuu opened this issue Aug 28, 2024 · 9 comments

Comments

@p4zuu
Copy link
Collaborator

p4zuu commented Aug 28, 2024

I think we can start tracking down the security features we could add to the COCONUT kernel to improve its security:

This list aims to be as complete as possible, so please comment or reach me if you want to add or modify elements from the list, or would like to assign yourself to a task :)

@Freax13
Copy link
Contributor

Freax13 commented Aug 28, 2024

Shadow stacks :)

@00xc
Copy link
Member

00xc commented Aug 28, 2024

We could look into LLVM's KCFI.

Also we could perhaps consider a KPTI-like mechanism depending on our threat model regarding userspace.

@Freax13
Copy link
Contributor

Freax13 commented Aug 28, 2024

Rust has (unstable) support for KASAN.

@p4zuu
Copy link
Collaborator Author

p4zuu commented Aug 28, 2024

Rust has (unstable) support for KASAN.

KASAN would be very useful in testing env indeed, I'll track it here too. @00xc already had a look into KASAN but struggled a bit with the linker as far as I remember. In any cases, we would still have to write the KASAN handlers ourselves, right?

@Freax13
Copy link
Contributor

Freax13 commented Aug 28, 2024

I have a working implementation of KASAN in mushroom.

In any cases, we would still have to write the KASAN handlers ourselves, right?

Yes, there's an interface that has to implemented by the kernel.

@p4zuu
Copy link
Collaborator Author

p4zuu commented Aug 28, 2024

I have a working implementation of KASAN in mushroom.

Nice!

@00xc
Copy link
Member

00xc commented Aug 28, 2024

Other than the linking issues I had some boot hangs. I managed to get a working build by disabling stack instrumentation. I did not start the actual implementation though.

I'm not sure if I can recover the changes required but it was mostly defining the required symbols and adding some flags to the build command.

@Freax13
Copy link
Contributor

Freax13 commented Aug 30, 2024

We could extend our elf loader to support RELRO.

@Freax13
Copy link
Contributor

Freax13 commented Aug 30, 2024

I'd like to take a stab at shadow stacks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants