つけじょにーのすぱげていコード

主に、競技プログラミング、セキュリティのお勉強の際に書いたすぱげていコードを書き込みます

セキュリティキャンプ全国大会 2016 参加記

8/9 ~ 8/13に行われたセキュリティキャンプ2016に参加してきました。
思い出しながら、書いていこうと思います。

講義の内容は各々異なります。
僕が受講した講義は以下のとおり

        • -

1-A HTTPプロキシ発展
2-B 謎マシンでNetBSDのクロス開発体験
3-A Webアプリケーションの脆弱性の評価と発見
4-B ロボットに使用できるミドルウェアとハードウェア制御
5-C サーバに対する攻撃とその影響度を調べてディスカッションする講義
6・7-E インフラセキュリティブートキャンプ

        • -

・1日目

当日まで

セキュキャン前日まで、全然参加者の方々と絡めていなくて、とてもつらかったです。

「自分雑魚だし、皆さんと仲良くなれるかな・・・」
「雑魚過ぎてつかえないポーイになりそうで怖い・・・」
と考えてました。

ですが、その旨をツイットしたら、参加者の方々が励ましてくれました・・・

圧倒的感謝・・・!
f:id:tukejonny:20160815025850j:plain

当日

セキュリティ基礎

セキュキャン応募用紙提出フォームでの安全性について、各班で話し合う感じでした
ここで班のメンバーと話し合えたので、オリエンテーション的な意味も含めて良かったです!

ZENIGATAになりたくて

INTERPOLで活躍されている福森さんからお話を聞かせていただきました。
普段座っている時間が長いし、エコノミー症候群には気をつけねばと思う一方で、それほどまでに技術に対して情熱を注げる人でありたいなとも思いました。
そして、技術とは何か。人を支える技術を作っていくことが大切で、個人プレイでやっていてはダメという言葉も胸に響きました。

サイバー犯罪の実態とこれに対処するための取組

普段、情報セキュリティを勉強するとなると攻撃者視点、防御側視点に限定することが多かったのですが、警察から見たサイバー犯罪ということについて知れて、大変良かったです。
また、学んだ技術を正しく利用していくために、「どのようなことを遵守しなければならないか」ということについても知ることができました。
終始、過激な発言に笑いが絶えませんでしたw

グループワーク

未来、倫理、小規模企業におけるセキュリティ対策、回避の4テーマのうち、班ごとに1テーマ選択し、講義やヒアリングを通して学んだ内容をもとに最終日発表するという一連の流れの説明を受けました。
チームとして協力しながら取り組むの楽しい!
途中、チーム名を決めるのですが、なかなか良さげなのが思いつかず、wikipediaのrandom articleで色々見てみると、最初は有名な方のお名前みたいな面白くない(失礼)ものが出てきたのですが、唐突にミルモでポン!という中々攻めているチーム名をゲットできました。
正直私はその文字列を見てもピンとこなかったのですが、画像検索してみると、青い帽子かぶった妖精・・・・のような何かが出てきて、「あ!こいつ出てるアニメあったなぁ!」と思い出すことができました。

・2日目

講義

1-A: HTTPプロキシ発展

ローカルプロキシにはFiddlerやBurpなどがありますが、僕はBurpが好きです。
最初におさらいを行い、早速手を動かします。
みんな、Javaみを感じてオラクります。
JavaでBurp Extenderを書いてみよう!という内容で、書いた後、jarファイルにエクスポートし、それをBurpで指定してロード、使ってみるという流れです。
最後に、スマホにつなげて、スマホアプリの通信をうまく改変し、以下のようなことを行いました。
・高額商品を買えないのに買う
・関係がない人にメールを飛ばす

実際に手を動かしながら、同じテーブルの参加者の方々と協力し合いながら(ほぼ僕が聞きに行っていただけでしたが・・・)やっていくのが楽しかったです!

2-B: 謎マシンでNetBSDのクロス開発体験

事前に面白そうなマシンとかCFカードあったら持ってきてと連絡頂いていたのですが、特に何も持っていけなくて本当ごめんなさい・・・
講師の蛯原さんがたくさんマシンを持ってきてくださって、実際にデモしていただきました。
マシンって結構幅広く見ることができて、どれもコンピュータなんだな・・・と改めて実感することができました。
また、RPIにNetBSDを積み、mikutterを動かすということもしました。
ですが、別マシンでコンパイルしておいたカーネルを使おうとしたらうまく動かなくなってしまい、最後まで解決しませんでした・・・
講師、チューターの方にHelp me!しまくりながらやっていました・・・

CTF

障害復旧まで

CTF開始直後、アクセスできないなどの障害が発生していることが発覚し、序盤数十分は競技開始できませんでした。
ついこの間、比べ物にならないくらい小規模ではありますが、学内のCTF運営をした際も、一部不具合があって当日に修正したり、問題を当日追加したり・・・というようなことがありました。

開催

無事に開催されましたが、「Web問解けない・・・つらい」って感じになってました。
結果は5位。
結局チームに貢献することができず、申し訳ないばかりです・・・
より精進していくことを誓い、今後もより一層頑張るぞい!と思いました。

・3日目

この日は講義が3つあり、他の日に比べても講義終わりにはガッツリ疲れていたような気がします(笑)。ですが、その分だけ濃密で、より多くの参加者の方々と交流できたような気がします。

講義

3-A: Webアプリケーションの脆弱性の評価と発見

事前課題で実際に攻撃を行うようなことを行っていたのですが、その際に実際に攻撃ができたことがすごく嬉しくって、めちゃくちゃ楽しかったです(曖昧でごめんなさい、公開できないこともあるので・・・)。
講義は2パートに分かれます。
・攻撃
・評価

まずは攻撃から。
ペイロードをどこに注入すれば良いか探す際、ページのどこに着眼すれば良いかということについてスライドを見て学び、講義参加者で使用出来るタグ・属性・属性値、使用できないタグ・属性・属性値を洗い出していきました。エラーが起きるところまでは行っていて、少しとっかかりが見つかれば・・・!というところで時間が切れてしまいました・・・

次に評価。
CVSSという評価指標があり、これを計算するツールがインターネット上で公開されています。
幾つか脆弱性報告の例をあげて、実際にそのツールを用いて評価してみるということをやってみました。
僕はSlackのボットで脆弱性報告を毎日投稿するものを動かしているのですが、そのCVSSの指標の知見を深めることができたと同時に、脆弱性報告を自分が報告するとしたら、こんな感じに評価されるんだなということを知ることができました。

4-B: ロボットに使用出来るミドルウェアとハードウェア制御

この講義の事前課題が出ていなくて、始まるまで「僕、レベルすごい低いんだけど、講義についていけるのか・・・」とガクガクブルブルしていました。
ハードウェアの基礎のお話から始まったのですが、雑魚い自分は講師、チューターの方にHelp me!しまくってなんとか作れた・・・という感じでした。
電子回路のお話がメインでした。
普段触れていないこともあり、勉強になることがたくさんありました・・・

5-C: サーバに対する攻撃とその影響度を調べてディスカッションする講義

事前課題で攻撃されたサーバーのログ等を調査し、その結果を発表できるようにしておくということをしました。
当日は発表を行い、最後に答え合わせを行うというような形式でした。
他の方の発表を聞いて、自分のスライドの如何にまとまっていないことか・・・
「これじゃいかん」と危機感を持つことができました。
他の方の発表を聞いて、発表形式が異なっていたり、着眼点が異なっていたりして、かなり多くの知見を得ることができました。

ラックの川口さんからイチゴ大福をいただきました。
美味しかった!

f:id:tukejonny:20160815030016j:plain

グループワーク

この日は1時間しかなかったため、スライドのざっくりとしたアウトラインを仕上げるところまでで力つきました・・・

・4日目

講義

6・7-E インフラセキュリティブートキャンプ

大まかな流れとしては、AWSインスタンス立てて、SSHでアクセス(ここで詰まる)、docker-composeして動作確認、slack-echo-commandを使ってslackに投稿という感じでした。
AWSはほとんど利用したことがなく、詰まってしまい、また関係ないところで(Git)インシデントを起こしてしまい、のむけんさんに大変お世話になりました。本当ごめんなさい。二度とこんなインシデントは起こさないと強く思いました。
障害にいくつも遭遇したのですが、それによってトラブルシューティング力が少し向上したと思います
同じチームの方と協力(ここでも僕がメンバーに聞きまくってるだけですが・・・)してやれたことがすごく良かったです!

グループワーク

さて、最後のグループワークです。
それと同時に最後のヒアリングチャンスとなったため、急いで聞きに行きました。
スライドも書き進め、なんとか形になってきました・・・!

グループワーク(延長)

ちゃんと23:00には寝ましたよ?本・・・当です!!
メンバーの部屋に凸り、技術談義に花を咲かせながらもなんとかスライドを仕上げました!
マジで楽しかった!!

・5日目

グループワークの発表

CTFは全てを救う


pptxで編集したものをLibre Officeで開いたために、文字が崩れてしまっていました・・・(気合で読んでください)

技術書争奪戦

超豪華なイベント!
技術書を無料で頂けるという・・・超豪華イベントです!(2回目
ランダムに班の番号が呼ばれ、その順番で書籍を取っていきます。
書籍を提供していただいた皆様、本当にありがとうございます!
f:id:tukejonny:20160815122226j:plain

最後に

今回キャンプに参加させていただけたことで、今まであまり触れてこなかったレイヤのきっかけを得ることが出来たし、縦横のつながりを作ることもできたし、刺激をたくさん受けることが出来ました。

僕が重要だと考えていることの一つに「閉じた世界にいない」ということがあるのですが、こうしてキャンプに参加することで、自分がいかに未熟かを思い知ることができました。キャンプすごく濃密で、参加者に限らず、講師、チューターの方々からも熱気をもらうことができます。

僕は実力は全然ですが、コンピュータの仕組みを知ることが好きだし、作るのが好きだと思っています。情報セキュリティの勉強を始めてから、こう思えるようになったのですが、それも刺激あってこそのものでした。

セキュキャンのおかげでまちがいなく、最高の夏になった!

セキュリティキャンプは22歳までという制限があります。
かくいう私は22歳でギリギリで参加できた身です。
とりあえず、応募してみてはどうでしょうか。

僕は実力が無い中、気持ちでギリギリセキュキャンに参加できたと思います。
周りの参加者の方々は、自分よりも全然レベルの高い人たちばかり。だからこそ、たくさん刺激を受けられたし、今後圧倒的成長していける!と感じています。

得られる可能性のあるチャンスなら掴んでみようとトライしてみるべきです!
実力が全然ですが、来年はチューターに応募したいなと考えています。
圧倒的成長するために、がんばるぞい!

急ピッチで書いたので、もしかしたらまた変更するかも。