2023/9/15 WebAssembly night #11の@RI5255 (https://twitter.com/RI5255) の発表資料です。
SeckHack365で取り組んでいるWASM Runtime x Microkernelという試み(https://github.com/RI5255/mavis) について紹介します。
自作WASMランタイムをKernelに改造する試み-WASM x Microkernelの可能性-WebAssembly night #11 9/15@RI5255
View Slide
仕組みを理解したい!!OTFって何? NTFSって何?Cコンパイラの仕組みは?USBドライバの仕組みは?自己紹介・低レイヤが好き・重度のフルスク病・CTFはpwnが好き@RI5255
WASM Runtime x Microkernel !!https://github.com/RI5255/mavis
Microkernelとは?userタスクスケジューラデバイスドライバファイルシステムシンプルで必要最低限のinterfacekernelkernelserver
WASM Runtime x Microkernelとは?userタスクスケジューラデバイスドライバファイルシステムシンプルで必要最低限のinterfaceWASM RuntimekernelWASM全てのserverがWASMバイナリなMicrokernel !!
概要fs・ファイルのopen・ファイルのread・ファイルのclosevm・タスクの生成・タスクの削除shell・コマンド実行WASM Runtime(Kernel)low level functionsWASMProgramMicrokernel
特徴・仮想メモリを持たない・すべてのプログラムがWASMバイナリ・すべてのプログラムがring0で動く・kernelそのものがWASM Runtime・メッセージパッシングの機構を提供・”OS”の機能は全てWASMバイナリとして実現する
Why?・仮想メモリが必要ないMicrokernelのボトルネックを解消しつつ、拡張性に優れたOSを作ることができる・プログラムが汎用的になる・全てをKernel空間で動かせる!!
Demo: “Hello World” on mavis
Demo: “Hello World!” on mavisshell fs“hello”OPEN_FILE_MSGOPEN_FILE_REPLY_MSG1shell fsREAD_FILE_DATA_MSGREAD_FILE_DATA_REPLY_MSG2shell vmSPAWN_TASK_MSGSPAWN_TASK_REPLY_MSG4 hellocreate_vm_taskshell fsCLOSE_FILE_MSGCLOSE_FILE_REPLY_MSG3hello vmEXIT_TASK_MSG5task_destroyshellDESTROY_TASK_MSG”Hello World!”
展望・ライブラリを使うぐらいの気軽さで、”OS”の機能を切り替えられる日が来るかも!?・分散システムへの応用!?・WASM Device Driver・Network Support