CTF入門のための情報
みなCTF沼に堕ちるのだ…
第ニ回サイバーセキュリティ系LT会 in 東京において、質問を頂きました
「パソコンちょっとわかる」レベルの人のCTF入門は、どの本やサイトがおすすめですか?
への回答でございます
TL;DR¶
CTFは、解けた時が一番楽しい!!!!!!!11!1
ので 常設しているcpawCTFかpicoCTFをやってどんどん解いてみてください!
ここを読んでやってみる¶
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:ダニング・クルーガー効果¶
いわゆるチョットデキル曲線です
エンジニア用語の「完全に理解した」「何も分からない」「チョットデキル」は「ダニング・クルーガー効果」で簡単に説明ができます。これは一種の認知バイアスで能力の低い段階では自分の能力の低さを認識できないためです(過大評価しがち)。その反面で能力が高くなると過少評価しがちです。 pic.twitter.com/LGaJ4E5hWo
— おちゃめ (@ochame_nako) April 8 2019
自信と理解度の関係を図にしました。#完全に理解した pic.twitter.com/SA638Vy9UH
— 廻転楕円体๑2/2 DENDRA!Reincarnation出演 (@kaitendaentai) October 17 2018
ポイントは、初心者でも変態(褒め言葉)でも「初心者です」と言う点です
自身を過小評価する傾向は人間の自然な特性だと思っていて、むしろ健全な心の有り様かなと思っています
日本だと古来より"~道"(華道とか柔道とか)で表現してて、「完全に理解した」なんてなくて、ずっと先まで道が続いてて終わりはないという表現なのかと、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
kanata が4年以上前に追加
追加
pwnable.tw startのwrite-up。CTFのバイナリ解析ではまず何をすればいいのかも書いてみました
https://security.nekotricolor.com/entry/pwnable-tw-start-write-up
kanata が4年以上前に追加
追加
よき