2018年を振り返る

今年もいろいろあったので振り返る。2017年の振り返りはこちら

icchy.hatenablog.jp

昨年に劣らずいろいろなことがあったと思う。昨年同様、メインはCTFでの活動に関する話である。

1月

幸いにも一年前のように病院のベッドの上で年を越してはいなかった。失ってから初めてその重大さに気づくものっていろいろあると思うが、健康なんかはその良い例だと思う。
2017年の12月にYan先生 (a.k.a zardus) がHITCONの帰りがてら日本に遊びに来ていて、そこで留学の誘いを受けていたがまだ決心がついていなかった。1月半ばあたりにメールを出して、親や研究室のボスに相談した後に行く決心を固めたのはここから1週間くらいだったと思う。4月から行く予定だったので時間的にはかなり余裕に見えたが、実際にはApplicationを書いたり、ビザの取得のためのDS2019を用意してもらったりで最終的にすべての用意が整ったときは出発まで1週間を切っていて、かなりギリギリだった。

2月

一応Research Specialistという肩書で大学に雇われるという扱いなので、大学の求人に応募する形でApplicationを書く。どうやら専用の求人を掲載したらしいが、Web上に掲載されるまでかなり時間がかかった。また、Applicationを提出してからAcceptされるまでさらに時間がかかった。実はRejectされるんじゃないか?と内心ヒヤヒヤしていた。
とにかくこの応募手続きでかなり時間がかかって、多分2月の半分くらいこれで溶けた気がする。

3月

正式にOffer letterを受け取ったのでビザを取得するためのDS2019という書類の発行手続きに入る。この書類の発行が結構時間がかかって、向こうから発送したよというメールをもらったのが3/16で受け取ったのが3/19だった。これを待ってからビザを取りに行く準備を始めると明らかに間に合わないので、あらかじめ予約だけ取っておいてDS2019待ち、という状況にしておいた。確かDS2019を受け取った2日後にビザの面接を受けて、その翌日くらいに発送されていたと思うが、受け取るまで少し時間がかかった。
めでたくビザを手に入れてあとは出国だけという状態になったのが確か3/25だったと思う。
留学とはいえ持ち運べる荷物はせいぜいスーツケースとリュックサックが一つずつなので、とにかく必要最低限の物しか入れなかった。

4月

出発直前に0CTF Qualsに出た。オンサイトで集まったこともあって途中までかなり良い感じだったが、予選突破にはあとちょっと足りないという状態で残り30分を迎えて頭を捻っていたところ、奇跡的に解法を思いついて残り5分のところでsubmitした。これが決め手となって決勝の出場権を獲得した。

初めてアメリカを訪れた。インターネットがないと確実に詰むのであらかじめSIMを買っておいたのが良かった。現地の空港について、Airbnbのホストに連絡を入れたところで日付を一日間違えて予約していたことが発覚して危うく初日を野宿で過ごすところだったが、幸いにも前日が空いていたので免れた。
時差ボケが本当にひどくて、一週間くらい夜中の3時に目が覚めて昼間クソ眠いみたいな状態を繰り返していた。 到着後に必要な書類手続き (主に税金関係) が結構面倒で、4月末くらいまでは広い大学構内を練り歩いたりPhoenix社会保障事務所に行ったりしてた。

5月

研究テーマが無事に決まって進め始める。詳しいことは書かないが、先行研究に対してどう改善したかとかではなくて、新しい手法の提案なのでとにかくアイデアと実装が重要だった。

XCTFで良い成績をおさめたチームが招待されるらしい中国の謎CTFに参加した。確かCyber Mimic Defense Contestとかそんな感じの名前だったと思う。 CTFは微妙だったが運よく2位で200万くらいゲットした。(まだ賞金は振り込まれていない)
中国から戻る途中で日本に立ち寄ってDEF CON CTF Qualsに参加した。19位で終わったので今回も無理か…と思ってたらクソ多い枠のおかげで予選通過して微妙な気持ちになったのを今でも覚えている。
月末には0CTF/TCTFに参加するために再度中国へ。会場が深圳だったので香港から陸路入国しようとしてTokyoWesterns全員で彷徨っていた。

6月

気胸じみた痛みが発生して急遽大学の病院にかかる。結果的には気胸ではなかったが、レントゲンを撮って診断を受けただけなのに$166かかった。
Midnight Sun CTF finalsに参加するためにスウェーデンストックホルムへ行く。途中でニューヨークに立ち寄って観光したりした。当たり前なのだがストックホルムはめちゃくちゃ寒くて、アリゾナの気候で感覚が狂っていたのもあってなかなかつらかった。
ちなみに帰りの便が遅延して、経由地であるロンドンに一日とどまる羽目になった。

月末にはGoogle CTF Qualsに参加してなんとか予選を通過した。

7月

WCTFに参加するためまたまた中国へ。途中で日本に数日滞在できる便を運営に取ってもらって、一時帰国中に寿司を食べに行ったりカラオケに行ったりした。WCTFではめちゃくちゃ運が良くて、なんと優勝することができた。 優勝賞金は$50000だったのだが、WCTFの運営はめちゃくちゃ優秀で、税金の分を払ってくれた上に一か月くらいで送金されてきた。どこかのいまだに払ってくれないCTF運営とは大違いである。
余談だが、帰りの飛行機が欠航になってまたしても一日中国に滞在する羽目になった。

月末にCBCTF Qualを開催した。問題は主にbinjaの人が作ったが、CBOJのジャッジシステム部分をスクラッチで書いたり他の問題をレビューしたりした。

8月

初のDEF CON CTF Finalsに参加。ラスベガスでカジノや射撃場に行ったりした。

SCTF finalsに初参加してギリギリ入賞した。ちなみに初めて韓国に行った。
TWCTF 4thを開催する。過去最高のレート97となってPlaidやHITCONとかと並んだ。

9月

CTFの合間を縫って進めていた研究のプロトタイプ実装が完成する。その後議論を経てアーキテクチャの改善などを進めていく。 大体まとまってきたところで一旦プロジェクトから抜けて、続きを日本で進めながら論文化を進めていくことにした。

ISUCON8の予選に参加する。時差が結構つらかったがなんとか予選を突破する。

帰国直前でDragon CTFに参加する。TokyoWesternsのメンバーが全然参加する気がなかったっぽいのでShellphishとして参加したところ、かなり調子が良くてなんと予選1位で通過してポーランドに行くことになった。

10月

情報科学若手の会に参加する。
この辺りの時期からPCをMacから買い替えようと思い始めてXPS15とX1 extremeを無限に比較検討していた。

運が良かったのでISUCON8本戦で優勝する。

icchy.hatenablog.jp

Google CTF Finalsに参加するためロンドンへ行く。終了30分前くらいで思いついた解法が間に合わなくて、1/2くらいflagが出たところで時間切れになった。これが解けていたら多分3位だったっぽくてつらい。

11月

CBCTF finalsを開催する。システムを作るのがとにかくしんどくて、本番も結構燃えた。Ruby書いたこと全然ないのにRailsを使うのはやめたほうが良い。tyageごめん。 打ち上げの後、CBCTFに来てたDragonSectorと0daysoberと一緒にカラオケに行った。 ようやくX1 extremeを購入してDragon CTFに持っていったところ、タイミングよくMBPがCTF前日にディスプレイが映らなくなって、ほとんどセットアップしてないX1 extremeで戦うことになった。これもあと5分くらいのところでsubmitが間に合わなくて入賞を逃した。ShellphishとしてFinalsに行ったのはなかなか貴重な体験だった。

12月

RealWorld CTFに参加するため今年4回目の中国へ。普通に楽しかったし来年もあれば参加したいなあと思うくらいには良いCTFだった。イベントの規模感がとにかくすごくて、会場にはそこら中に武装した警備員がたくさんいた。

年末に35C3 CTFに参加した。filemanagerという問題はXSS Auditorの挙動を逆手に取った情報リークの手法なのだが、あと少しのところで気づかなくて解けなかった。多分これが解けていたらCTF Timeは3位のまま終わってたんじゃないかと思う。p4強いなあ

まとめ

とにかくCTFで旅をしまくった年だった。飛びすぎてJALのステータスがついたが、ほとんど運営の金である。

TokyoWesternsとしてDEFCONに参加できたので去年の目標は達成できたと思う。来年はもっと多くのオンサイトCTFで入賞したい。

来年何するかはちょっといろいろ考えがあるので、2019年のトンカツにご期待下さい。それではよいお年を。