こんにちは、研究開発部の末廣です。普段はセキュリティトレーニングプラットフォーム用の問題作成等を行っています。
本記事では、9月にFFRIセキュリティとNFLabs.が合同で開催したFFRI Security x NFLabs. Cybersecurity Challenge for Students 2024を紹介します。また、NFLabs.が選定したWriteup賞を発表します。
FFRIセキュリティが選定したWriteup賞の発表記事はこちらのリンクをご覧ください。
イベント概要
09/17(火)10:00~09/20(金)15:00にかけて、CTF (Capture The Flag) 形式でセキュリティ技術を競うセキュリティチャレンジコンテスト「FFRI x NFLabs. Cybersecurity Challenge for Students 2024」を開催しました。同様のコンテストは、昨年実施のNFLabs. Cybersecurity Challenge for Students 2023に続いて2回目です。
日本国内の高等専門学校、専門学校、大学、大学院に所属する学生を対象に、connpassで参加を募集しました。応募いただいた83名の中から抽選し、当選した80名に参加いただきました。競技方式はオンラインの個人戦で行いました。また、問題の中には実行ファイルを解析するための環境が必要な問題があるため、flare-vm等を使った解析環境の構築方法を、競技実施前に紹介しました。
実施スケジュール
平日4日間である、次のスケジュールで開催しました。
日時 | イベント |
---|---|
09/17(火) 10:00 | 競技開始 |
09/20(金) 15:00 | 競技終了 |
09/20(金) 16:00 - 16:30 | 表彰式 |
09/20(金) 16:30 - 18:00 | 問題解説・歓談 |
表彰式では、NFLabs. CTOの松木と、FFRIセキュリティCTOの金居から受賞者を発表しました。また、受賞者からコメントをいただきました。 その後の問題解説では、難易度の高い問題を作成した社員が、作問の背景や必要技術、想定解法等を解説しました。
ただしスケジュールについては、競技後アンケート等で「土日を含む日程が良かった」等の声を複数いただきました。次回実施時は参加いただきやすい日程となるように、開催曜日も含めて検討します。
問題・賞金
問題は以下の5ジャンルで、全17問、合計20フラグを出題しました。
- Web Exploitation (Web脆弱性攻撃、全3問)
- Pentest (ペネトレーションテスト、全3問、1問を複数段階に分けているため合計6フラグ)
- Binary Exploitation (バイナリ脆弱性攻撃、全3問)
- Malware Analysis (マルウェア解析、全3問)
- Misc (上記4ジャンルに属さないジャンル、全5問)
いずれの問題も、実務で活用できる技術を扱うことを念頭に作問しています。
Web Exploitation、Pentest、Binary Exploitation、Malware Analysisの4つのジャンルでは、想定難易度がEasy、Medium、Hardの3段階の問題3問を用意しました。また、後述しますようにそれら4ジャンルではジャンルトップ賞も用意しました。その他のMiscジャンルでは、想定難易度がEasy、Mediumの問題5問を用意しました。
配点にはダイナミックスコアリング方式を採用しました。この方式は、正解者数が少ない問題は高得点で、正解者数が増えるにつれてその問題の得点は低くなる方式です。
賞金
昨年同様に、実力をたたえる賞を複数用意して賞金を贈呈しました。
- 総合得点1位 賞金7万円
- 総合得点2位 賞金5万円
- 総合得点3位 賞金3万円
- 総合得点4位 賞金2万円
- 総合得点5位 賞金1万円
- ジャンル別トップ賞
- Web Exploitation 1位 賞金1万円
- Pentest 1位 賞金1万円
- Malware Analysis 1位 賞金1万円
- Binary Exploitation 1位 賞金1万円
- Writeup賞 賞金1万円 ×2本(FFRIセキュリティ選定1本、NFLabs.選定1本)
問題サーバの提供方法
Web ExploitationやPentestジャンルでは攻撃対象のサーバが必要です。昨年同様に、NFLabs.の研究開発部で開発しているトレーニングプラットフォームの機能を利用して、参加者ごとに個別の問題サーバを起動できる環境を提供しました。
理由として、もしも1つのサーバを複数の参加者で共有していると、サーバの設定変更や環境リセットが他の人へも影響を与えてしまうためです。特にPentestジャンルではサーバの管理者権限取得ができるため、より広範囲へ影響を与える設定変更ができます。そのような影響を参加者間で分離するため、個別の問題サーバ環境を提供しました。
競技後アンケートでは問題サーバについても高評価を多数いただきました。全体として、利用しやすい快適な環境を提供できました。
競技結果
最終的な順位は、次のようになりました。
- 総合得点1位 keymoonさん
- 総合得点2位 prime_1019さん
- 総合得点3位 iwashiiraさん
- 総合得点4位 4equestさん
- 総合得点5位 moratorium08さん
いずれの方も様々な問題にチャレンジ、正解しており、運営側から驚きの声が何度も上がりました!
ジャンル別トップ賞の受賞者は次の方です。
- Web Exploitation 1位 keymoonさん
- Pentest 1位 prime_1019さん
- Malware Analysis 1位 keymoonさん
- Binary Exploitation 1位 keymoonさん
実力ある猛者が高難易度問題を次々に解いていく様子が圧巻でした!
Xでも競技結果を発表しています。
学生セキュリティコンテスト FFRI Security x NFLabs. Cybersecurity Challenge 2024
— 株式会社エヌ・エフ・ラボラトリーズ (@NFLaboratories) 2024年9月20日
🎉入賞者発表
🥇1位 keymoon さん
🥈2位 prime_1019 さん
🥉3位 iwashiira さん
🎖️4位 4equest さん
🎖️5位 moratorium08 さん
おめでとうございます!
ご参加いただいた学生のみなさん、ありがとうございました。
学生セキュリティコンテストFFRI Security x NFLabs. Cybersecurity Challenge 2024
— 株式会社エヌ・エフ・ラボラトリーズ (@NFLaboratories) 2024年9月20日
🎉ジャンル別トップ賞発表
Web Exploitation トップ賞 keymoon さん
Pentest トップ賞 prime1019 さん
Binary Exploitation トップ賞 keymoon さん
Malware Analysis トップ賞 keymoon さん
おめでとうございます👏
NFLabs.選定Writeup賞
ここからNFLabs.選定のWriteup受賞者を発表します。Writeup賞は、最も素晴らしいWriteupを作成いただいた方へ贈呈する賞です。
今回7件のWriteupを応募いただきました。選考の結果、NFLabs.からのWriteup賞はiwashiiraさんへ贈呈します!おめでとうございます!
選考理由として、全ジャンルの問題に言及されていてイベントの雰囲気が分かりやすかった点や、Pentestジャンルへ初めて取り組むにあたって細心の注意を払っている点、通常のCTFと実務の違い等へ言及がある点がiwashiiraさんを選んだ理由です。Writeupを記述いただきありがとうございました。
創意工夫を凝らしてWriteup賞を応募いただいた他の方々をご紹介します(順不同)。
- yukichiさん ベイビーらいとあっぷ(FFRI Security x NFLabs. Cybersecurity Challenge For Students 2024) - k_yukichi’s blog
- 4equestさん FFRI Security x NFLabs. Cybersecurity Challenge For Students 2024 writeup - 沈黙は金
- blend-teaさん FFRI Security x NFLabs. Cybersecurity Challenge For Students 2024 Writeup #CTF - Qiita
- kk0128さん FFRI Security x NFLabs. Cybersecurity Challenge For Students 2024:Writeup #CTF - Qiita
- siro317さん FFRI Security x NFLabs. Cybersecurity Challenge For Students 2024 writeup #CTF - Qiita
- prime_1019さん FFRI Security x NFLabs. Cybersecurity Challenge For Students 2024 Writeup #CTF - Qiita
創意工夫の例を挙げると、作問者の想定解法とは異なる新たな攻略方法の解説や、動画形式で使用ツールの操作手順等を含めた解説、試行錯誤や思考過程を詳細に記述した過程等が含まれています。他にも、画像を多数用いてGUIツールの表示を示すことや、ページ冒頭で見出しを設定して内容を分かりやすくするなど読みやすさが配慮されていたり、connpassページへ言及することで読者がイベントページへアクセスできるよう考慮されていたりと、様々な心遣いがなされていました。Writeupを記述いただいた皆様、本当にありがとうございました!
1作問者として
筆者は今回、Malware AnalysisジャンルのHard問題として、Windowsマルウェアでよく使われる手法を用いた問題「Infected」を作問しました。また、競技終了後の問題解説で、問題バイナリ自身が用いる手法や、それに対抗する解析手法、役立つツール等を紹介しました。
参加者の中には、Malware解析やWindows独自手法の知見をまだ持っていない人も多くいると予想していたため、どれほどの正解者が出るか予想が難しかったです。最終的に、無事に1名の正解者が出た時は嬉しく思いました。それと同時に、他に多くの問題がある中で1問の難易度調整をする難しさを思い知りました。
それでも、取り組んでいただいた方や、終了後の解説を元に試していただいた方に、何か新しい知見を提供できていれば幸いです。また、終了後アンケートで「良かった問題、勉強になった問題」として投票いただいた方が複数おられ、非常に励まされました。
終わりに
NFLabs.としては2回目の、FFRIセキュリティとの合同開催としては初の、セキュリティチャレンジコンテスト「FFRI Security x NFLabs. Cybersecurity Challenge for Students 2024」を紹介しました。本記事や今回のコンテストをきっかけに、サイバーセキュリティ分野への理解を深める取っ掛かりになれば嬉しく思います。また、NFLabs.やFFRIセキュリティへも興味を持っていただければ幸いです。
アンケートでは、イベント全体で高い満足度評価をいただいており、かつ「コンテスト全体を通じて楽しめた」等の声を多数いただきました。同様の技術イベントを、今後も開催予定です。今回のリベンジを果たしたい方、本記事で興味を持った方などは、次回にぜひご参加ください!