お久しぶりです、pondです。今回は普段僕がやっているプログラミングの競技について紹介しようと思います!この競技はプログラミングをやったことがある人でも知らない人が多いと思うので、これを機に興味を持ってもらえたら幸いです。

CTFとは?
まず最初にCTFについて簡単に紹介しましょう。CTFとはCapture The Flagの略で、問題ごとに用意された答え(Flag)を探す競技・セキュリティコンテストとなっています。
基本的には情報セキュリティの知識を必要とする競技で、例えば、脆弱性のあるサーバーに対してXSS(脆弱性のあるサイトに悪質なサイトへ誘導するスクリプトを仕掛ける攻撃)で攻撃したり、運用方法を間違えて弱くなっている暗号を解くといったことをします。
今回記事の題名になぜセキュリティの競技なのに「パソコンに詳しくなろう」と書いたかというと、実はセキュリティはその性質上、情報系のほぼすべての分野に関連しているため、CTFに挑戦することで自然に分野横断的な幅広い知識を手に入れられるからです。
代表的なジャンル
CTFの問題は普通「web系」「暗号系」とジャンルを分けて出題されます。CTFにおける代表的なジャンルは次の通りです。
ジャンル | 概要 |
---|---|
Web | Web技術に関係(SQLインジェクション、XSS等) |
Cryptography | 暗号技術に関係(RSA、xorパズル等)。競プロ経験者におすすめ。 |
Reversing | リバースエンジニアリングに関係 |
Pwnable | プログラムのバグや脆弱性を悪用するエクスプロイトに関係。ポーンネーブルと読む。 |
Forensics | 写真やディスクの解析などフォレンジックに関係 |
Professional Programming and Coding (PPC) | アルゴリズムやコーディング技術に関係 |
Miscellaneous | その他 |
参加方法
CTFtimeというWebサイトやTwitterから世界各地で行われているCTFを探して参加してみるといいでしょう。たいていのCTFは土日の間に開催していて、大会の期間だけ問題が置いてあるサーバーが開かれていて期間中は自由に参加できます。
それから、CTFごとにDiscordのサーバーがあり、そこで参加者や主催者とコミュニケーションをとれるのでそこにも入ってみると良いでしょう。
おすすめの常設CTF
CTFはサーバー費用の関係で通常数日しか問題サーバーは開いていませんが、懐の深いところでは一年中開いているCTFもあります。そのような常設CTFでおすすめのサイトは以下の通りです。
まとめ
今回はCTF入門について軽くまとめてみました。もっと詳しく書いてもよかったのですが、初心者の方はとりあえず大会に参加してみて問題の雰囲気などを味わってもらうのがいいと思ったので各ジャンルについての詳しい説明などは省きました。これを機にCTFに興味を持っていただけたら幸いです。
ここまで読んでいただきありがとうございました!
コメントを残す