概要
弊社メンバーが所属する BunkyoWesterns が、Google主催のセキュリティ競技 Hackceler8 2026 Singapore で世界1位を獲得しました。優勝賞金は $7,331 です。

決勝では 強豪ハッカーチームDiceGang と対戦し、両チームとも用意された7フラグすべてを獲得。BunkyoWesternsは全チャレンジを合計4,728サイクルで攻略し、速度で上回って優勝しました。
Hackceler8とは
Hackceler8は、CTFとゲームスピードラン を組み合わせたGoogle主催のセキュリティ競技です。例年はGoogle CTFの予選を突破したチームが出場しますが、2026年大会は招待制で開催されました。
競技で使われるのは、Googleが独自に開発したMega Drive / Genesis向けのゲームです。各ラウンドでは、まずゲームのROMとソースコードが渡され、チームは45分間で脆弱性と攻略方法を探します。その後の45分間で実機へ攻撃を行い、獲得したフラグの数と攻略速度を競います。
用意された問題の答えを提出する一般的なCTFとは異なり、ゲームの動作、メモリ、ハードウェアとの通信まで短時間で読み解き、コントローラー入力だけで再現できる攻略へ仕上げる力が問われます。
ゲームのプロテクトを突破し、理論上の最大スコアを実現
準決勝でBunkyoWesternsは、特殊な機材やデバッガーでゲーム機のメモリを直接操作するのではなく、通常のコントローラー入力だけ で入力処理とプログラム領域が干渉する状態を作り、任意コード実行 に到達しました。
さらに、BunkyoWesternsの一員として出場した Ikotas Labs代表が、任意コード実行後にほかのチャレンジの記録を更新できないようにするプロテクトを回避する手法を発見 しました。その結果、リセットで計測カウンターを初期化した直後に実行権を取り戻し、すべての記録を最小値である 1 cycle に更新することで、ゲーム内のスコアを 理論上の最大値 にしました。

まず、ゲーム内の会話へコントローラーから繰り返し文字を入力し、入力データの一部を実行可能なメモリ領域へ重ねます。そこで小さな受信プログラムを起動し、その後のコントローラー入力を攻撃用プログラムとしてメモリへ送り込みます。
次に、Mega Drive / GenesisのメインCPUとは別に動くZ80へ、リセット後もメインCPUの戻り先を書き換える処理を仕込みます。ゲームをリセットすると、スコア更新の権限が戻り、計測カウンターはゼロになります。しかし、メインCPUは通常のゲームへ戻らず、Z80によって攻撃用プログラムへ誘導されます。復帰したプログラムはカウンターを1 cycleだけ進め、全チャレンジをクリア済みとして記録しました。
通常のゲーム進行から攻撃用プログラムへ制御が移り、メモリと描画処理が本来の前提どおりに動かなくなった結果、映像のようにゲーム画面が崩れていきます。
ゲームのプロテクトを回避し、理論上の最大スコアを実現した際の映像
この方法が成立すると相手の結果にかかわらず勝敗が決まってしまいます。Googleの運営から「これは想定していないため、申し訳ないが各チャレンジをひとつずつ解いてほしい」と伝えられ、競技での使用は禁止されました。
禁止後は、ゲームチートの技術で正面から勝負
BunkyoWesternsはこの要請を受け、準決勝と決勝では全スコアを一度に書き換える方法を使用せず、各チャレンジの仕組みを解析して個別に攻略しました。
準決勝ではKalmarunionenと両チーム6フラグで並びましたが、攻略効率で上回り決勝へ進出。決勝でもDiceGangと両チーム7フラグを獲得し、すべての対象で最速記録を保持する効率1.0000を達成しました。最終的には攻略速度の差で勝利し、ゲームハッキングでも世界トップの実力を証明しました。

ゲームのチート対策にも攻撃者の視点を
今回求められたのは、ゲームを遊ぶ技術ではありません。ゲームのソースコードや実行時のメモリ、入力処理、ハードウェアとの通信を解析し、開発側が想定していない方法でルールやスコア管理を突破する技術です。
オンラインゲームでも、クライアント改ざん、メモリ操作、不正な入力、通信の悪用、スコアやアイテムの偽造など、正規機能の隙を突くチートが問題になります。Ikotas Labsでは、実際にチートを成立させる攻撃者の視点から、ゲームのチート耐性評価、設計レビュー、対策コンサルティングに対応しています。
ゲームセキュリティのほか、脆弱性調査、エクスプロイト開発、ペネトレーションテストのご相談はお問い合わせください。