こんにちは、セキュリティチーム所属の小竹(aka tkmru)です。 最近は内製CSPMの運用・開発がメインの仕事になりつつあります。 5/11-13にRubyKaigiに参加してきました。本記事はそのレポートです。
RubyKaigiとは
RubyKaigiは、Rubyコミュニティ主催のRubyに関する国際会議で、毎年開催されています。 今年は長野県の松本での開催でした。 弊社は今年度のRubyKaigiでは、Lanyard Sponsor として、参加者全員が首に掛けるネックストラップを準備させていただきました。
私自身もケース部分に穴を開けストラップ部分と繋げるお仕事をGW前に少し手伝いました。 作成に携わったアカツキゲームスのロゴが入ったネックストラップを会場で皆さんが首から下げているのを見るのは感慨深かったです。
駅と会場の様子
松本駅に着いたら垂れ幕があって歓迎ムードを感じられてよかったです。
会場はコンサートホールのようで、椅子もふかふかで感動しました。 また、メインのスクリーン以外にサブのスクリーンが設けられていて、そこにはチャットや英語の機械翻訳された字幕が流れるようになっていてテックカンファレンスらしい工夫がされていました。 スポンサーブースが30箇所もあり、カンファレンスの規模の大きさにも感動しました。 以下はスポンサーブースでいただいたノベルティの写真です。どれも美味しかったです!!
印象に残った発表
聴講した中で印象に残った発表を2つ紹介します。
Eliminating ReDoS with Ruby 3.2
「Eliminating ReDoS with Ruby 3.2」は、Takashi Yoneuchiさんによる発表です。ReDoSはパフォーマンスが悪い正規表現を入力されると処理を行うエンジンによっては処理に時間がかかり、DoSになるという脆弱性です。Ruby3.2で正規表現エンジンのパフォーマンス改善とタイムアウト機能の導入が行われた旨の紹介が行われました。 言語開発者側が対策のための機能を用意してくれるというのはとても良い試みだなと思いました。
ReDoS自体の解説のパートでは、CopilotがReDoSに脆弱なコードを生成するデモや実在するCVEの紹介を交えて解説が行われ、とてもわかりやすかったです。 今後、バグバウンティの世界では、Copilotが脆弱なコードを生成しやすいものを探していくのが流行っていくのかなと感じました。
Ruby JIT Hacking Guide
「Ruby JIT Hacking Guide」は、Takashi Kokubunさんによる発表です。 Ruby内部で使用されているJITコンパイラの最適化手法や開発方法に関する発表でした。 JITコンパイラを開発するための機能がRubyには用意されており、カスタムしたJITコンパイラを使用する方法や 中間言語を出力する方法について紹介されました。全然知らない世界だったので興味深かったです。 RubyのコードがJITによって機械語に変換されていく様子を学べて面白かったです。
JITコンパイラを作るチュートリアルも用意されているので興味のある方はやってみてください。
まとめ
講演が面白いだけでなく、会場の雰囲気もよく、参加者に配られるノベルティ(Tシャツ、七味、お箸)も豪華ですごく楽しめました。 会場周辺の飲食店や美術館などで使えるクーポンが配られ、地域から歓迎されている雰囲気を味わえたのもよかったです。 来年は沖縄で開催されるとのことなのでぜひ来年も行きたいです!!