-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
b4150f7
commit bff7de4
Showing
3 changed files
with
34 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
+++ | ||
title = "NatiSand: Native Code Sandboxing for JavaScript Runtimes" | ||
date = "2023-10-16" | ||
aliases = ["RAID","ACM","WebAssembly","Landlock LSM", | ||
"eBPF", "sandboxing", "Deno", "Cage4Deno", "GLACIATION", "JavaScript"] | ||
[ author ] | ||
name = "Gianluca Oldani" | ||
+++ | ||
This work takes into consideration modern runtimes that render JavaScript code | ||
in a secure and isolated environment, | ||
but when they execute binary programs and shared libraries, no isolation | ||
guarantees are provided. This is an important limitation, and it affects many | ||
popular runtimes including Node.js, Deno, and Bun. | ||
|
||
In this paper we propose NatiSand, a component for JavaScript runtimes that | ||
leverages Landlock, eBPF, and Seccomp to control the filesystem, Inter-Process | ||
Communication (IPC), and network resources available to binary programs and | ||
shared libraries. NatiSand does not require changes to the application code and | ||
offers to the user an easy interface. To demonstrate the effectiveness and | ||
efficiency of our approach we implemented NatiSand and integrated it into Deno, | ||
a modern, security-oriented JavaScript runtime. We reproduced a number of | ||
vulnerabilities affecting third-party code, showing how they are mitigated by | ||
NatiSand. We also conducted an extensive experimental evaluation to assess the | ||
performance, proving that our approach is competitive with state of the art code | ||
sandboxing solutions. The implementation is available open source. | ||
|
||
##### Authors: | ||
Marco Abbadini, Dario Facchinetti, Gianluca Oldani, Matthew Rossi, Stefano Paraboschi | ||
|
||
##### The Paper has been presented at: <a href="https://raid2023.org/welcome.html" target="_blank">RAID 2023</a> | ||
|
||
##### <a href="https://dl.acm.org/doi/10.1145/3607199.3607233" target="_blank">Link to paper</a> |