Ruby5をひたすら翻訳する日記

海外で働きたい欲が高まった海山はついに強硬手段に出た。自分だけのためにRuby5(http://ruby5.envylabs.com/)翻訳し続けます。おかしなところは、適宜指摘大歓迎です!><

Episode #234 - January 3rd, 2012

今回は
Gregg Pollack
Nathaniel Bibler
両氏による話。
翻訳(聞き取り+理解)に時間が掛り過ぎるので、1つのエピソードを複数エントリに分けます。

DoS on Hash

G: 12/28にRubyのバージョン1.8.7 patch level 352とそれ以前のすべてのバージョンで、Hashアルゴリズムを利用したDos攻撃の危険が発見されたんだ。
N: 確かに、沢山の人がRubyとかRails使ってるけど、
G: うーん… 確かにそうだけど、いい点だよ。


G: 見つかったバグは、RailsじゃなくてRubyの話で、.hashメソッドのことなんだ。HashをStringに変換するメソッドで、かなり多くのRubyオブジェクトにつかえるんだけど。
N: HashはRuby内でも参照に使ったりするからね。
G:そうだよ。 どうやらRubyはHashを作るのにstaticなやり方をしていて、インスタンスの為にRailsに 現在時刻を見て、自動で合わせて、結果を返していたんだ。 (RubyのHashテーブル利用の説明? よく分からなかった)


N: 確かにそれは良くないな…。 …えっ でもちょっと待って待って、あれ?だれが1.8.7使ってるの?みんな1.9.2にバージョン上げたよね?
G: うん。
N: なんでホントの事言ってくれなかったのwww ちなみに、その問題回避は簡単に出来る?
G: 一見無理なんだけど、HashはStringを元に作られているから、一意のHashを作成するような方法を使えば、多分まだ安全にはなるかも。(?)

まとめ
  • Ruby1.8.7のパッチレベル352以前のバージョンにおける、ハッシュテーブルを利用した攻撃の危険性の話
  • Ruby1.9.2に上げると安全。安心。

Ember.js for Rails 3.1

N: SproutCore 2.0がEmber.jsという名前に先月変更して、James Hartonが最近、sprout-coreというRailsのgemを、最新版を使うようにフォークしたんだ。
使うためには、3つのものを作る必要があって、基本的なプロパティやクライアントとサーバー間…(この辺りが聞き取れない) そして値を変更するとテンプレートが自動的に更新される仕組みなんだ。

この辺りが聞き取れない
N:
G:

N: 前に使うのを諦めた人も、最新版ではRails3.1でも使いやすいようになったから、使ってみるといいかも。