セキュリティ・ミニキャンプ in 近畿 2017 専門講座に参加してきた

2月25日, 26日に開催されたセキュリティ・ミニキャンプ in 近畿 2017の専門講座に参加してきました。

セキュリティ・ミニキャンプ とは

趣旨

全国大会により多くの学生にチャレンジいただくため若年層を対象とし情報セキュリティ人材育成に関心の高い地域で地方大会を開催しています。 次回全国大会参加を目指している学生さんはぜひ応募して下さい。

ということらしいです。

イベント概要

今回のミニキャンプは1日目が一般講座、2日目が専門講座で2日に渡って開催されました。一般講座は申込みを忘れていて参加できなかったのでよくわかりませんが、専門講座は主にWebのセキュリティについて説明を受け、実際に試してみるといったワークショップ形式で行われました。

f:id:lightnet328:20170310101955j:plain

セキュリティ・ミニキャンプ in 近畿 2017(京都)

以前から、セキュリティ・ミニキャンプ in 北陸 2015セキュリティ・ミニキャンプ in 北陸 2016でセキュリティ・ミニキャンプを知っていたため、基本的にミニキャンプはこの2日間の構成になっていると思い込んでいたのですが一般講座が1日、専門講座が2日の3日間の構成になっているミニキャンプもあるみたいです。

一般講座

一般講座の前日に気が付きました。ミニキャンプ京都の専門講座の募集が開始されて「これは行くしか無い!」とすぐに申込んで張り切っていたのに・・・。

前日に専門講座用の名刺を3時まで作り込んでいてとても眠かったので、この日は名刺を受け取ってお昼にローストビーフ丼を食べて、ホテルで寝て、夜に起きて大阪のTwitternオタクと焼肉をして寝た。

ちなみにローストビーフ丼のお店は佰食屋 - 西院/ステーキ [食べログ]です。混んでるので早めか遅めに行くと良いと思う。

オタクなのに焼肉の写真撮るの忘れた。

名刺の件は即日受取が出来る京都のお店に救われた感じがある。 印刷の通販@グラフィック

専門講座

専門講座は会場が京都女子大学でした。よかったです。

スケージュール

開始時間 時間 内容
08:30 受付開始
09:00 180分 Webセキュリティ・はじめの一歩
12:00 60分 昼食休憩
13:00 180分 オンラインゲーム アタック&ディフェンス体験
16:00 30分 クロージング
16:30 終了

Webセキュリティ・はじめの一歩

まず、セキュリティの定義を考えるところから始まり、XSSCSRFSQL InjectionなどのWebの攻撃手法の概要や実例、対策を教わりました。CSRFの実例では有名な「はまちちゃん」(*1)が紹介されていたのですが、講師の方の「そもそも、皆さんmixiってご存知ですか?」という言葉は感慨深いものがありました。

一通りの説明を受けた後は脆弱性が存在するシンプルなWeb アプリケーションを参加者で攻撃しました。フォームからSQL インジェクションを試す時に' OR 'A' = 'A'と打って、何も表示されないことを確認したので「あれ〜ダメだな〜」と思っていたのですが、クエリの文字列にはダブルコーテーションが使われていて" OR 'A' = 'Aだと通るということが後の解説でわかって圧倒的な初心者を感じました。

攻撃体験の後は安全なアプリケーションのためにするべきことを開発者と品質保証の観点から語っていただきました。色々良いことを仰っていて、実際に運用されているコードやインフラの開発・保守に少し関わっている身としても共感させられることが多かったです。一番気に入った言葉が"エンジニアは「最後の砦」"という言葉です。エンジニアとしての活動に誇りと責任を持てそう。

*1: 大量の「はまちちゃん」を生み出したCSRFの脆弱性とは? - ITmedia エンタープライズ

お昼

12:00からは女子大生体験会ということで、みんなで会議室に集まってお弁当を食べました。食後は周りの人と名刺交換してお話をしました。

オンラインゲーム アタック&ディフェンス 体験

セキュリティ・キャンプ on Twitter: "アキュトラス中矢さんより 「オンラインゲーム アタック&ディフェンス体験」 #spcamp #seccamp https://t.co/uqZl0nXJBe" 午後からはクラウドホスティングされたWebSocket + CanvasのマルチユーザーなWeb ゲームの攻撃と防衛を体験しました。前日のお昼頃は寝ていたため、とても眠かったです。とはいえ、Webでリアルタイム性のあるゲームを体験するだけでも新鮮なのに、ゲームのJavaScriptを書き換えてチートをするのは中々出来る経験ではなかったため最後まで起きて、楽しみました。

WebSocketの通信内容の確認とJavaScriptの書き換えはChromeのDeveloper Toolsを使ったのですが、正直「そんなことまで出来るのか・・・」と驚きました。本当にDeveloper Tools優秀。

体験後はチート対策の現実的な問題について考え、"綺麗に"解決することの難しさを感じました。不正行為は開発時に全て把握することが困難なので、こういうところでは"運用でカバー"していくことが求められるんだろうと思います。

セキュリティとはあまり関係がないのですが、WebSocketとCanvasがWebの表現力を高めているのを感じました。最近、Webの進化がとても早いということを痛感するので、出来るだけ追いつくためにもこういうAPIも自分で使ってみたいと思います。

まとめ

セキュリティ初心者の僕でも楽しむことが出来ました。セキュリティ・ミニキャンプは全国大会の立ち位置にあるようなので(?)、今後セキュリティも勉強して全国大会に参加したいです(願望)。

最後になりますが、講師やチューター、参加者の方、多くの方にお世話になりました。ありがとうございました。