CTF入門のための情報

みなCTF沼に堕ちるのだ…
kanataほぼ5年前に追加

第ニ回サイバーセキュリティ系LT会 in 東京において、質問を頂きました
「パソコンちょっとわかる」レベルの人のCTF入門は、どの本やサイトがおすすめですか?
への回答でございます

TL;DR

CTFは、解けた時が一番楽しい!!!!!!!11!1
ので 常設しているcpawCTFpicoCTFをやってどんどん解いてみてください!

ここを読んでやってみる

CTF入門に関する情報はきなこさんとkusuwadaさんが綺麗に情報をまっとめてくださっています

ここを読むとわかるかなと

kusuwadaさんはpicoCTFのほぼ全ての問題解説を書いてくださっているので

  • picoCTFをやってみる → わからない → kusuwadaさんのブログを見る

がとてもよさそう

余談

ダニング・クルーガー効果によるCTFの習熟度をうまく表現できない問題

CTFですが、競技の性質*1ダニング・クルーガー効果*2 によって、"入門","初級","初心者","baby","beginner"などの記述があっても、それが難易度を表現していない*3 ことがあります

何が言いたいかというと、"入門","初級","初心者","baby","beginner" という記述があったとして「こんなに難しいのに初心者向けなのか…」と諦めてしまうのはちょっともったいないと思っているということです(それは、自分の得意分野と違った領域であるかもしれません)

*1:競技の性質

CTFは出題範囲が広範囲に及びます

  • ネットワーク
  • Web技術(DBやバックエンドの技術も含まれたりする)
  • バイナリ(符号理論、信号処理、画像処理、組み込み技術etc..)
  • Pwn(exploitとか、CTFの華ですね)
  • Forensic(ファイルフォーマット、ファイルシステム、ログ解析、ディスク解析)
  • 暗号
  • Recon(OSINTを始めとした調査の技術)
  • その他、雑学

ある分野では"常識"(これが初級とかbabyとか表現されたりする)であっても、別の分野からすると未知の話だったりします

ちなみに「私この分野は素人なのですが…」といいながら、全ジャンルを満遍なく解かれる方も極稀にいらっしゃいますが、たいていは得意分野を中心に問題を解いている方が多い印象です

趣味(興味のある分野)を深く掘り下げると、その周りの分野も巻き込んで掘り進むので好きなことを続けるのが個人的にはいいのかなと思っています

*2:ダニング・クルーガー効果

いわゆるチョットデキル曲線です

ポイントは、初心者でも変態(褒め言葉)でも「初心者です」と言う点です

自身を過小評価する傾向は人間の自然な特性だと思っていて、むしろ健全な心の有り様かなと思っています
日本だと古来より"~道"(華道とか柔道とか)で表現してて、「完全に理解した」なんてなくて、ずっと先まで道が続いてて終わりはないという表現なのかと、CTFも然り

つまり、どんな問題でも"入門","初級","初心者","baby","beginner"と名付けられる可能性があります

*3:難易度を表現していない

競技プログラミングはスコアで定量的に測れますね
CTFは広大なコンピュータ技術の全領域を対象としているため、定量的に難易度(や、自身の技術レベル)を測ることが難しいと思っています(あと、別に測れなくてもいいのでは、とも思っています)
また、CTFで出題される問題の獲得点数で難易度の目安はわかりますが、そのCTF大会に閉じた相対的なものです
A大会のCTF 100点問題 と B大会のCTF 100点問題 が同程度の難易度とは限りません

その他 ご参考

"CTFってこういうものだよ"という解りやすいスライド

なんと初心者向けに勉強会を開催してくださっています!(行ったことはないんですが…)

良い本揃いです

同じく良書揃い


コメント

kanataほぼ5年前に追加

これもご参考です

セキュリティ完全初心者がCTF入門して半月が経ちました
https://ywmt.hatenablog.com/entry/2020/01/08/174504

kanata4年以上前に追加

追加

pwnable.tw startのwrite-up。CTFのバイナリ解析ではまず何をすればいいのかも書いてみました
https://security.nekotricolor.com/entry/pwnable-tw-start-write-up

kanata4年以上前に追加

追加

よき

クリップボードから画像を追加 (サイズの上限: 100 MB)