Help us understand the problem. What is going on with this article?

セキュリティ未経験の初心者がCTFに出場するための5ステップ

More than 1 year has passed since last update.

 私の前職の企業が、SECCONのスポンサーなこともあり、SECCONに出場する社員が多数いました。私自身はインフラエンジニアで、普段コードを書かなければ、セキュリティが専門でもなかったので、CTFに出場するために必要な知識やスキルがわからず、独学で勉強していました。
 参加者曰く、セキュリティの実務経験があるから有利というわけではなく、時間を費やして(CTFの問題を)やりこんだ者が勝つそうなので、どれだけCTFのトレーニングに時間を割けるかが勝負の分かれ目のようです。

 この投稿では、これからSECCONに出場してCTFに挑戦してみたいという方に向けて、セキュリティ未経験の初心者がSECCONに出場するために必要なCTFの知識やスキルを得るための方法をご紹介します。

Step1 SECCONや、SECCON以外のCTFのスケジュールを確認する

Step2 本を買ってCTFのルール、必要な知識やプログラミングスキルを身につける

セキュリティコンテストチャレンジブック

セキュリティコンテストチャレンジブック -CTFで学ぼう! 情報を守るための戦い方

プログラミングコンテストチャレンジブック [第2版]

プログラミングコンテストチャレンジブック [第2版] ~問題解決のアルゴリズム活用力とコーディングテクニックを鍛える~

※蟻本に代えて、AtCoderでプログラミングの問題を解くのもおすすめです。

Step3 初心者向け勉強会でCTF問題の解き方を教えてもらう

Step4 仲間を集めてチームを作る

私の周りでは、メンバーを、CTFやSECCON系のイベントに参加したり、社内で募集したり(SECCONスポンサー企業やセキュリティベンダーの場合)して集めていました。

ちなみに、私が所属していたCTFチーム(今は解散)では、以下の役割分担を行なっていました。
・各メンバーの得意分野をもとに、ジャンル(バイナリ解析、Pwn、ネットワーク、Web)担当を決める。
・担当ジャンルとは別に、担当言語も決めておく(言語によって、解きやすい問題と解き難い問題があるため)。
 幅広く問題をカバーできるよう、担当言語が被らないように割り当てる(開発経験のあるなしは考慮しない)。

普段は自分の担当ジャンルの問題を常設CTF等で解きつつ、月1回集まって進捗を報告し合う形式で進めていました。
このあたりは、チームによって違うと思いますし、また、目標によっても変わると思います。

Step5 常設CTFで問題演習を重ねる

Step6 SECCONに出場する

curryperformer-kato
インフラエンジニア(5年目)。BOOTHでWebアプリ開発やセキュリティの同人誌を頒布中。
https://webservice.booth.pm/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away