Skip to content

PKU-ASAL/PKUWA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PKUWA


PKUWA(Protection Key in Userspace for WebAssembly) is a framework to provide linear memory protection for WebAssembly. The core part of PKUWA is the Domain Isolated Linear Memory (DILM) model that divides the linear memory into different domains and allows each WebAssembly function to access the memory in only one domain. Thus, by putting different functions into different domains, DILM can achieve memory isolation and prevent memory-related vulnerabilities in WebAssembly.

Getting Started


These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites


We conducted the experiments in a Proxmox virtual machine with 8-core vCPU, 16GB memory, and Ubuntu 18.04 LTS with Linux kernel 4.15.

Installation


  1. Clone the PKUWA GitHub repository to your local machine.
  2. Install required dependencies by running the following command:
    sudo apt update && sudo apt install -y make build-essential bison clang linux-tools-common libssl-dev

Run

PKUWA can be compiled with the below commands.

cd wasmtime
cargo build --release

To ensure everything woks, run examples:

cd examples/demo
../../wasmtime/target/release/wasmtime demo.wat

or

cd examples/democ
../../wasmtime/target/release/wasmtime main.wat

License

This project is licensed under the MIT License.

Acknowledgements

We would like to thank the anonymous reviewers for their valuable feedback and suggestions.

Contact

For questions, please feel free to reach out via email at [email protected].

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published