blog.sorah.jp

セキュリティ&プログラミングキャンプ2011に行ってきました #spcamp

行ってきました.言語組__生徒__として.

1日目

  • 5:45am起床 - 久々にこんなに早く起床した気がする.
  • 6:18am出発 - 駅へ
  • 6:48am 宇都宮駅発 - 東北新幹線
  • 7:44am 東京駅着
  • 7:50am @Glass_saga, @pi8027と合流
  • 8:15amまで - だらだらインターネットする
  • 8:15am - 新幹線が__あと5分__ということに気づく
  • 8:18am - 乗り場間違える
  • 8:19:45am - 乗車
  • 8:20am - 東海道新幹線発車
  • 新幹線の中で汗だく,わけがわからないよ
  • pi, glassとXmonadの話をしたりして2時間半経過
  • glassはここでthinkpadのACアダプタを家に忘れたことに気づく

P8100701

P8100697

その時の今ココリプレイ

P8100698

  • 10:56am - 新大阪駅着
  • itochanと合流し,コスモスクエアに一斉移動
  • JR新大阪駅から大阪市営地下鉄まで遠い
  • 11:30am - 正規の集合時間は突破しましたが,まだ中央線です
  • 11:40am - コスモスクエア駅着
  • 11:56am - コスモスクエア国際交流センター着
  • 事務局のお姉さんに「一番最後」通告うける
  • セプキャン最後組はGlass_saga, sora_h, pi8027, @i315 (itochan)
  • @tadsan (チューター)と飯を食らう
  • @giginet との付き合いの長さに驚くtadsanを見た!

開会式

  • もちろんマシンの持ち込みは禁止.ひどい....
  • IRCができなくて苦しかった
  • そんな苦しい状況の中講師陣がナチュラルにマシンを開き始める
  • さらに苦しくなる
  • 共通講義でやっと楽しくなり始める
  • 竹内先生の講義が大変面白かった.楽しい授業をありがとうございました.
  • 最前列で教卓の目の前なので必ずと言っていいほど刺されるのがちょっとあれ.
  • 関西の起業組で関西のノリに調教されました^^
  • 荷物を受け取り部屋にチェックイン
  • 終わったのは17:50→部屋にはいるのは18:00頃→1時間で飯と風呂とか解せぬ

部屋

P8100708

海が見えます

午後の講義

  • まつもとさんの話
  • やっぱり面白い

交流☆タイム - amachang

  • なんかいろいろ
  • 好きなものを書いた紙を匿名で班で回収し
  • シャッフルし
  • そのような趣味をもった人間が誰なのかを当てるゲーム
  • 「好きなOS」「Symbian」
  • 「好きなコマンド」「sudo rm -rf /
  • 班内で一番あてた人間は早い者勝ちだけどさまざまな景品をゲットできる
  • Norton 360/ウィルスバスタークラウドがあった
  • あとは企業のグッズとか
  • グッズは売れたが,Nortonが次.そしてウィルスバスターは売れ残り
  • 一部の人間はウィルスバスターとnortonの二択を迫られて他の人に譲ったりしていた
  • __Gentoo用ウィルス対策アプリケーション__などがあればよかったんじゃないの
  • 次は,班関係なく1-10のリストがあるので1-10すべての項目に誰かにサインしてもらう
  • 「12. 自分のマシンが侵入されたことがある」は「自分のマシン」じゃないけどruby-lang.orgのCVSハック事件からまつもとさんにサインしてもらいました
  • 俺は「17歳以下」で大量にサインしました
  • 景品はMSの良いマウス.うらやましい
  • 最後に,今回のこの班(開会式の席順で,1つの島が1つの班)で最終日にLTしてもらう通称「amachang LT」の計画が公表された
  • テーマは,「バカ危なっかしい人発見器」「セプキャンの新しい組」「わが子の悪事を発見しよう」
  • うちのテーブルは「新しい組」でテーマは「デバッグ組」
  • 根津さんに「フライング」と言われるものの,どうぞと言われてたきがするのでフライングかどうかはわからない…

1日目終了

  • 寝る前に時間があったので@itsuki_kosen, pi8027等を呼ぶ きゃーいつきちゃーん

P8100713

  • ぐらすは落ち着いてThinkpadのACアダプタをAmazon.co.jp お急ぎ便で注文する
  • その間講師陣は座席の配置決めをする
  • 「どきどき」→「じゃあ君は教卓の隣ね」→「もう最前列はイヤー」→「ご希望通り最前列だよ!」
  • オソロシイデスネ!
  • もちろん11pmまでに解散しました
  • 近くの部屋になんか意味がわからない無線APが (所有者にAP名公開許可はちゃんと取りました)

はい,Gentoo!

  • その後根津さんが部屋を訪問してきた
  • 覗き穴を塞ぐという高等テクニックを披露
  • 最初の発言は「何人?^^」
  • こあいですね

2日目

朝食

  • 朝食はバイキング
  • 適当に食う

機材のチェック

  • 提供マシンはたしかこれ
  • なぜかテンキーがついているキーボードで,enterが縦に細長いので[, ]をよく間違えて売ってしまうちょっと残念なキーボードを搭載
  • 演習はUbuntuで行う.VMware player上に仮想マシンが入っていた.機材がリースなのと,環境を一斉配布する都合とかでそうなったんだろう.
  • もちろんコアは4コア割り当てられてましたよ?
  • なんか環境に問題があってLibreOffice (発表資料作成で利用することが可能)のmojibakeを治す演習があった
  • しかしそこにはネットワークのトラブル(外にでれない!)
  • aptを使うので演習できない!
  • 座学を繰り上げしてあとでやることに (結局やらなかった)

講義

  • 座学
  • ネットワークが不調でSkypeの様子をいろいろ西尾さんとかと伺っていたら「トラブルシュートはやめい」と言われる
  • 吉岡さんがいきなり自著宣伝を始めた!
Debug Hacks -デバッグを極めるテクニック&ツール
吉岡 弘隆 大和 一洋 大岩 尚宏 安部 東洋 吉田 俊輔
オライリージャパン
売り上げランキング: 182491
  • gdbのコマンドを追加で覚えた
  • wcコマンドって何?」「みんなfindわかる?」
  • Skypeでは西洋と日本の文化の話に脱線
  • なぜライセンス情報などが書いてあるCOPYINGファイルの名前はCOPYRIGHTじゃないのか → FAT等の8文字制限?
  • 「そもそもスライドをWindowsのしかもPowerPointで書く発想がまずおかしいのでは?」「PowerPointをスライド書くのに使うのは新しい発想」「PostScriptやTeXでプレゼンを書こう」
  • 資料のバグが発見される
  • 「コアファイルって,なんですか?」
  • git入門に入って手を動かし始める
  • GNU Helloをいじる
  • "Hello, world" は奥が深い.
  • Hello, Gentoo!

ひるめし

  • 飯をくったあと,コンビニへ
  • Redbull
  • エレベーターにいる人間の個数より,Redbullの個数のほうが多いこの事実
  • 10人くらい+西尾さんでホワイエでキメていた
  • 「おまえらひどい」「その調子で買って行くとセプキャン終わった後に大量入荷してかわいそうなことになる」

IMG_20110812_131815

講義

  • まつもとさんの特別講義
  • ぷらんかるきゅーる
  • APL
  • Ruby 2.0の仕様策定の機会
  • 中高生がAgda Agdaする時代くるんじゃね
  • そして,言語ハックの話に
  • Parse.y hacking
  • Puby = Pythonの文法っぽいruby
  • 「Phubyもあるよ!」
  • つぎに(Ruby)処理系を実際にハック
  • git clone
  • autoconf
  • i7ビルドハエエエエ
  • --disable-install-capi
  • 「あとはMatz(待つ)だけです」
  • ブランチを切って,version.hの変更
  • ruby2.0spcamp
  • ruby1.9.4gentoo
  • 4コアハヤイ!じゃあ24コアでビルドしてみようか! → えっ
  • プログラムslはまだインストールされていません
  • 西尾さんがraiseするとsystemでslを実行するオレオレrubyを作った

ゆうはん

  • BOCCHI MESHI!
  • いとおちゃんがすごい方々(竹内先生, yuguiさん, IPAの人)とごはんをいただいているのを眺めながら
  • 竹内先生とごはんたべたかったなぁ.

午後の講義

  • gperfすごい
  • Ruby宝探し
  • 「VALUEの定義された場所」「NODEの定義された場所」「String#hello() #=> "Hello #{self}"を作る」「GCでオブジェクトが終了したときに何か表示させる」「Fixnum同士で引き算したときに足し算するようにする」
  • 全部やった
  • テストケースを書く簡単なお仕事
  • tmux vs screen

ねる

  • まさか

3日目

  • 電話
  • 電話ドリブン気象
  • 「事務局の…」
  • 「今何時だか(ry」
  • 8:40am
  • 遅刻!!!!!!!!
  • Skypeでは「あいつらねてんのかな」「うける」などという会話が繰り広げられていたようです
  • 急いでめしくって9:04amに教室入り

デバッグのコツ

デバッグ演習

  • デバッグのはじまり
  • 人為的にバグが仕込まれたrubyをデバッグしてバグを治す
  • easy.zip, hard.zip, veryhard.zip
  • hard.zipの2つ中1つまでといた
  • みんな最初の二問でつむ
  • デバッグ力を高めよう
  • デバッグとソースコードの読み方の座学聞いてればgrepやgdbの使い方はわかるはず…!
  • easyなbugはだいたいgrepで潰しました.完全に運

講義

  • VMの話とか
  • YARVかわいいよYARV
  • Cで拡張ライブラリ作ったりとか

個別課題選択

  • いろいろあったよ
  • 選んだけどCTFに回されたよ
  • 理由がなしだったのでちょっと荒れたけどセキュリティ組の変態と関わるいい機会だと判断したよ
  • あの時は取り乱して申し訳なかった.

BoF

  • セキュリティの話などに参加
  • 脆弱性はIPAに報告したほうがいい,理由は「目的はなんだ」など相手がいろいろ言ってくるかもしれんから,とか
  • 窓口探さなくてラク,ということもあるらしい
  • はまch…ちゃんのようにオープンに指摘するメリットなんてねーぞ,おまえらはIPAに報告しろ
  • IPA! IPA! IPA!

4日目

演習

  • CTFのプログラミング系問題に対処するため,
  • http://www.pythonchallenge.com をやった
  • 画像処理が必要な問題までやった(画像処理の問題は時間の都合でやらなかった)
  • ちょう久々にpythonを書いた (一部pythonにあるライブラリを使う必要があったため)

CTF

  • そして時はCTF
  • 言語組に別れを告げ (夜までCTFだし,言語組部屋にはもう戻れないと思ったから.明日は閉講式だし)
  • redbull片手にCTFへ
  • DEFCON CTFに出場するなどしたsutegoma2チームが特別参戦
  • そしてチューターも特別参戦
  • 「もちろんチューターは1位とらないとだよね^^」
  • DEFCON CTFに関する講師トークなどを聞きながらCTFにとりかかる
  • 「バグ入りRuby」 veryhard.zip
  • VMwareにCentOSがあった
  • まぁいいか,これを使おう
  • 起動
  • そしてネットワークにつながらないからveryhard.zipをサーバーからダウンロードできない
  • 謎なので講師を呼ぶ
  • トラブルシュートの学習になったからいいけど,10分ほど潰れる
  • 最終的な原因はVMware playerのマシン設定でnetworkのアダプタは有効なのにネットワーク接続のチェックが外れていたことだった
  • ビルド開始,しかしrubyがないからビルドできない!!!!
  • なんてこった!!!
  • しょうがないので問題文通りにbacktrackをだな
  • backtrackがない!
  • 竹迫さんに文句を言う,すると「無線LANのマシンを使え」と問題に訂正がはいる
  • しかし無線LANのマシン(他の問題で使うため)に確かにBacktrackは入ってる,でも…
  • ネットワークにつながらないからDLできない!
  • 仕方ないからライブCDありませんかと聞いてまわる
  • Backtrack4のライブCDをもらう,ものの「VMwareだとドライバの関係でネットワークつながらないかも,どうかなぁ」
  • いざ入れてVMで起動しようとしたらチューターが割り込んできて「まてよ,もしかしてisoあるんじゃないか」
  • isoあった.Backtrack5(最新,GNOME! KDEじゃない!)と4
  • Backtrack5をisoから起動
  • wgetする
  • ビルドする
  • ビルドできた! やった!
  • バグ再現した! やった!
  • make gdb! デバッグしよう,そうしよう!
  • gdb がなかった (´・ω・`)
  • さてどうするか.Backtrack4でやれって書いてあるからやっぱ4かなぁ…
  • 4起動
  • gdbはある
  • wget,しかし
  • ネットワークにつながらない (言われた通りや)
  • さてどうするか
  • Backtrack5に切り替える
  • 仮想HDDをfdisk, mkfsする
  • zipファイルをほうり投げる
  • Backtrack4に仮想HDDを接続,mountする
  • 無事unzip,そしてビルド
  • なんとbisonがない.これではビルドできないではないか
  • (後に聞いたところbuildディレクトリにparse.c等があったのはbisonがないからなくてもビルドできるようにらしい.buildディレクトリ消してやってしまった.)
  • しかたないので仮想HDDにgdbをコピーしてBacktrack5へ
  • Backtrack5でまた仮想HDDをmountしてcpgdbを移して起動してみる
  • 起動した.運良い (ダイナミックリンク…)
  • とりあえず~/.vimrcを10行くらいかいて作業開始
  • 本当はcolorschememrkn256を使いたかったけどねっとつながってないからあきらめてdesertをちょいす
  • やっとビルドして作業開始
  • デバッグの経過とかいうとヒントや答えになってしまうので割愛します
  • 適当にぼちぼちデバッグしてたら前半戦終了.何時間かけてもできない.これはひどい.
  • 変態の空気に圧倒されている!!!!(ひどい

夕食

  • 同じテーブルとご飯にいく,つまりはamachang LTの打ち合わせ
  • 紙媒体を用いて打ち合わせ

CTF後半戦

  • チューターチームが体育会系になっていきなり円陣組んで「オォオオオ!」とかやりはじめた!こわい!
  • 後から聞いたところ,こういう飲み物をキメたらしい


on Twitpic

  • はい,これらを混ぜます.アタマオカシイデスネ

  • 危険なのでやらないように.本当に危険にみえる.体育会系になるよ! 自己責任でね! やらないでね!

  • なんか「空を舞う問題」とかで,無線LANマシンを利用して教室内の練り歩きを行う変質者が増え始める

  • 次第に外に出ていく変質者たち

  • 言語クラスの部屋に問題へのURLがSSIDになってるAPがあったらしい.おもしろいねー

  • のこり30ふんになったところでveryhard.zipはあきらめ

  • あきらめて終盤30分100点問題を解いてた.セキュリティ関連といたときには「教えてもいないのに…」とか講師が驚いていたらしい.

  • 後半戦はランキング表示が見えなくなったのだけど,講師がけらけらそれをみて笑っている

  • 終了間際になると「このグラフ,美しい曲線ですねぇ」とか言い始める

  • そしてCTF終了.

CTF結果発表

  • 我がチームは4位
  • sutegoma2さんは3位
  • チューターチームは2位
  • 1位はキャンパー! うちのちーむじゃないけど!
  • グラフを見ると,sutegoma2が後半から本気を出し始め,チューターチームと1位のチームは接戦なかんじ
  • 終了3分前に800点問題を1位のチームが取り,チューターを超える
  • 本当に美しい曲線でした.ほんとうにありがとうございました.
  • そして時間がだいぶ余ったのでそのまま言語組へ戻る

言語組ラストスパート

  • みんな楽しそうなことをやっていた.
  • 楽しそう楽しそう
  • 西尾さんにveryhard.zipの答えをきく.家に帰ってdiffとってもつまんないから.
  • 「(ヒント https://gist.github.com/1145883 )」を聞いて即答.あってた.
  • すごい悔しさが残りますね.
  • 11時超えても解散せずそのまま作業続行
  • しばらくすると根津さんが現れ強制解散

最終日

言語組成果発表

  • いろいろあった
  • itochanの語り口は面白いな.「だいたいPopCountってなんだ!!!」
  • pi8027のラムダ計算のアレはよくわかりません
  • シャミノ計算はpi8027のラムダ計算のわけがわからない発表の次にやれば破壊力満点ですよね.pi8027「ひどい」とかいってたな
  • 各位の資料とかのポインタのポインタ http://d.hatena.ne.jp/nishiohirokazu/20110816/1313498218
  • 俺常々おもってるんだけど,おまえらちゃんと成果物もちかえってんの…? もったいないぞ…
  • もったいないというよりは俺がながめてパッチをぺろぺろしたい!パッチかわいい!

amachang LT

  • エディタ組はすばらしいですね.
  • Gentoo組もすばらしいですね.
  • sora_h所属3班の資料 セプキャンデバッグ組
  • 結構ウケてよかった.
  • 残念ながら時間は余らなかった.余らなくてよかった

さいごのおひる

  • amachangやWebセキュリティのはせがわさんなどとごはん食う
  • いろんなはなしをした
  • 飯の後,まだ飯をくっているチューター組の集合写真をとった

P8140723 - Version 2

  • 低空飛行のうみさまかっこいー

閉講式

  • いろいろなはなし
  • 割愛
  • 修了証書授与
  • 何か10秒くらいで言葉を述べないといけないらしい
  • 「バイナリかわいいです!」「Gentoo!」
  • いとおは10秒っていってるのに30秒くらい食べていきました
  • おわり.IPA公式的には解散.
  • 講師のお楽しみタイムがはじまった
  • 抽選でTegra2のタブレット
  • そして本やノベルティの配布
  • 「LinuxカーネルHACKS」, 「DEBUG HACKS」をいただきました
Debug Hacks -デバッグを極めるテクニック&ツール
吉岡 弘隆 大和 一洋 大岩 尚宏 安部 東洋 吉田 俊輔
オライリージャパン
売り上げランキング: 22453
Linuxカーネル Hacks ―パフォーマンス改善、開発効率向上、省電力化のためのテクニック
池田 宗広 大岩 尚宏 島本 裕志 竹部 晶雄 平松 雅巳
オライリージャパン
売り上げランキング: 7921
  • そのまま1Fへ流れる

最後

  • いろいろしたりしたりして,講師などに挨拶した後コスモスクエアを離脱
  • @butterbur331 が間に合いそうにないし,バスの列(ほかのイベントの帰りとかぶった!)の長さから見て一緒にずらすことに

みどりの窓口

  • にしおさんも間に合いそうにないので全員まとめて一番近いみどりの窓口で変更してもらう
  • 直前なのでさすがに並んだ席は取れなかったが,T字に固まることに成功した

新大阪

  • はやくつきすぎた
  • @kaihua7 と偶然の再会
  • とりあえず新幹線にのる
  • 残念ながら700系…
  • みなさんねてらっしゃった

東京

  • 東京組とわかれて東北新幹線へ
  • 乗車変更してもらった新幹線,「つばさ」だったよ!新しい感じ!
  • コンセントついてる! 遅い!!!! 東海道新幹線でくれ!

ウツノミヤ

  • 大都会ウツノミヤ
  • おれのせぷきゃんはおわった

その他のリソース

  • NHKニュースウォッチ9での特集 - 扉開けて目の前にいる緑がわたしです (lsしてます). 集合写真では真ん中でgithubの"I (octocat) code"を着用しています.最前列右から5番目

感想

楽しかった.gdbの使い方についてさらに学んだりしたけど,セプキャンでは技術よりむしろ楽しく交流できたことのほうが大きかった気がする

このイベントはたのしい.ちゃんと選考されてるので,面白い人が詰まってる.

来年はチューターとして参加したいなーだなんて.講師でもいいのよ? ゚+.(・ω・)゚+.゚

あーそうそう,おまえらが期待してるであろうバイナリとかバイナリとかASCIIとかUCASとかそういうのはもうちょっとまって.8月中には無理ぽ

Backfilled at , Published at