(m)ruby でシステムコールをハイジャックする #RubyKaigi #RubyKaigiA

Hijacking syscalls with (m)ruby @franckverrot http://rubykaigi.org/2016/presentations/franckverrot.html "mruby's unique packaging strategy gives developers the possibility to inject Ruby code in any program, written in any language. 続きを読む
1
黒曜@Leaner Technologies @kokuyouwind

gem installはhijackできてinsecureとか組み込みのgemコマンドは簡単にhijackできるとかの話が書いてあるけど、英語がぜんぜん聞き取れなかった。多分gem layerでのhijackはうまくいかないって話か #rubykaigi #rubykaigiA

2016-09-10 15:43:12
Uchio Kondo🍙 @udzura

#rubykaigiA なるほどそういうコードを書けば

2016-09-10 15:44:14
黒曜@Leaner Technologies @kokuyouwind

libraryでのhijackもrecompileが必要で厳しい、みたいな話をしてた気がする(英語力低いので合ってるか怪しい #rubykaigi #rubykaigiA

2016-09-10 15:44:41
黒曜@Leaner Technologies @kokuyouwind

なんでmrubyを使うか? Rubyが好きだから。高レベルの抽象化がされてるから。いろんな外部言語に組み込めるから。 #rubykaigi #rubykaigiA

2016-09-10 15:46:34
⇔ Satoshi Kojima ⇔ @skoji

A3. FakeFS/Timecopみたいなものをより良いやり方で提供できる。MonkeyPatchするよりも良い #rubykaigi #rubykaigiA

2016-09-10 15:46:54
黒曜@Leaner Technologies @kokuyouwind

mrubyでいろんな環境で使えるembeddableなものをbuildできる。 #rubykaigi #rubykaigiA

2016-09-10 15:47:58
Uchio Kondo🍙 @udzura

ホワイユージング、分かりしかない… #rubykaigiA

2016-09-10 15:48:03
Uchio Kondo🍙 @udzura

明日にでも使いたい、というかうまく使えば一般ユーザでhaconiwaのテストできるんじゃないかな? #rubykaigiA

2016-09-10 15:49:34
黒曜@Leaner Technologies @kokuyouwind

Performance。まだ実験段階。100回ループしてfileにtouchするようなもの。1VMだとbareに比べて20倍ほど遅い。1example1VMにすると2倍程度まで軽減される #rubykaigi #rubykaigiA

2016-09-10 15:51:34
Uchio Kondo🍙 @udzura

これライブラリコールも置き換えれるよな #rubykaigiA

2016-09-10 15:52:25
黒曜@Leaner Technologies @kokuyouwind

まとめ。System Callの置き換えは興味深いが技巧的。Kernelレベルでmrubyを実行して拡張できるし比較的簡単だが、fragileなところもある。mrubyは軽量で埋め込みしやすくて良い。 #rubykaigi #rubykaigiA

2016-09-10 15:53:42
tasuten @tasuten

はやい、もう終わった… #rubykaigia

2016-09-10 15:53:50
⇔ Satoshi Kojima ⇔ @skoji

早い終わってしまった。終わった後スタッフが出てこないの落ち着かないナリ #rubykaigia

2016-09-10 15:54:46
鍵っ子の(KOH||なんちゃん) @mnaoki72

mrubyでやると、OSのシステムコールがmruby側からそのままのシンボル名で呼び出せるので、素のrubyよりもいい感じ みたいな話をしてて、なるほどなあと思いました。 #rubykaigiA

2016-09-10 15:56:10
黒曜@Leaner Technologies @kokuyouwind

とりあえずmrubyでsystem callをwrapして拡張したりfakeしたりできるよ、それをいろんな環境でライブラリとして読み込んで使えるよ、という話だったような気がする。 #rubykaigi #rubykaigiA

2016-09-10 15:57:36
gihyoreport @gihyoreport

Franck Verrotさん @franckverrot による講演「Hijacking syscalls with (m)ruby」 #rubykaigi #rubykaigia pic.twitter.com/a2o5068vrt

2016-09-10 15:57:57
拡大
拡大
黒曜@Leaner Technologies @kokuyouwind

発表短い気がしたけど、実際16:10まで予定なのにもう終わってるから短かったんだな。司会不在も相まって謎の空白時間が生まれている #rubykaigi #rubykaigiA

2016-09-10 15:59:16