October 8, 2018

SECCON Beginners 2018 東京参加記


SECCON Beginners 2018@東京東京都立産業技術高専に参加してきました。

最初に断っておくとCTF演習のwrite-upはありません(全然解けなかったから…)。なので技術的な内容はほぼなく、感想を垂れ流しているだけです。もしwrite-upを探しているなら他の人が書かれた以下のブログ記事を読んでください。

SECCON Beginners 2018東京 参加記

【Crypto】SECCON Beginners 2018 WriteUp@東京都立産業技術高専

僕も復習の参考させてもらう予定です。圧倒的感謝。

参加した経緯

CTF歴は5月にあったSECCON Beginners CTF 2018がCTF初体験&初参加でした。当然完膚なきまでに叩きのめされ、その悔しさと勢いでハリネズミ本を買いました。じゃあCTF歴5ヶ月ぐらいですか?みたいに思うかもしれませんが、本は買ったものの大学の研究して合間にNetflixみたいな生活をしているうちにまったくCTFをすることはなく夏が終了しました。まあ要するにやろうと思えばできたのに怠慢によるNo Touch, No lookです。

そんなこんなでCTFをやることなく人生を終えていくかと思ったのですが、SECCON Beginners東京開催を知り、しかも当選すれば日程的には内定式のついでにいけるので(札幌在住かつ北海道開催はなさそうなので)これは運命、CTF再開のチャンスだと思い応募、そして当選しました。当選が決まったあとは内定式がついででこっちがメイン的な気持ちに変化し、内定式はよ終われ的な感じでしたね。

当日

良い天気でした。なんとなく30~40人くらいかなと思っていたので100人くらいいてびっくり。人間が多いせいか最初は冷房の効き具合が微妙でしたが、だんだん涼しくなってきたので良かったです。会場になっている高専は全体的に設備が立派で、冷房すらなく若者の殺戮を企んでいるとしか思えない田舎公立高校に通っていた身としては羨ましい限り。もしかしたら高専は全体的にこんな感じなのかもしれませんが。

定刻通りに始まり、最初はCTFとはなんぞやとか法を守ってくださいみたいなお話。なんとなくスパイダーマン(たぶん)の「大いなる力には大いなる責任が伴う」的な名言を思い出すなどしてました。力は全然ないんだけど。

講義1(Crypto)

Cryptoの講義は前回のBeginnersが初めて、今回で2回目。

内容は「公開鍵暗号の基礎」「RSA」が中心で最後に暗号の全般の話やツール、おすすめ書籍の紹介がありました。忘れかけていた剰余演算(分配法則や逆元の話は、あ、これ数学ガール フェルマーの最終定理で読んだやつだ!ってなった)や、雰囲気だけは知っているRSAの詳しい説明がありました。

この講義はパソコンをカタカタやるというよりは割と数学の話で、式を追い演習では紙とペンで計算をするといった感じ。CTFに限らず数学的知識は重要と感じつつも後回しにしている節がなんとなくあったので反省。やはりCTFは幅広い知識が必要でトライアスロンみたいなもん(最初のCTFの説明で言ってた)ということをさっそく実感させられました。とはいえ、CTFのイベントなので解く上でのおすすめツールや脆弱性の紹介もあり嬉しかったです。

昼休み

北海道からきたので当然知り合いはおらずぼっち飯。ぼっち飯は今までの人生で培った経験をいかしたので余裕です。でも誰かと一緒に来るか事前にtwitterとかで知り合いを作るべきでしたね。余った時間は午前の復習をするなどしていました。この時間からNEXTの参加者が集まりつつありました。

講義2(Pwn)

pwnの講義はBeginners初だとか。歴史に立ち会ってしまった。

内容はpwn自体の説明(pwnの読み方がわかったことに感動した)、アセンブリとバッファオーバーフロー(BOF)の説明ののち、実際にgdbで解析、攻撃コードの作成などの演習といった流れ。 講義の説明や資料には9割は必要な知識はあったと思いますが、俺みたいなモノホンの初心者(アセンブリ言語をほぼ読んだことない人)にはちょっと情報量が多くて大変でした。まあそれくらい事前に勉強しておくべきでしたが…。資料を何回もあっちこっち参照してるうちに結局演習時間中にシェルを奪うことはできず。ただこの手の問題を解けるようになったらめっちゃ気持ちいんだろうな〜っていうのは伝わってきました。ハッキングしてる感があるというか。

CTF演習

お待ちかねのCTF演習です。結果だけ言うと89/121。クソザコ。具体的な問題や解法は上のリンクの記事を読んでください。あとBGMめっちゃ怖かったのとカイロ・レンが職場に変装して潜入するやつ流れてませんでした?

CTF解説

毎回そうなのかは知らないけど、解説してほしい問題を挙手して聞くみたいなスタイルでした。pwn関連の質問が多かったですね。挙手制だとどうしても強そうな人による強そうな質問が多く、俺みたいなマジモンの初心者は???となりがち(そもそもどの問題がどの程度のレベルかもわからない)。もちろん会場にあまりに初学者的な質問をしてはいけないみたいな雰囲気は全くなく、どんな質問にも答えてくれたと思います。ただやはり日本人的なのか初学者はそういう傾向にあるのかはわからないけど、若干簡単な質問に対して遠慮気味なかんじはあった気がします。挙手制オンリーではなく、事前に運営が初心者が気になりそうな問題を選んで、解説を作っておくみたいなのもありそうですが、そうなると運営側の負担も急に増えると思うので難しそう。

まあゴチャゴチャ考えずに質問すれば良かったんですけどね。

交流会

解説のあとは交流会がありました。無料で講義してくれる上にお菓子と飲み物も用意してくれるとか最高か…?当然のようにコミュ障こじらせてましたが何人かとお話できました。僕の知り合いにはCTFなりセキュリティ関連の勉強やってる人が少ないので、こういう場でCTF周りの話ができたのはすごい刺激になりました。いやーもうちょうとコミュ力上げて外に出ないとな…と反省するばかり。コミュ障と電車の時間もあって多くの人とは喋れなかったけど楽しかったです。

まとめ

こういう勉強会は出たことがないので、参加する前はめっちゃ緊張してたけど楽しかったです。僕の場合、気を抜くと独学の割合がかなり多くなってしまうのですが、独学だと何が重要かわからないから全探索的な勉強になったり、勉強法から調べたりして時間を消費をしてしまうので、こういう場で強い人からポイントを抑えた内容を教わることも大事だなと改めて思いました。 あとtwitterとかで運営の想定する初心者とは?みたいな話もありましたが、やっぱり初心者といっても結構幅があって、コンピュータサイエンスを大学で勉強してたけどCTF歴は短いです!みたいな初心者もいれば、まじで無みたいな初心者もいるかもしれないわけです。運営の方も(たぶん)そこらへんはわかっていて、イベントをやっていく上では大変な部分なのかと。個人的にはなるべく多くの初心者をカバーするような内容だったんじゃないかなと思います(問題解説のところはついていけなかったけど…)。

小学生並みの感想ですが、参加できて良かったです。とりあえずは今月末のSECCONの予選を目標に精進します。

講師や運営の方は本当にお疲れ様でした。あと懇親会で僕にかまってくれた人もありがとうございました。