アイキューブドシステムズで製品開発運用本部に所属している nakano-i3 です。
弊社では、定期的に社内勉強会を開催しており、社員それぞれが持つ知識・スキルをチーム全体・社内全体に対して共有すること、知識や技術力の向上を目的としております。以前であればエンジニアが社内勉強会を主催し、エンジニア以外の社員が参加することもありましたが、近年はカスタマーサポート部門や経理部門が主催する勉強会にエンジニアが参加することもあります。
今回は、エンジニア主催の社内勉強会でCapture The Flag(以降、CTF)について紹介する機会がありましたので、弊社のエンジニアブログでも紹介したいと思います。
なぜ社内勉強会で紹介しようと考えたか
サイバーセキュリティについて学ぶにはネットワーク、サーバ、OS、アプリケーションなど幅広い知識や技術が求められておりますが、幅広い知識や技術を学ぶのに何から始めて良いか分からず五里霧中となっておりました。何か良い方法がないかと探していた時にCTFというものがあることを知り、体験してみることにしました。
体験してみて感じたことは、CTFを進めることでゲーム感覚で系統立てて学べそうだなと思い、これを社内で紹介しつつ自分の学びに繋げたいなと思い社内勉強会で紹介することにしました。
Capture The Flagとは
CTFは、コンピュータやセキュリティの知識・技術を競う競技となります。出題内容からFLAG(フラッグ)と呼ばれる答えを探すことから、「Capture」(獲得する)、「The Flag」(フラグ)で、Capture The Flag(略称:CTF)と名付けられています。
CTFには大会がある
コンピュータや情報セキュリティーに関係した国際的なイベントのDEFCON(デフコン)の中で講演をはじめ、CTFの大会なども行われています。日本ではSECCON(セクコン)などが開催されており、学生向けのCTFコンテストなども開催されております。
CTFの大会はチーム戦となっており、DEFCON CTF 2022の参加ブログなどから企業のチームや社会人と学生の混成チームなど世界各国から多数のチームが参加された様です。
CTF大会の一例
CTFについて学ぶ方法
弊社の社内勉強会では、これまで話してきたCTFの説明に加えて、CTFを学ぶ方法についてconnpassで公開されている社外勉強会や書籍の紹介を行いました。また、先に紹介したSECCONでは、SECCON BEGINNERSというCTF未経験者向け勉強会も開催されておりますので、SECCON BEGINNERSの紹介も行いました。
社内勉強会の様子
社外勉強会の一例
書籍
CTFの種類
CTFには、大きく分けてクイズ形式と攻防戦形式の二つの形式があります。
一つ目のクイズ形式(Jeopardy形式)は、コンピュータやセキュリティに関する出題を解く形式、二つ目の攻防戦形式(Attack&Defence形式)は、各チームに与えられたサーバーを守りながら他のチームのサーバを攻撃するといったものとなります。クイズ形式・攻防戦形式の中から、今回の社内勉強会ではクイズ形式のCTFにフォーカスして説明を行いました。
クイズ形式のCTFで出題されるジャンル
クイズ形式のCTFでは、次のようなジャンルが出題されます。
ジャンル | 出題内容 |
---|---|
Reversing (リバーシング) |
実行ファイルを解析する問題 |
Pwn (ポウン・パウン) |
サーバプログラムが持つ脆弱性を突く問題 |
Web | Webに関する問題。Webアプリケーションが持つ脆弱性を突く問題が多い。 |
Crypto (クリプト) |
暗号を解読する問題 |
Network | ネットワークの通信を解析する問題 |
Forensics (フォレンジック) |
与えられたファイルを解析する問題 |
Steganography (ステガノグラフィー) |
あるデータに隠蔽されたデータを探す問題 |
PPC (Professional Programming and Coding) |
プログラミングを使って解く問題 |
Recon (リーコン) |
ある特定の人物を調査する問題 |
Misc (ミスク) |
上記のジャンルに当てはまらないコンピュータの雑学、練習問題 |
CTFを体験してみよう
CTFについて学ぶ方法に加えて、常設しているCTFがインターネット上に色々とありますので、そちらでも学ぶこともできます。調べていく内に以下の2つの常設CTFがブログなどでよく紹介されております。CTF初心者向けの常設CTFが「CpawCTF」、難しいのが「ksnctf」の様で、私も実際に試してみましたが「ksnctf」は出題内容が難しく、解答することができませんでした。
弊社の社内勉強会でもCTFを体験してみようということで、「CpawCTF」からQ6、Q8、Q9の問題に挑戦してもらいました。
- Q6.[Crypto] Classical Cipher
- Q8.[Misc] Can you open this file ?
- Q9.[Web] HTML Page
CTFの体験の様子
体験された方からは「楽しかったよ」といった言葉や「こっちのやり方もあるよ」など知識共有も行われ、社内勉強会を開催して良かったなと感じております。
まとめ
本記事の冒頭でも説明しましたが、情報セキュリティと言ってもネットワーク、サーバ、OS、アプリケーションなど幅広い知識や技術が求められております。幅広い知識や技術を学ぶのに何か良い方法をと探して出会ったのがCTFでした。
CTFの色々な出題を解答していくために、ネットで調べたり社内エンジニアに質問したりして「あー、そうやるのか」、「このコマンド使うのか」と気づきになることも学びと考えております。
たとえば、「CpawCTF」のQ7は、あるファイル種類を調べ実行する出題内容となっており、私が利用しているPCではファイルの種類を調べることができても、実行時にエラーとなり実行できませんでした。エラーメッセージをネットで検索して「どうしてできないのか」「どうやったらできるのか」を知ることができましたが、それも一つの学びと思います。
最後に
今回の記事では、CTFを社内勉強会で紹介したことについて触れましたが、弊社ではtafuji-i3が書いたブログの様に社内勉強会で自分の興味があることを紹介したりすることができます。
開催実績 100 回以上の社内勉強会の様子を紹介:https://tech.i3-systems.com/entry/2020/10/12/142550
CTFやサイバーセキュリティの知識・技術が豊富な方に入社いただいて、社内勉強会を開催してもらえると嬉しいなと思っております。弊社ではエンジニアを含めて採用活動を実施しており、PSIRT経験者などセキュリティエンジニアを始め、CTF得意です!という方など皆さまのご応募をお待ちしております。
新卒採用:https://www.i3-systems.com/new-graduates/
キャリア採用:https://www.i3-systems.com/careers/