セキュリティ・キャンプ全国大会2016を終えて
西村 宗晃
サイバーセキュリティエンジニアリング部の西村です。
8月9日〜13日までの5日間、セキュリティ・キャンプ全国大会2016に講師として参加してきました。この記事ではセキュリティ・キャンプの概要と、私が担当した講義を紹介します。
セキュリティ・キャンプとは
セキュリティ・キャンプは、次代を担う情報セキュリティ人材の発掘・育成を目的とした官民連携の事業です。IPAと35社の協賛企業からなるセキュリティ・キャンプ実施協議会が主催し、経済産業省が共催しています。13回目の開催となる今年は、全国231名の応募の中から選考された51名の学生が参加しました。
セキュリティ・キャンプは数あるセキュリティ人材育成事業の中でも高度な技術を扱うことが特徴で、各技術領域の一線で活躍する技術者が講師を担当します。
私が担当した講義について
私は今年のキャンプで「次世代プラットフォームのセキュリティモデル考察」という4時間の講義を担当しました。講師は株式会社セキュアスカイ・テクノロジーのはせがわようすけさんと2人で務めました。
この講義では、Webの技術でネイティブアプリの開発を可能とするプラットフォームを題材とし、各プラットフォームが備えるセキュリティの仕組みを調べ、その上で安全なアプリを開発する方法を模索しました。
プラットフォームのセキュリティ
近年、ElectronやApache Cordovaなどの新しいアプリケーション・プラットフォームが登場し注目を集めています。
しかし、これらの多くはセキュリティ面が十分に考慮されておらず、アプリの作り方を少し間違えただけで深刻なセキュリティ問題を引き起こすこともありえます。
私もCordovaのセキュリティ不備を過去にいくつか見つけており、世界的に普及しているプラットフォームでも安全性が十分に評価されていないことに懸念を抱いてきました。こうした背景から、プラットフォームのセキュリティを評価できる人材を今よりも増やし、次代のアプリケーションの安全性を底上げしたいという思いがあり、今回の講義の実施に至りました。
講義の前半はElectronアプリのセキュリティモデルを考察
講義の前半は、Electronで開発した架空のSNSアプリケーションを用いて、Electronのセキュリティモデルを考察しました。
Electronは、WebアプリからNode.jsを呼び出すことで様々な機能を実現します。しかし、アプリケーションの脆弱性を通じてこの仕組みが悪用されると、ユーザーの端末で悪意のあるプログラムが実行される恐れが生じます。
開発者やユーザーに利便性をもたらす仕組みは、同時に悪用されると深刻な被害をもたらすことがあります。プラットフォームのセキュリティを評価する際は、利便性と安全性のバランスをいかに取るかが重要となります。講義の詳しい内容は、はせがわようすけさんの講義資料をご覧ください。
講義の後半はWebとアプリケーションの正しい連携の仕方を考察
今年1月、あるセキュリティベンダーの開発したパスワードマネージャーにおいて、Webページから任意のコマンドが実行される脆弱性が指摘されました。5月にも別のソフトウェアで同様の脆弱性が指摘されています。これらは、Webページからアプリケーションの機能を呼び出す際のアクセス制御不備によるものでした。
講義の後半は、このようにWebとアプリケーションの機能を連携させる際に生じうる脆弱性に着目し、その発生原因を考察しました。
講義では、参加者が実際に罠サイトを作成し、架空のパスワードマネージャーが自動的に入力したユーザーの認証情報を盗み出す演習を行い、脆弱性のメカニズムとその対策方法を学びました。こちらも、詳しい内容は私の講義資料をご覧ください。
セキュリティ・キャンプを終えて
セキュリティ・キャンプの講義を行う上で大事なことは、講義を終えた後も参加者が自らセキュリティを学ぼうとする「きっかけ」を作ることだと考えています。なぜなら、卒業後も参加者同士が交流を重ねて一緒に何かにチャレンジしたり、講義で学んだ技術の研究をより深めたりといった自らの活動を経て、未来のスペシャリストが育っていくと思うからです。
私も、卒業後に成長した参加者の皆さんとどこかで会えることを楽しみにしています。また、リクルートのサービスを安全なものとするため、もしいつか一緒に働くことができたなら、これほど嬉しいことはありません。