セキュリティキャンプ2013 Webセキュリティクラスに参加してきました

新幹線からお届けしております。僕は少々関東から遠いところに住んでいまして、新幹線を使っても5時間ほどかかってしまいます。で、こういう時間は、こういう文章を書くには最適だと思いまして、タイプライタでカタカタやっておりました。いま名古屋のへんです。
さて、セキュリティキャンプが終わり、心境的にもそろそろ落ち着いてきたので、自分がキャンプでなにをしたか、そしてそこから得られたモノ・コト、キャンプを通しての感想をまとめたいと思います。

事前学習

Webセキュリティクラスは、過去に自分が作ったものの脆弱性の洗い出し、配布された本である、めんどうくさいWebセキュリティを読む、XSS Challengeをやる、などのメニューでした。XSS Challengeをやってみて、実際に手を動かしてみても、なかなかできないXSS問題が多くてかなり手こずりましたが、なんとか進められました。また、自分が過去に作ったWebページの脆弱性を探してみると、意外とすぐにみつかったので、なにか良い策(Frameworkとか..?)がないかなぁと思った。XSSはなんでもできちゃうので怖い...


0日目

さて...いよいよ出発。一人でこんなに移動したことがないのでとても心配だった。
早速電車に乗って忘れ物が2,3個あることに気づいたが特に問題なかったのでそのままに...

そして新幹線で上京。夕方ごろ到着。
前泊組の方々と名刺交換。ぼっちじゃなくてよかった。チューターの方々とすれちがったりはしたけど、緊張してなかなかうまく挨拶できず、ちょっと残念だった。
前泊組、初対面の人が集まっての初の夕食。緊張したけどいろいろ話ができた。(学校のこととか研究のこととか、好きなコトとか)
初の夕飯はご飯とハンバーグと半熟たまごとスープでした。
たまごの使い道とかたまごの使い道とかたまごの使い道とかに困った。
ちょっとぎこちなかったけど、楽しい夕飯になりました。
コンビニツアーも行ってきました。スポーツドリンクを1L買ってきてちびちび飲んでました。


1日目

前泊組なのでみんなが駅で待ち合わせしてる中、Twitterでそれを眺める。かなしい。
Twitterで眺め続けて1時間半、みんなが到着。名刺交換会。いろいろな人と名刺交換してちょっとした話をしました。
名刺交換の後は、昼ごはん。最初だったので、クラスごとで適当に区切って同じテーブルに座ってご飯を食べる感じでした。はせがわ先生が隣で、ものすごく緊張しました。
それから、ついに開講式。セキュリティキャンプ2013が幕開けした。
セキュリティ基礎の講義の後の、特別講義。とても印象に残った。
まず、特別講義の最初は情報通信研究機構の方からの見える化の話(Daedalusとか、地獄のお花畑とか。かっこいい)
世界中から、ポートスキャンやDosなどのパケットが飛んできているのが可視化されてすごかった。Daedalusなど、以前テレビで見たことがあったので、その実物を見ることができてすごくテンションが上がった。SFの世界みたいで感動した。

次に、ハッカー検事の方からの話(悲ピー、〜ジャマイカ?、w、もこの時)
セキュリティと違法行為は常に隣り合わせだということを学んだ。危ない橋をわたったり足を踏み外したりしないようにしなければならないと再認識。


2日目

キャンプも2日目になり、 インロックした間違えた。
キャンプも2日目になり、クラスごとの専門の講義が開始。Webクラスは自己紹介からスタート。学年とかキャンプにむけた意気込みとか好きなブラウザとか。
1日中みっちり専門の講義がはいり、当初1日とちょっとを予定していた講義を半日で終わらせた。ものすごいスピードだった。
XSSの話、Webに起因する、たとえセキュリティだったとしても攻撃とみられたり裁判を起こされたり足元すべらせるとまずいよ、な話。Webだけあって、本番な環境しか表向きにはでてこないわけだし、その環境に対して、いくら 脆弱性を探してあげますよ、的な善意な気持ちをもってしてでも、サービスが停止しようものなら、まずいよねそれって話。結構黒くてグッサリきたものがあった気がする。<script>タグの挿入だけでサービスが停止するとかいう事例も過去にあったそうで、なおのこと注意が。SQLまわりは器物損壊になっちゃいそうだしやるべきでない...など。それから、Masato Kinugawaさんの脆弱性ハントの話とか。ブラウザの挙動に関しては、まず手を動かしてみて、実験する、ということを考えてみようと思った。


3日目

午前中は企業見学に行きました。僕はLACさんの見学に。Androidのアプリケーションに関するセキュリティ事情のプレゼンもあり、実際に遠隔操作のデモンストレーションなども見せていただき、Webブラウザ経由でAndroid端末が操作されていて、実際にやられると怖いなと思った。

それから、午後からは、脆弱性探し。 途中、他のチームとの間で、ソーシャルハッキングな一面もあって面白かった。
ただただ、他のチームに負けまいと、見つけた脆弱性をリストアップしていった。

夜は、BoF(Beginning Of Fileではありません)がありました。僕はCTFの見える化についての話し合いに参加しました。
CTFって、一般の人からみると、ただ、画面に向かってカタカタやって、で、時たまヨッシャ!とか言って・・・ってイメージで、それをどう、一般の人にわかりやすく、楽しんでもらうか?という感じの議題で話し合いをしました。
ただ、見せるといっても、どうしても専門的な用語などでてきてしまうので、なかなか難しいよなあと思った...、今後の課題として取っておこうかなと...

4日目

4日目となると、専門の授業もまとめに。Webセキュリティクラスは、3チームそれぞれで修正した架空SNSサービスそれぞれに対して攻撃を行った。
自分たちのチームは、結果として最下位だったが、他のチームの手法をみて、自分たちに何が足りなかったのかを考えた。何が足りなかったかというのは、単に技術力とかの話ではなく、「脆弱性を修正する」という目的に対しての進行方法とか、まとめ方とか、課題点をどうまとめるか、とかである。例えば、自分たちのチームでは、一人が、発見した脆弱性の一覧を持っていて、それを会話でシェアしていたが、他のチームではGithubのプライベートリポジトリを利用してissuesに脆弱性をみつけては提出していた。この方法だと、スマートで、情報共有も早くできて良いと思った。また、ソースもGitで管理ができるので平行してプログラムの修正が行うことができる。こんな、他のチームに学ばされるなんて、決して自宅学習では体験できないことだろうと思う。


CTF(4日目)

ッッダルッゥゥゥアアアアキツァアアアアアアアアアア↑↑↑↑↑↑↑↑↑↑↑CTF〜〜〜〜〜〜〜!!!!!!!!
CTF難しかった...
Web系の問題が予想以上に解けなくてかなしかった。(夕食までの成果ゼロ
夕食が終わってから方針考えてたんだけど、全く思いつかなかった。
後半開始後に、ヒントが追加されててそれをみるとすべてが繋がった(キラーン
やったぜ。
とりあえず、3問解いた(100, 200, 300)。とは言ったものの、これ以上の進展はなく、個人成績では600点のみしか獲得できず、自分の無力さを感じた。俺はWebセキュリティクラス受講生の到達目標として適切な実力を持っているのだろうか、と考えてみては、つらみに浸った感じだった。精進せねばならないと思った。
SQLまわりがかなりできなかったのでつらかった...


5日目

最終日はキャンプをまとめての各クラスの成果を発表した。Webセキュリティクラスは4日目にやった内容をグループごとに発表。Web以外のソフトウェア、ネットワーク、セキュアなシステムを作ろうクラスの発表を聞いていると、すごく高度なことしててすげえって思った。Webは好きだが、それ以外の低レイヤなこともやってみたい。自分たちのクラスは他のクラスから見てどのように見られていたのだろうか。僕が抱いた感情と同じように思われたならいいなあ。

次に最後の昼食。このメンツでこの場所でこの時に同じメシを喰うのはもう二度とないことだった。自分は楽しめたろうか、仲間はできただろうか。すこし不安あったが0日目のような緊張もほぐれ、他の参加者やチューターの方とたくさん話ができた気がする。

最後に閉講式。一人ひとり修了証が手渡される。まさか一言述べる機会があるとは思っていなかったので、その場で何を言おうか何を言おうかと迷った。そんな中Webセキュリティクラスは一言述べる際に笑いを取らねばならない伝統(?)を知り、余計言葉がでてこなくなってしまった。緊張しすぎて足がすくんだ。あの時、何と言ったかは正確には覚えていない。それから、CTF・グループワークの表彰。予想はしてたけどびっくりした。現実になればいいなあ。


キャンプを終えて

待ち遠しかったキャンプも終わり、今、こうやって何事もなく帰宅の途についている(京都ナウ)。
思い返せば、キャンプは長かったのか短かったのか今でもよくわからない。こうやって、みんなであつまって、それぞれの成果物を攻撃しあったり、講義を一緒に受けたり、と自宅で一人ポツンとコードを書くのとはまた違った、キャンプだからこそできることができたと思う。

セキュリティキャンプの絶好のチャンスをもらったので、しっかりモノにして、自分にとってプラスとなれるように、道を誤らないように、これから技術はもちろん、社会性などの観点でも自分を磨いていきたいと思った。

あと、キャンプでいろいろなものを頂きました。ありがとうございました(!!!


キャンプに参加してみたいけどなぁ...という人へ

とりあえず応募用紙を書きましょう!!!!!!!!!!
書かなければ何も始まりません!!!!!!!!!!!!!!

コメント

このブログの人気の投稿

インターネット共有のための sysctl での設定に躓いた