セキュリティブログ

【DEF CON 31 出場の裏側 | 前編】みんなの力を合わせて取り組んだ3日間

【DEF CON 31 出場の裏側 | 前編】みんなの力を合わせて取り組んだ3日間

更新日:2024.01.24

情報セキュリティのスキルを競い合うコンテスト、CTF(Capture The Flag)。そのなかでも世界最大規模を誇るのがラスベガスで行われる「DEF CON」です。2023年の本大会にて、GMOサイバーセキュリティbyイエラエ株式会社(以下、GMOイエラエ)は「Cloud Village CTF」1位、「CMD+CTRL Cyber Range CTF」2位という結果を納めました。そこで今回は、参加したエンジニアたちに参加したきっかけや当日の雰囲気、問題への向き合い方を聞きました。

後編では、参加した感想や勝因、これから取り組みたいことについて聞いています。

「CTFで勝つ」そう決めて挑んだ「DEF CON」への出場

―まず、皆さんの役割やCTFの経験について教えてください。

ルスラン:オフェンシブセキュリティ部の部長兼執行役員です。CTFはもともと少しやっていたし興味も持っていました。そこで今回、自分のスキルアップや会社全体の力を高めるために参加しました。

渡部:僕は2020年新卒入社し、現在は高度解析部のアプリケーションセキュリティ課にて、主にWebペネトレーションテストを行っています。社会人になってからはあまり参加できていませんでしたが、CTFは高校生の頃から挑戦してきました。

安里:オフェンシブセキュリティ部のペネトレーションテスト課に所属しており、ルスランさんの下で働いています。普段はクライアントの社内ITインフラに対するペネトレーションテストを行っていますが、CTFへの参加経験はなく、今回が初参加でした。

左から順に、渡部、安里、牧田、ルスラン

―今回DEF CONに参加したきっかけは何だったのでしょうか。

牧田:会社としてチームを作って出場したのは今回がはじめてでしたが、GMOイエラエのパートナー※には渡部さんのように、CTFに個人で参加している人がもともとたくさんいます。ですので営業資料にもパートナーたちが個人で参加したCTFの結果を記載していました。でも、コロナで大会に参加できなくなって、営業資料の記載も2019年の実績で止まってしまっていたんです。そこでルスランさんを中心に「そろそろこれ更新したいよね」という声が上がり、会社でチームを作って参加することになりました。今年の目標のひとつにも「CTFで勝つ」を掲げ、みんなで一丸となって取り組みました。

ルスラン:そうなんですよね。今まではみんなバラバラでやっていたけど、会社でひとつのチームとしてやってみるのもいいのではと考えて今回はチーム・GMOイエラエとして出場することとしました。

渡部:僕はもともとチームの大会成績を更新したいというモチベーションを持っていたんですよね。なかでも「Cloud Village CTF」に出場したいと考えていたので、出場が決まった時は単純にうれしかったです。そしてクラウドセキュリティ課とクラウドが好きな人たちで参加することになりました。

安里:僕はもともとクラウドが専門分野で、今回のCTFはまさにそのクラウドがテーマだったので、「自分の腕試しとしても良い機会だな」と思って参加を決めました。

※GMOインターネットグループでは、社員のことをパートナーと呼んでいます。

―「DEF CON」に参加するにあたって、どのような想いを持っていましたか。

渡部:正直に言うと強い想いがあったわけではなくて、たくさんあるCTFのひとつくらいの感覚でした。たくさんあるものの中でも、クラウドに特化していて面白そうだなと思ってわりと軽い気持ちで参加を決めました。

安里:どちらかというと僕も渡部さんに近くて、声を掛けられて「やるんだ、じゃあ参加しようかな」くらいの感覚でした。

牧田:軽い気持ちで世界1位獲るってすごいよね。僕は2人とはちょっと違って、「DEF CON」には思い入れがあります。前の会社にいるときから参加していたし、やっぱり世界で一番大きなコンテストなので、その意味でも思い入れが大きいんですよね。10年ほど前は「DEF CON」で日本のチームが優勝することなんてほとんどなかったですし。今回はもっとも難易度の高い、いわゆる“本戦”ではなくVillageと呼ばれるカテゴリー内での優勝ですが、それでも今回1位と2位を獲れたのはすごく大きな意義がありますし、すごくうれしかったですね。

主催者であるジェフ・モス氏による開会式の様子

「難しいけど解けなくはないパズルみたい」CTFの問題の面白さと取り組み方

―ちなみに牧田さんは当初は参加するつもりではなかったと聞いています。どんな経緯で参加することになったのですか?

牧田:そうなんですよね。僕は予算を作ったり、みんなを応援するのが役割ですが、今年は現地で少し時間があったので「ちょっと面白そうだからやってみよう」って、Webの方(CMD+CTRL Cyber Range CTF)に挑戦してみたんです。そしたら熱くなってしまって(笑)。一応3位までは行けたんですが、それ以上は僕ひとりではできなくて、すでにクラウドの問題をすべて解き終わっていたみんなにヘルプを出したんです。みんなが助けてくれたおかげで2位になれたけど、もし全部一人でやっていたら最終的にはきっと5〜6位になっていたと思います。

ルスラン:僕もクラウドの問題を終わらせてすぐ、「牧田さんのところがあるんで」って見に行きました。

渡部:僕はクラウドの問題がすべて終わってから、すぐに疲れ果てて寝ていて、牧田さんから来ていた「こういうのやってるんだけどもし終わったら出れない?」ってメッセージにも8時間後に気づいたんです(笑)。起きてからはまたみんなでワイワイしながら、Webの問題に取り組みました。

牧田:やっぱりまずはクラウドに集中したほうがいいから、終わったって聞いてからみんなに連絡したんですよね。みんなが来てくれたおかげでいろんな問題が解けたし、そこからビジネスとしてのヒントもあったので、ありがたかったです。

―当日は何人くらいで、どのように進めていきましたか。

渡部:クラウドの方はチラッと見たいというだけの人もいたかもしれないが、10人くらいがアクティブになっていました。Webの方はみんなでわちゃわちゃしてたし、多分もっと多かったですよね。

牧田:Webの方はクラウドの参加メンバーよりも何人か増えて15人ほど参加してたと思います。

ルスラン:そうですね。Discordでみんなつながって専用のチャンネルを使って、やり取りをしながら課題に取り組んでいきました。

渡部:いつも会社でSlackでやりとりしているのと同じように、Discordでやりたい問題を見つけたりシェアしたりしながらやってましたよね。

ルスラン:意見や見つけたことを共有しながら、みんなかなり自由に自分のやりたい問題を解いていましたね。ずっと悩んでた問題でも途中で誰かの書き込みを見て、「あ、これ使えばいいんだ」ってわかる場面もありました。

渡部:ちょっと大きな気づきがあると、みんなどんどんDiscordに集まってきてましたよね。問題のなかに明らかに作問ミスみたいなものがあって、ある問題を解いているはずなのに全然関係のない問題の答えが出てきて、みんなで「なにこれ」と盛り上がったりもしていました。本当にワイワイしながらやってましたね。

―出題形式や問題についてどのように感じましたか。

牧田:問題はすごく面白かったです。CTFは仕事にもつながるので、本当は内容だけ把握つもりだったのに、はじめたら寝るのも惜しくなって(笑)。CTFの問題って、頑張れば解けるのが面白いんですよね。パズルみたいで、ちょっと難しいけど解けなくはないという絶妙なラインで。「こうすれば解けるんじゃないか」と考えながら問題に向き合うのがすごく楽しかったです。

クラウドは全問正解できたのはGMOイエラエを含めて2チームだけだったと聞いていますが、難しかったですか?

ルスラン:難しい問題もあったし数分で解けた簡単なものもありました。難しいと書いてあったけど簡単なものや、運営側も想定していない形で解けたものもあって。でもやっぱり全然解けない問題もたくさんでてきましたね。なかには数時間考えた問題や、普通に解けば簡単なはずなのにすごく遠回りして解いた問題もありました。

安里:僕がやってた問題はすごく難しくて、半日近くかかりました。試行錯誤を繰り返してて、最後にもうこれしか方法が無いみたいなのを思いついて試して解けてスッキリしたのを覚えています。

牧田:もちろん実力が一番重要ですけど、発想やひらめきが降りてくるかで解けるか解けないがわかれますよね。実際にWebの問題で6時間ほど悩んでいたものを、参加メンバーに相談したら2〜3分で答えが返ってきて「牧田さんなにやってたんですか」みたいな(笑)。

牧田:仕事でやっている内容だと一瞬で解けますね。

ルスラン:なかには推測しないと解けない問題もありますけど。

渡部:2010年代前半はそういう問題が多かったですね。最近はそういう問題は面白くないし参加者体験がよくないので減ってきましたけど。最近はパズル要素があって順を追っていくタイプの、解けるとスッキリする問題が多い傾向にあるような気がします。

ルスラン:特にWebはそうですよね。前はブラックボックスばかりだったけど最近はホワイトボックスが多いですし。

渡部:そうですね。昔はソースコードがない状態でただ攻撃対象のURLだけ渡されて攻撃していくスタイルだったのが、最近は用意されたソースコードを読んで脆弱性を見つけて実際に攻撃していくものになっていますよね。でもソースコードがあるからといって簡単になったわけではないのが面白いところです。ライブラリの変な挙動を組み合わせて脆弱性が作られていることもよくあります。だからこそ、「こんなのあるんだ」とアハ体験的な気持ちよさを感じられることがWebでは多いように感じますね。

ルスラン:個人的には、むしろホワイトボックスになってから難しくなった気すらします。この言語で書かれているからこんな脆弱性が存在しているかもしれないと考える必要があるので、どの言語でなにを書くと脆弱性が高まるのかを把握しておくことが求められます。

渡部:あとWebの方は、問題Aを解くことで問題Bが解けるというか、1つ1つの問題によって大きな問題が構成されていましたよね。なので、解けば解くほど楽しくなってきましたし、問題を作る時ってこうすればいいんだなという学びにもなりました。


前編では、参加のきっかけや当日の様子について伺いました。
みなさん、それぞれきっかけや思いは違っても、ひとつのゴールに向かって協力しあいながら取り組む様子が伺えましたね。

続く後編では、世界一になれた勝因、今回の参加で感じたことのほか、これから取り組みたいことについて聞いています。

後編:【DEF CON 31 出場の裏側 | 後編】チーム力と個々の力により成し遂げた世界一の栄誉

セキュリティ診断のことなら
お気軽にご相談ください
セキュリティ診断で発見された脆弱性と、具体的な内容・再現方法・リスク・対策方法を報告したレポートのサンプルをご覧いただけます。

関連記事

経験豊富なエンジニアが
セキュリティの不安を解消します

Webサービスやアプリにおけるセキュリティ上の問題点を解消し、
収益の最大化を実現する相談役としてぜひお気軽にご連絡ください。

疑問点やお見積もり依頼はこちらから

お見積もり・お問い合わせ

セキュリティ診断サービスについてのご紹介

資料ダウンロード