Closed3

hyperlight-wasm が何で嬉しいのかに関するメモ

tanishikingtanishiking

https://zenn.dev/koduki/articles/9f86d03cd703c4

Linuxコンテナは、ホストのカーネルを共有しつつそのカーネルが提供する機能を組み合わせて、コンテナごとにユーザーランドを隔離している

Linuxコンテナの仕組みは https://www.youtube.com/watch?v=sJXajd5NUSAhttps://www.youtube.com/watch?v=sK5i-N34im8 わかりやすい

Wasm/WASI はファイルシステムへのアクセスへの制限や、system interface へのアクセスが WASI によって行われるなどの強い制限があるという意味で、Linuxコンテナが提供する隔離と同等レベルのものが、(ユーザーランド不要で)より軽量に提供できるという。

tanishikingtanishiking

Wasm で軽量かつ安全にリソースの隔離ができたね、めでたしめでたし、という単純な話ではなくて

Linux container の container escape みたいに、コンテナの要素技術の脆弱性をついてホスト環境にアクセスできる可能性があるのでは? それに対する解として hyperlight, hyperlight-wasm ってやつがあって

While Wasm does provide a provably safe virtualization technology, it’s only “safe” if the engine we use to execute Wasm is always bug-free (it’s not). Since we usually can’t guarantee any software is bug-free (this is why we work to improve our software, software construction methods, and more!), we don’t want to rely only on a Wasm VM to provide the security boundaries we need, so we add another layer of a different type. This new layer is a hypervisor-based VM.
https://arschles.com/blog/hyperlight-overview-1/

で、hyperlight-wasm ってのは hyperlight によって構築されるVM上で Wasm workload を動かすものらしい。これにより container escape (Wasm VM escape?) されてもVMによってホストカーネルと隔離されてて安全らしい。
https://opensource.microsoft.com/blog/2025/03/26/hyperlight-wasm-fast-secure-and-os-free/

firecracker とか他のVMM + wasm でも良くない??? hyperlightが既存のVMMと違うのは以下とのこと。だから超軽量なのか firecracker

hyperlight では kernel やネットワーク、ファイルシステムなど他の一般的な VMM が持っている機能を省き、Sandbox 環境上でアプリケーションコードを実行するために必要な最小限のみの機能を提供することで類似の VMM と比較して非常に低いレイテンシや起動時間を実現している点が特徴的になっています。
https://zenn.dev/zenogawa/articles/hyperlight-wasm

firecracker だと 125ms(ほんまか?) とからしいこと考えるとだいぶ早い?

https://firecracker-microvm.github.io/

tanishikingtanishiking

こういうコンテナ技術によるユーザーランドの隔離だけだと不安なので、やっぱり軽量なVMでさらなる隔離しましょうっていうの kata-container ってやつじゃん (上のzennのブログにも書いているが)

https://stephane-beuret.medium.com/how-to-simply-demonstrate-the-potential-of-kata-containers-25616f8fc9b7

ただ kata-container + firecracker とかだと起動時間が遅い:

[Comparative Performance Study of Lightweight Hypervisors Used in Container Environment - Tohoku University https://tohoku.elsevierpure.com/en/publications/comparative-performance-study-of-lightweight-hypervisors-used-in-] によると kata-firecracker とかでも1秒かかってるもんね。

なので hyperlight-wasm だと hyperlight による起動時間 (1ms程度) + wasm vmの起動 (microseconds 単位) で済む。それでもかなり早いね

このスクラップは3ヶ月前にクローズされました