CTF を始めた

突然だが、二週間くらい前に CTF を始めた。 入門用の解説記事とかではなく、将来自分が読み返すための手記として記事に残しておく。

私について

生物情報系の修士一年生*1。DNA 配列解析アルゴリズム系統樹推定の研究をしている。

学部一年の頃から競プロをやっており、普段は主に Rust、C++python を書いている。

なぜ CTF を始めたか

ある程度の知識を前提とした上で、ひらめきや試行錯誤で問題を解いていくコンテンツが好きで、これまでに変化球クイズ、競技プログラミング、くそなぞなぞなどをやってきた。特に競プロには寝食を忘れるほど熱中し、凡人なりに精進を続け二年半かけて黄色に到達した。

しかし、色々あって以前ほど競プロにのめり込まなくなり、新しく始める競技系の趣味を探していた。

理論寄りの研究をやっている反動で、うんと実用的な部分(競プロ界隈ではパソコンと呼ばれる部分)に興味が湧いていたこともあり、隣のコンテンツである CTF に手を出すことにした。

やったこと・これからやること

まずは

うさぎさんのブログ

kmyk.github.io

ぴーよさんのブログ

ywmt.hatenablog.com

を読んで、雰囲気を掴んだ。

とりあえず CpawCTF を全部埋めた(半日くらいで終わった)。各ジャンルの印象を好き勝手に書いてみる。

Web

Web 系のインターンに行っていたことがあり、用語すらわからない……ということはない。しかし最低限の用語しかわからない。かなり勉強が必要そう。

Crypto

代数の講義で RSA と ElGamal 暗号くらいはやったことがある。上の方は整数論の知識が必要になってきて難しそうだが、一番とっつきやすい分野に見える。

Reversing

数年ぶりのアセンブリだったが、案外読めて嬉しかった。学部二年のときの演習が効いている*2。ただ、時間制限のあるコンテスト中に解くとなると情報の取捨選択が難しいんだろうなあと思う。経験と根気が必要そう。とはいえ、crypto の次にとっつきやすい。

Forensics

右も左もわからない。これは何?

PWN

まだ解いたことがない。

PPC

競プロからは逃れられない。

CpawCTF を埋めた後、ksnctf と picoCTF に手をつけ始めた。Twitter アカウントも開設した。アイコンがかわいい(原義の自画自賛)。

ksnctf の埋めが二進も三進もいかなくなってきたので、『詳解セキュリティコンテスト』を買った。Crypto の章から読み進めようと思う。

買った!

*1:とはいってもほぼ情報しかやっておらず、生物のことはあまり分からない……。

*2:生物情報科学科は情報科学科と合同で演習をやる。アセンブリを書いたり、scheme の処理系を scheme で書いたりする。