こんにちは、ソフトウェアエンジニアの中村 ( id:kozy4324 ) です。
2024年10月25日 (金) から 26日 (土) に、東京の有明セントラルタワーホール & カンファレンスで開催予定の Kaigi on Rails 2024 にて、「ActiveRecord SQLインジェクションクイズ (Rails 7.1.3.4)」というタイトルで登壇させていただくことになりました。
今回は、このテーマを選んだ背景や、登壇を通じて達成したいことについて、事前にお伝えしようと思います。
Rails アプリケーション開発におけるセキュアコーディング、できていますか?
これは自戒の念を込めた問いかけでもあります。
昨年末、私は Ruby on Rails を使った新規サービス開発プロジェクトにジョインしました。それを機に、Rails におけるセキュアコーディングを再確認したいと思い、情報収集や学習を続けてきました。
Web アプリケーションのセキュリティに関する体系的な知識・情報としては、IPA が公開している「安全なウェブサイトの作り方」や、書籍『体系的に学ぶ 安全なWebアプリケーションの作り方』が非常に参考になりました。
Rails にフォーカスした内容でいえば、Railsガイドの「Rails セキュリティガイド」は必読です。
しかし、こうした学習を進める中で、Rails のセキュアコーディングに関する体系的な情報は、まだ多く存在していないと感じました。世の中の Rails エンジニアはどのようにしてセキュアコーディングを身につけているのでしょうか?これから Rails を学ぶ人々は、どのようにしてこの重要なスキルを習得していくべきなのでしょうか?
さらに、過去の Kaigi on Rails の登壇タイトルを見ても、セキュアコーディングを題材にした発表は少ないように感じました。
そうした背景から、私が学んできた内容をまとめて発表することが、同じように興味を持って学んでいる方々にとって有益になるのではないかと考えました。また、それが自分自身の学習機会にもつながると感じ、プロポーザルを提出し、この発表の機会をいただけることになりました。
SQLインジェクションというテーマについて
SQLインジェクションは、IPAの「安全なウェブサイトの作り方」においても最初に取り上げられるような、セキュアコーディングにおいて基本的かつ重要な項目です。Rails ではいくつかのポイントを押さえることで対策できますが、その内部でどのように対策が施されているのかを掘り下げることで、興味深いトピックになると考えました。ターゲット層は Rails 初学者から中級者までを想定し、このテーマを選びました。
登壇を通じて達成したいこと
私はセキュリティのエキスパートではなく、Web セキュリティをこれからさらに学んでいきたいと考えているエンジニアの一人です。この登壇を通じて、Rails におけるセキュアコーディングについて、私自身も含めて皆さんと一緒に学んでいけたら嬉しいです。また、Rails 開発における SQLインジェクションに対する不安を少しでも払拭することができれば、幸いです。
おわりに
タイムテーブルも発表され、どちらのセッションを聴講しようか迷ってしまうものばかりで非常に楽しみですね。当日、お会いできることを楽しみにしております!