みなさんこんにちは! CTF for GIRLS運営の桜碧です。
CTF for GIRLSでは、2021年6月30日(水)に第16回 CTF for GIRLS (ワークショップ)を開催しました。本レポートでは、当日の様子や内容の紹介をお届けします。
第16回 CTF for GIRLSは、2021年度最初のイベントとなりました。
今回のイベントも新型コロナウィルスの感染拡大防止の為、オンラン会議システムであるMicrosoft Teamsを使用しての完全オンラインでの開催となりました。
オンライン開催ではありますが、今回は150名を超える応募がありました。ご応募いただきありがとうございます。
さて、今回のワークショップのテーマは「Exploit分野」になります。
CTF(Capture The Flag)において、Exploit分野とは、「CTF運営側が用意したサーバ上で動いているプログラムの脆弱性を解析・攻略してFlagを獲得する」ことを指します。
実際にCTFでもExploit分野はよく出題される分野の1つです。
ワークショップでは最初に、CTF for GIRLS副代表の中島春香さんからの開会の挨拶がありました。
そして挨拶の後は、さっそくCTF for GIRLS代表でNTTセキュアプラットフォーム研究所(執筆時点)の中島明日香さんによる55分間のExploit分野の講義が行われました。
講義では、まずCTFにおいてExploit分野とはどのようなものを指すか、私たちが普段から使っているソフトウェア(プログラム)とはなにか、脆弱性とはなにか、脆弱性があるとどうなってしまうのかなどといったExploit分野の基礎的な用語や概念の説明が行われました。
次に、実際にサンプルのソースコードを示しながらプログラムはどのような挙動をし、どのような脆弱性があるかなどの説明があり、そしてその脆弱性を利用した攻撃の手順についても紹介されました。
また、実行されているプログラムの挙動を調査するための一般的なツールの使い方の説明もありました。
後半の演習では、初級問題が2問、中級問題が1問、上級問題が1問出題されました。
簡単に出題された演習問題を紹介します。
初級問題では、問題プログラムにおいてバッファオーバーフローの脆弱性を利用して特定の関数を実行する問題が出題されました。
中級問題では、バッファオーバーフローの脆弱性を利用してテキストファイルを読み出す問題が出題され、上級問題では、バッファオーバーフローの脆弱性を用いてflagを表示する問題が出題されました。
演習中は、TeamsのQ&A機能を利用して、各問題に対する質問等を受け付けて、回答させていただいておりました。
約35分の演習の後は、主に作問者による問題解説が行われました。
解説では、ただ解答を説明するだけではなく、問題の出題意図の説明、出題意図を踏まえた解答へのアプローチ方針、問題プログラムの説明、解答に至るまでの手順などが説明され、ハンズオン形式で解答にたどり着けるような解説が行われました。
出題問題は典型的な問題を出題していますので、同様の問題に遭遇したときには今回の手順を参考にしてもらえると解答にたどり着く手助けになるのではないかと思います。
問題解説後もTeamsのQ&A機能において、参加者のみなさまからたくさんの質問をいただき、回答させていただいておりました。
今回、Exploit分野ということで、取っ付き難いイメージのある分野としてよく挙げられておりますが、今回の講義や演習問題を通じて、少しでも理解が深まるきっかけとなっていれば運営としてうれしく思います。
コロナ禍の中ではありますが、CTF for GIRLSでは、今後もワークショップなどのイベントを継続的に開催していきますので、ぜひご参加をお待ちしております。(桜碧)