- 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
- 安全にってのは破られる前提だぞ
コメント