WASM Nanoprocess

Creator
Creator
Seonglae ChoSeonglae Cho
Created
Created
2020 Sep 6 5:27
Editor
Edited
Edited
2022 Apr 8 18:0
Refs
Refs
wasm은 신뢰할 수 없는 코드의 실행을 더 안전하게 실행할 수 있도록 격리된 보안 모델인 "nanoprocess"를 채택
wasm 모듈은 기본적으로 샌드박스되어 있으며, API나 시스템 콜에 접근할 수 없다. 외부와 인터렉션을 위해선 명시적 함수 또는 syscall을 제공해야 한다
 

Memory Model

일반적인 컴파일 바이너리와 다르게, wasm 모듈은 프로세스 내의 모든 메모리에 접근하지 못하며, 스코프 내의 변수를 통해서만 접근이 가능하도록 설계된 메모리 격리 모델을 갖고 있다
 
 

Interface Types

모듈 간 데이터 공유는 함수 호출을 통한 값의 전달을 통해 이뤄진다
하지만 wasm은 numeric 원시 데이터 타입만 존재하며
한계성을 해결하기 위한 interface type 명세가 제안되었으며 이를 통해 모듈은 더 복잡한 타입(strings, sequences, records, variants 등)을 사용할 수 있다
 
 
 
 

Recommendations