FFRI × NFLabs. Cybersecurity Challenge 2025を開催しました【Writeup賞受賞者を発表します】

FFRI × NFLabs. Cybersecurity Challenge 2025

こんにちは、研究開発部の末廣と迫本です。本記事では、株式会社FFRIセキュリティとNFLabs.が合同で開催したFFRI × NFLabs. Cybersecurity Challenge 2025を紹介します。また、NFLabs.が選定したWriteup賞を発表します。

株式会社FFRIセキュリティが選定したWriteup賞は、株式会社FFRIセキュリティ側の発表記事をご覧ください。

今回から、本コンテストの出題問題や解説等を公開しています。そちらもぜひご覧ください。

最終的な総合順位は次の結果です。

最終順位

  • 総合得点1位 koufu193さん
  • 総合得点2位 kq5yさん
  • 総合得点3位 claustra01さん
  • 総合得点4位 hiikunZさん
  • 総合得点5位 stderr0rさん

最後までせめぎ合いが続いており、最後に首位に立つのは誰なのか、運営側も固唾を呑んでいました!

ジャンル別トップ賞の受賞者は次の方々です。

  • Pentest 1位 suisanさん
  • Web Exploitation 1位 kq5yさん
  • Malware Analysis 1位 koufu193さん
  • Binary Exploitation 1位 5unsetpowerlnさん

1つのジャンルを次々に正解した方、ジャンル最後の問題をわずかの差で正解して単独首位を獲得した方、高難易度の問題に粘り強く取り組んで正解した方など、こちらでも様々な戦いが繰り広げられていました!

Xでも結果を発表しています。

いよいよ、NFLabs.選定のWriteup受賞者を発表します。Writeup賞は、最も素晴らしいWriteupを作成いただいた方へ贈呈する賞です。

今回はWriteup賞に9件応募いただきました。選考の結果、NFLabs.からのWriteup賞はclaustra01さんへ贈呈します!おめでとうございます!

https://zenn.dev/claustra01/articles/95311b7181a74e

選考理由として、思考の流れやコマンド実行結果の解釈等が論理的に記述されている点や、各種手法に参考となるURLが記述されている点、LLMの回答内容が共有リンクとして記述されており掲載しており第三者も確認しやすい点が決め手になりました。読み応えのあるWriteupを作成くださりありがとうございました!

様々な思いを込めてWriteup賞へ応募いただいた方々をご紹介します(順不同)。

Writeupを初めて執筆くださる方がおられたり、勉強になったというフィードバック等があったりと、嬉しく思います。また、作問者の想定解法よりもスマートな解法を導き出している方もおられ、読む側としても非常に勉強になります。執筆および応募くださりありがとうございました!

2025/09/12(金)15:00~2025/09/15(月・祝)15:00にかけて、CTF (Capture The Flag) 形式でセキュリティ技術を競うセキュリティチャレンジコンテスト「FFRI × NFLabs. Cybersecurity Challenge 2025」を開催しました。同様のコンテストは3回目です。過去にも開催記を執筆しているので、よろしければご覧ください。

日本国内の中学校、高等学校、高等専門学校、専門学校、大学、大学院に所属する学生から参加を募集し、110名に応募いただきました。コンテスト方式は引き続き、オンラインの個人戦です。

今回も、実行ファイルの解析が必要になる問題を用意しました。そのため、flare-vmを使った解析環境の構築方法を、コンテスト開始前に紹介しました。

実施スケジュール

金曜日午後から、3連休最終日の月曜日午後までのスケジュールで開催しました。

日時 イベント
09/12(金) 15:00 コンテスト開始
09/15(月・祝) 15:00 コンテスト終了
09/15(月・祝) 16:30 – 17:30 表彰式、問題解説

表彰式では、株式会社FFRIセキュリティ ナショナル・セキュリティ東京事業本部長の松木様と、NFLabs. CTOの小室が、受賞者を発表しました。その後、受賞者からコメントをいただきました。問題解説では、難易度の高い問題を作成した社員が、作問の背景や必要技術、想定解法等を解説しました。

出題内容

問題の一部

問題は以下の6ジャンルで、全21問、合計24フラグを出題しました。

  • Welcomeジャンル。参加者全員が正解できる内容。全1問。
  • Pentestジャンル。ブラックボックス形式のペネトレーションテスト。全4問、うち2問を複数段階に分けているため合計7フラグ。
  • Web Exploitationジャンル。ソースコード配布のホワイトボックス形式のWeb脆弱性攻撃。全4問。
  • Malware Analysisジャンル。マルウェア解析。全4問。
  • Binary Exploitationジャンル。バイナリ脆弱性攻撃。全4問。
  • Miscジャンル。上記5ジャンルに属さないジャンル。全4問。

いずれの問題も、実務で活用できる技術を扱うことを念頭に作問しています。

Pentest、Web Exploitation、Malware Analysis、Binary Exploitationの4つのジャンルでは、想定難易度が★1~4の4段階の問題を用意しました。星の数が多くなるほど難しい問題を表します。後述しますように、それら4ジャンルではジャンルトップ賞を用意しました。Miscジャンルでは、想定難易度が★2の問題を用意しました。

配点にはダイナミックスコアリング方式を採用しました。この方式は、正解者数が少ない問題が高得点で、正解者数が増えるにつれてその問題の得点が低くなっていく方式です。

賞金

実力をたたえる賞を複数用意して、賞金を贈呈しました。

  • 総合得点1位 賞金7万円
  • 総合得点2位 賞金5万円
  • 総合得点3位 賞金3万円
  • 総合得点4位 賞金2万円
  • 総合得点5位 賞金1万円
  • ジャンル別トップ賞
    • Pentest 1位 賞金1万円
    • Web Exploitation 1位 賞金1万円
    • Malware Analysis 1位 賞金1万円
    • Binary Exploitation 1位 賞金1万円
  • Writeup賞 賞金1万円 × 2本(株式会社FFRIセキュリティ選定1本、NFLabs.選定1本)

前回のフィードバック等を受けて、今回はイベント全体や出題問題について多数の工夫を凝らし、より良いものに仕上げました。改善点をいくつか紹介します。

募集層を拡大

本コンテストの参加募集層を、前回までは高等専門学校、専門学校、大学、大学院としていました。今回では中学生・高校生にも募集層を拡大することで、より多くの「セキュリティが好きな方」に参加いただけるようにしました。

コンテスト結果を見ると、今回拡大した募集層の中から入賞者が現れるなど、目覚ましい活躍を見せる方もおられました。

休日メインになるようにコンテスト期間を設定

前回のコンテスト期間は、平日の4日間に渡る77時間でした。期間こそ長いですがやはり平日開催では都合がつかない方もおられ、コンテスト後フィードバック等で「土日を含む日程が良かった」等の声を複数いただきました。

今回はその声を受けて、休日がメインになるように、3連休を含む72時間で開催いたしました。コンテスト後フィードバックでも、ちょうどいい開催期間だったという声を多数いただいております。次回以降の開催でも、なるべく休日がメインになるスケジュールを予定しています。

コンテスト用プラットフォーム全体にPurple Flairを使用

NFLabs.では、実践型サイバーセキュリティ学習システム Purple Flairを開発しています。前回までは、PentestジャンルやWeb Exploitationジャンルの攻撃対象を用意するためにPurple Flairを使い、フラグ提出やスコア表示等にCTFdを併用していました。今回はシステム開発チームが尽力して機能開発を進めることで、Purple Flairのみでコンテストシステム全体を構築しました。本記事のこれまでのスクリーンショット内容は、今回のために開発されたPurple Flairの表示内容です。参加者からのフィードバックでも、デザインが良いとの声を多数いただいております。

コンテスト用プラットフォームについては後日、システム開発チームがブログ記事を公開予定です。楽しみにお待ちください。

初学者向け問題とWelcome問題を新設

前回では、コンテスト用プラットフォームへ登録いただいた方は63名おられたものの、コンテスト中に1フラグ以上獲得した方は36名にとどまりました。当時の作問者想定の難易度が不適当であることが分かりました。

その反省を踏まえて今回は、調査の取っ掛かりとなるヒントを提示しつつ難易度を抑えた問題を、初学者向けの★1難易度として合計4問出題しました。加えて、実際にコンテストに参加している人数を把握するため、問題文中にフラグそのものを記述することで参加者全員が正解できる難易度のWelcome問題を出題しました。結果、コンテスト用プラットフォームへ登録いただいた76名のうち、コンテスト中に1フラグ以上獲得した方は67名に上りました。また、それぞれのジャンル内では想定難易度順に正解者数が遷移したため、難易度調整も成功したものと考えています。

開催後に出題問題や解説等を公開

本記事の最初でも紹介しました通り、今回は出題問題や解説等を公開しております。株式会社FFRIセキュリティとNFLabs.それぞれのGitHubリポジトリで、同一の内容を公開しています。

悪用防止等の観点から、一部の問題は元ソースコード等を非公開にしています。一方で解説については、Welcome問題以外の全問題について公開しています。皆様のお役に立てれば幸いです。

コピー&ペーストで提出できるフラグ形式に設定

今回の出題問題のうち、多くの問題ではflag{...}形式の文字列をフラグ形式としました。一方で、バイナリの通信先URLを答える問題や、公開情報をもとに調査する問題については、フラグ形式を無理してflag{...}形式にする必要は薄いと判断しました。それらの問題では、フラグ形式を明記しつつ、取得できる情報をコピー&ペーストで提出できるように設定しました。

flag{...}形式に統一しなかった理由は、参加者がflag{を先頭に、}を末尾に追加する際にタイプミス等が混入してしまう可能性を排除するためです。筆者が同様のコンテストに参加した時の経験として、人力追加時にうっかり入力を誤って誤答扱いとなってしまい、原因究明に時間がかかったことがありました。今回の参加者には同様の体験をさせないために、本コンテストコピー&ペーストで提出できる形式に設定しました。

コンテスト後のフィードバックからは、慣れるまで戸惑ったという声をいくつかいただきました。一方で、flag{...}入力の手間がなくなる声や、タイプミスから解放されるというポジティブな声が過半数であり、運営としては実施して良かったと考えています。戸惑いの声については、フラグ提出時にflag{...}有無を検証してフィードバックするなどを将来の改善点として検討します。

本記事では、NFLabs.としては3回目の、株式会社FFRIセキュリティとしては2回目の、セキュリティチャレンジコンテスト「FFRI × NFLabs. Cybersecurity Challenge 2025」を紹介しました。皆様のWriteupや本コンテストの解説等をきっかけに、サイバーセキュリティへの興味を深めていただければ幸いです。また、NFLabs.や株式会社FFRIセキュリティへも興味を持っていただければ幸いです。

今回もフィードバックで高い評価を多数いただきました。同様の技術イベントを今後も開催予定です。本記事等で興味を持った方などは、そのときにぜひご参加ください!




Source link

関連記事

コメント

この記事へのコメントはありません。