はじめまして!情報系の学部に在籍している大学1回生のスナックです。
最近セキュリティの勉強を本格的に始め、CTF(Capture The Flag)という競技に挑戦しています。
まえがき
この記事は、
- 「セキュリティの勉強を始めたけど、次に何をすればいいんだろう?」
- 「CTFってよく聞くけど、何だか難しそう…」
-
「ハッキングにちょっと興味があるけど、何から始めればいいか分からない…」
と感じている、過去の自分のような方に向けて書きました。
1. CTFって一体なに?
CTFとは「Capture The Flag」の略で、直訳すると「旗取りゲーム」です。
一言で言うと、**「セキュリティ技術を使った謎解き・腕試しコンテスト」**のようなものです。
Webサイトやファイルに隠された「フラグ」と呼ばれる特定の文字列(FLAG{...}のような形式が多い)を、様々なセキュリティ技術を駆使して見つけ出すことが目的です。
なぜCTFをやるべき?
僕がCTFに挑戦して感じたメリットは以下の通りです。
-
攻撃者の視点がわかる
- 「どうやって攻撃されるのか」を実践的に学べます。これにより、脆弱性への理解が格段に深まりました。(こうやってサイバー攻撃とかされてるんだーって実感がわきますね!)
-
幅広い知識がゲーム感覚で身につく
- Web、暗号、ネットワーク、フォレンジックなど、様々な分野の問題に触れることで、楽しみながら幅広い知識を吸収できます。
-
実践的なスキルが向上する
- 座学で学んだ知識を、実際に手を動かして試すことで、「使える」スキルになります。
何より、遊んでいる感覚なのに勉強になるので本当に最高です!!ゲーム好きな方は結構はまるかもしれないですね^^
2. 初心者におすすめ!いつでも挑戦できる常設CTFサイト
CTFには、非定期で開催されるイベント形式のものと、いつでも好きな時に挑戦できる「常設」サイトがあります。
まずは自分のペースで進められる常設サイトから始めるのがおすすめです。
setodaNote CTF
https://ctf.setodanote.net/
こちらも日本のセキュリティ専門家の方が作られたCTFです。より実践的な問題が多く、さらに学びが深まると思います。
CryptoHack
https://cryptohack.org/
暗号技術に特化したCTFサイトです。共通鍵暗号、公開鍵暗号、ハッシュなどを手を動かしながら学べます。数学的な謎解きが好きな人にはたまらない内容です!
PicoCTF
https://picoctf.org/
アメリカのカーネギーメロン大学が運営する、世界的に有名な初心者向けCTFです。
3. 実際に初心者の僕がCTFにチャレンジしてみた感想
-
初心者ならGeminiとかを使おう!!
簡単な問題ならだいたいgeminiが解説できます。最初はバンバン使っていっていいと思います!(僕も使いまくってました、、、)
こういうAIツールを使っていると、力がつかないのでは?と思うかもしれませんが後々通用しなくなってきて自力で勉強し始めます笑 -
最初の絶望感
- 最初は問題文の意味すら分からず、何から手をつけていいか全く分かりませんでした。「こんなん解けるんか,,,」と正直思いました。
-
難しい1問が解けたときの感動
- 何時間も悩んだ末、ヒントや他の方のWrite-up(解説記事)を参考にしながら初めてフラグが通ったときは感動しました。
-
CTFを通じて学んだこと
- Web問題に挑戦したことで、開発者ツール(F12)でHTTPリクエストの中身を見たり、Cookieの仕組みを意識したりするようになりました。今まで何気なく使っていたWebの裏側を少し知れた気がしますね。
(多分まだまだ分かっていないことのほうが多そうですけど、、、) - 追記・web開発を通して。夏にハッカソンに参加しました!そこでwebアプリ開発に取り組みました。実際に取り組んでいく中でAPIの仕組みなどを学び、CTFでも活かしていけるようにさらに勉強中です!
CTFに限らずいろんな分野の開発や大会などに携わると視野が広がっていいかもしれません!
- Web問題に挑戦したことで、開発者ツール(F12)でHTTPリクエストの中身を見たり、Cookieの仕組みを意識したりするようになりました。今まで何気なく使っていたWebの裏側を少し知れた気がしますね。
-
これからの目標
- まずはcrypthachのRSA関係を全問解ききりたいですね~。将来的には、打倒googleCTF!!を掲げてます!!
4. 今後の記事の予告をしておきます!!
CTFを本格的に始めるには、いくつか便利なツールや環境の準備が必要です。あればあるだけ有利です!!
ただ、この記事で全部説明すると長くなってしまうので、具体的な環境構築(セットアップ)や、CTFでよく使う便利なツールについては、次回の記事で詳しく解説しようと思います!
- 【次回記事はこちら】CTFを始めるための環境構築(WSLなど)
- 【次回予告】これだけは入れておきたい!CTF便利ツール紹介
もしよろしければ、Qiitaのアカウントをフォローして次の記事をお待ちいただけると嬉しいです!
さいごに
セキュリティの勉強は範囲が広くて大変ですが、CTFは楽しみながら実践力を高められる最高の学習コンテンツだと思います。
この記事が、誰かの「CTF、始めてみようかな」というきっかけになれば幸いです。
一緒に頑張りましょう!