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

gnovm: add syscall filtering to ensure no Virtual Machine escapes from exploits and vulnerabilities #3613

Open
odeke-em opened this issue Jan 26, 2025 · 2 comments
Labels
security Security-sensitive issue 🌱 feature New update to Gno

Comments

@odeke-em
Copy link
Contributor

Description

For the promises and security guarantees of a smart contracting language and platform, we need to ensure that if we promise that network calls or filesystem manipulation calls etc cannot be made by a call within the VM that we actually restrict related syscalls.

The Linux kernel provides “seccomp” for which there are Go bindings https://pkg.go.dev/github.com/seccomp/libseccomp-golang which we can use to restrict such calls and then log such attempts too and then increase security.

Firstly we should figure out what abilities that we want the gnovm to have and exclude everything else and build on what needs to be permitted.

@kristovatlas
Copy link
Contributor

Thanks, this is a good suggestion. I looked into a manually created list of "dangerous" functions in this issue: #3579 (comment)

But a sandbox approach would be superior.

@kristovatlas kristovatlas added 🌱 feature New update to Gno security Security-sensitive issue labels Jan 27, 2025
@kristovatlas
Copy link
Contributor

@Kouteki this should probably get backlogged until after mainnet beta launch

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
security Security-sensitive issue 🌱 feature New update to Gno
Projects
Status: Triage
Development

No branches or pull requests

2 participants