Linuxカーネル内にWebAssemblyランタイムを組み込んで爆速稼働

サムネイル
1 : 2023/01/25(水) 19:16:28.41 ID:qY2yFXz30


 
Linuxカーネル内にWebAssemblyランタイムを実装し、ネイティブバイナリよりも高速に実行可能にする「Kernel-WASM」登場  2023年1月25日

代表的なWebAssemblyランタイムの1つであるWasmerを開発しているWasmer社は、
Linuxカーネル内にWebAssemblyランタイムを実装することで、安全かつ通常のLinuxバイナリよりも高速に
WebAssemblyバイナリを実行可能にするオープンソースソフトウェア「Kernel-WASM」を公開しています。

同社はLinuxカーネル内にWebAssemblyランタイムを実装する理由として、性能と柔軟性が得られるとしています。
性能面では、WebAssemblyランタイムとはそもそも保護された仮想マシン内で命令セットを実行するものであるため、
仮想マシンであるWebAssemblyランタイムをOS上のユーザー空間内で実装するよりも、カーネル内でランタイムを実装する方が、
システムコール時のコンテキストスイッチやメモリ内容のコピーといったオーバーヘッドをなくせるとしています。

また、カーネル内での実装によって低レイヤでの制御ができることで、仮想メモリのような操作やパケットフィルタリングのような
カーネルでのイベント処理など、ユーザー空間で実行されるソフトウェアでは困難かもしくは処理が重くなってしまうような機能も
高速に実行可能なソフトウェアが実現できるとしています。

ただしKernel-WASMはまだ開発中で、WASIの実装は進行中。Linuxカーネルイベントのepollのサポートによる非同期ネットワーキングに対応、
ソフトウェア障害を分離する完全なサンドボックスによる実行環境などは実装されており、
ネイティブバイナリを上回る高速化、WebAssembly内でのeBPFの実装などはこれから実現とのことです。

またLinuxカーネル内でコードを実行することは非常に危険であるため、現時点でスタックオーバーフローのチェックや
メモリ境界のチェックなどのセキュリティ確保のための仕組みはあるものの、今後さらにセキュリティ面の強化もしていくとしています。

https://www.publickey1.jp/blog/23/linuxwebassemblykernel-wasm.html

2 : 2023/01/25(水) 19:17:12.15 ID:qY2yFXz30
将来のデスクトップアプリもこれで動くかも

ただしソース記事にもあるように非常にリスキーな面もある

3 : 2023/01/25(水) 19:24:33.26 ID:3QjRMkVQ0
泥のJavaVMは要らない子になるのか
Googleが頑張ってJavaVMもカーネルで動かすようにするのか
13 : 2023/01/25(水) 20:19:22.71 ID:v9Bk/hR+0
>>3
すでにもう、JavaVMなんかで動かしてるアプリは一部だよww
4 : 2023/01/25(水) 19:25:11.49 ID:xATSgSsP0
ELFより早いのかどういうこっちゃ
5 : 2023/01/25(水) 19:25:43.41 ID:pHq2lgEW0
WASIが作った
6 : 2023/01/25(水) 19:28:05.19 ID:5C6uT+lf0
Windows化やんワロス
8 : 2023/01/25(水) 19:43:53.71 ID:I4F/E/WAM
>>6
IEみたいなもん?
16 : 2023/01/25(水) 20:26:29.07 ID:1rVgHGzI0
>>8
どちらかって言うとIISじゃね?
サーバサイドならね
7 : 2023/01/25(水) 19:38:46.95 ID:ed6X8mSdp
web assemblyっていま流行ってるの?
なんかよくみるよな
9 : 2023/01/25(水) 19:53:42.51 ID:TH+uIYp10
echoサーバーで~10%高速化ってめっちゃ微妙に感じる…
echoサーバーなんてまともに書けば実行処理の90%以上はシステムコール呼出しだろうにそれくらいしか変わらないのは何か草
昔見たeBPFでmemcached作ってみたみたいなのは十倍以上高速化してた気がするけど
10 : 2023/01/25(水) 19:55:31.74 ID:4J95Tfx30
カーネル処理出来ても、手足が遅かったら一緒だろハゲ。
11 : 2023/01/25(水) 19:58:41.04 ID:a4034JkZd
webサイトをカーネルに取り込むってことやんけ
12 : 2023/01/25(水) 20:01:08.98 ID:cZ5sHY5t0
おれはウェブアセンブリ自体嫌いだから滅んで欲しいけど
15 : 2023/01/25(水) 20:24:04.13 ID:ZLD2luqzp
>>12
どうせ大半の開発者はwebassemblyを直接みることはほぼない
14 : 2023/01/25(水) 20:23:05.31 ID:ZLD2luqzp
この発想はなかった
コンテナ作ったところの偉いさんが
webassemblyあったら作らなかったというくらい
よくできてるらしい
つまりユーザー空間どころかも今まだとやばいとされた
カーネル寄りでも安全を確保できてしまうということか
17 : 2023/01/25(水) 21:24:49.22 ID:1enajxiVd
なにいってるかわからん俺はインストールして満足しちゃう初心者
18 : 2023/01/25(水) 21:37:54.84 ID:yGTediJA0
将来的にサーバーosだったりchrome osみたいなweb osの処理が捗るって認識でおk?
19 : 2023/01/26(木) 00:21:53.43 ID:KOjadyNr0
頭が混乱してきたわ…
20 : 2023/01/26(木) 00:25:16.52 ID:E+paguAH0
どの辺がwebなの?
21 : 2023/01/26(木) 00:30:49.78 ID:oijVlOb9a
kvmみたいなもんか
22 : 2023/01/26(木) 00:35:43.01 ID:PcwC4h40
どこの誰が書いたのかもわからんバイトコードがwebの彼方から飛んできて、お前の手元のPCやスマホのカーネル空間で逐次翻訳実行されます。
バイトコードのパッケージは暗号化され実行中のバイナリもユーザーには検証の手段すらありませんが、高速から信頼しろ

個人的には NO THANK YOUだなあ…まあ、ActiveXとかJAXAとか叩いていた連中は、同等かそれ以上の熱量をもって叩き潰しておくれよ。

23 : 2023/01/26(木) 00:46:38.23 ID:U8+bNL3x0
どうやって安全性が担保されてるのか調べてもよくわからないの…(^o^)
25 : 2023/01/26(木) 04:21:04.94 ID:ESpDpUeN0
不具合ついてサンドボックスを抜けたら直接カーネルに近いリソースへのアクセスを許す…!?
27 : 2023/01/26(木) 04:59:12.59 ID:LXgcSxTsp
>>25
MSのブラウザが採用してたactiveXのようなやりたい放題の
変なルート作らなきゃいいだけよ
今のブラウザだってプラグインは排除するもブラウザが
担保した安全なルートでホストOSとの連絡手段は用意されてるし
28 : 2023/01/26(木) 05:01:50.84 ID:ESpDpUeN0
エミュROMは特定ゲーム機用の開発済みイメージだから悪意の介在することが無いけど…
仮想マシン上で動かす何かがホストOSに意図せぬ干渉可能だった例は過去にあるしな
そんな感じで脆弱性つかれるとランタイム自身の権限乗っ取られかねない
29 : 2023/01/26(木) 05:05:35.91 ID:LXgcSxTsp
>>28
だからその仮想マシンを安全に作り込むだけでしょ
実際ブラウザでそうやってるんだし
31 : 2023/01/26(木) 06:23:39.80 ID:iYrXp8TUM
>>28
Wasmは自由に制限できる(むしろ標準がゼロで最小限の機能を許可)からこそ
今回のような用途にもブラウザ内での用途にも向いている
30 : 2023/01/26(木) 05:07:47.24 ID:ESpDpUeN0
安全にってのは破られる前提だぞ

コメント

タイトルとURLをコピーしました