はじめに
Global Cybersecurity Camp(GCC) 2023 Singaporeが2月13~17日の間に開催されていました。 GCCは人材育成とコミュニティの形成を目的として開催されているイベントです。 GCCについての詳細は公式ページをご覧ください。 今年はなんと2020年ぶりのオンサイト開催なので、選考を通過すると無料で海外に行ける太っ腹イベントになっています。
今回、選考通過し、イベントを終えて来たので、参加記として後世に残しておこうと思います。
他の参加者の記事
- watasukeさん(弊チームのモデレータさん、お世話になりました🙇)
- yu1hpaくん(記事👇でも言及されていますがお話できてとても楽しかったです🙌)
- セキュアスカイ・テクノロジーさん(マンゴスチンをおすそ分けしていただきました。ありがとうございます。美味しかったです😋)
参加前
GCCがオンサイトで開催されることを知って応募するか〜と思っていました。 個人情報多めなので応募書類を晒すことはしないですが、研究とかインターンの経験を書いて課題を解いたという感じです。 応募締め切り付近は研究タスクに追われていてかなり参っていたのですが、よく出したと思います1。えらいぞ、自分 😤
正直受かるとは思っておらず2、選考通過メールが届いたときはびっくりしました3。 受かってからは事前課題(といっても大体は環境構築)をして気づいたら出発前日でした。
参加中
一部時間が変更になった講義もありますが、大まかなスケジュールはこちらで公開されています。 移動日と講義に分けて簡単に振り返っていきます。
day0(出国&アイスブレイキングディナー)
フライトが羽田発だったのですが、朝が異常に早くつらかったです。 あと早朝の電車なのに死ぬほど人が多かったです。東京怖いですね。 シンガポールまでは7時間ぐらいのフライトでした。
当然ですがシンガポールに到着してからは気温が高いので、蒸し暑さが新鮮でした。 ホテルにチェックインするぐらいから、英語でサバイブする必要があり、ドキドキしていました。 また、受講生は国籍が異なる2~3人で一部屋となっており、僕の場合は2人部屋だったのでその点もドキドキしていました。 部屋にすでにいるのかな?と思っていたけどまだ到着していないようでした。
アイスブレイキングディナーは日本チームが到着する頃にはすでに始まっており、ご飯も残り少なく悲しかったです。 とりあえずお酒を飲んで、いろいろな人と話していました。 このときに同じグループメンバーと会えたことや、ルームメイト、お酒好きの子4と話せたのは運が良かったです。
day1~5(講義)
翌日からは5日間講義メインでした。 講義内容についてはあまり言及できない5のですが、簡単に各講義の感想と講義中の生活についてまとめます。
Introduction to Web Pentesting(day1)
一番最初の講義。 Webの基礎からBurp Suiteの使い方、OWASP Juice Shopを使ったCTF形式の実践までを学びました。 CTFと聞くとワクワクする人間なんですが、例にもれず楽しかったです。 OWASP Juice Shopは今まで触ったことがなかったのですが、recon要素が結構あって大変でした。 実際のpentestってCTFと違ってrecon要素があるのは当然なのですが、競技+時間制限があると焦ってしまう。
Hackathon of Powershell Malware Detection Engine(day1, 3)
Powershellマルウェアの利点や性質を学んだ後、Powershellマルウェアの検知を行うスクリプトを作成する講義でした。 この講義はグループ内でアイデアを出し実装するので、ディスカッションをするのですが、英語力がなく方向性について議論ができなかったのが悔やまれます。 自分の実力不足によって十分に参加できなかったのは残念ですが、とてもクリエイティブな講義で楽しかったです。 結果としては弊チームは3位でした、チームメンバーがとても優秀でしたね👏。
Reverse Engineering Malware Written in C++ with IDA and Semi-Automated Scripts(day2)
C++の基礎(オブジェクト指向周りの話やTemplates, vftableなど)からCTOを使った自動解析などを学びました。 また、実践としてCTF形式でC++製マルウェアの解析も行いました6。 かなり濃い講義で、いかに今まで適当にC++製バイナリを読んでいたか痛感させられました。 正直理解が追いついていない箇所もあったので復習します。
Hypervisor 101 in Rust(day3)
この講義では、Fuzzing機能を持つhypervisorをRustで実装し、その周辺技術を学びました。 講義内容については講師のSatoshi Tandaさんによりこちらで公開されています。
この講義は事前準備の時点である程度共有されており、この量を5時間でやるの正気か…?と思いとてもビビっていた講義です。 実際、講義の流れとしては必要な機能とそれを実装するための命令について学んだ後、各チェックポイントを実装する流れになっており、本質部分に注力できる形になっていました。 基本的には講義資料とIntel/AMDの仕様書を見ると実装できるのですが、Rustにあまり馴染みがないので少し苦戦しました。 Rustしっかり入門しておくべきでしたね…
最近Rustを触る機運が高まっているので入門してまたチャレンジしたいです🦀
Practical Malware and Ransomeware Investigation(day4)
どこまで言及して良いのか一番わからない講義です。 いろいろな統計データと共にランサムウェアの脅威について学びました(大雑把に言うとこう?)。 講師の方の都合で講義パートだけで終わってしまったっぽい。
Web Tracking and Browser Fingerprinting(day4)
Browser Fingerprintingの様々な手法を知り、プライバシー保護の観点からも考察する講義でした。 Browser Fingerprintingについては全然知らなかったのですが、プライバシー保護はどの技術スタックでも難しいトピックだなと感じました。
Drone Security and Signal Analysis(day4,5)
ドローンのセキュリティについて学びました。 信号解析についてはあんまり言及されていなかった気がするんですが僕の英語力がなかっただけですかね? ただ、ネットワークのパケット解析的なものは少しありました。 また、講師の方がパワフルでとてもおもしろい方だったのでずっと笑ってた気がします。
この講義は公開されているスケジュールとは違い、2日間に分かれていました。 1日目は座学で、2日目は実際にドローンを組み立てて飛ばしてみる実践でした。 2日目にはパケット解析をしてもよかったのですが、疲労困憊の僕は脳死でドローンを飛ばしていました。 どろーんとばすの、たのし〜〜〜(実際操作は結構難しいですが…)
Attacker behavior analysis base on attack vector analysis(day5)
Apacheのアクセスログから攻撃者のIPアドレスを見つける講義でした。 Webの基礎からunixコマンドを使ったログの解析方法までを学びました。 5日目の疲れた脳みそにはほどよい講義でした。
講義中の生活
基本的に朝6時半起き、1~2時頃に就寝という生活をしていてかなりハードでした7。 朝昼晩すべて会場で提供されるので講義中はほとんど会場で過ごしていました。 会場にいなけれいけないということではなく外食してもよいので、時間変更によって空き時間が増えた4日目はいくつかのグループで昼ご飯に出かけたりしました🍴
また、ホテルの立地がよく歩いて15分ほどでマーライオンのところまで行けるので、夜そのあたりを観光してからグループワークを夜中までやるといった刺激的な毎日を送っていました。 ただ、毎日夜遅くまでグループワークをしていたというわけでもなく、飲みに行ったりもしてました8 🍺
day6(観光&帰国)
朝にGCC参加者で観光を少しして朝ご飯なのか昼ご飯なのかわからないご飯を食べた後に日本チームは帰国となります。 5日間ハードなスケジュールを共に過ごしていたのでかなり名残惜しかったです。 たくさん写真をとりました📷
帰りのフライトは昼食を食べた後爆睡していました。💤
感想
オンサイトのイベントはやっぱり最高だな〜と思いました。 やっぱりここ数年はオンラインのイベントが多かったので、オンサイトの良さを再実感しました。 雑談を通じて様々な国の文化にふれることができてとても刺激的でした。 セキュリティはCS分野の中でも特に国際的な影響が強く表れるので、いろいろな国籍の人と話せることはとてもよい機会だなと思いました。 あと、参加者各位若くて優秀な人たちばかりでまぶしかったです😇
また、これからの課題だと感じたのは英語力です。 Powershellマルウェア検知の講義でも述べたように英語力があれば…というシーンがとてもたくさんありました。 講義時間以外でも楽しく会話できたのですが、もっと細かいニュアンスを伝えたい!とどうしても思ってしまいます。 英語…もっとできるようになりたいです。精進します。
コミュニティの形成としては皆とてもアグレッシブで様々な媒体でつながりを持つことができました。 Twitterをやってる人があんまりいなかったことが驚きでした。
今回GCCを通して、まだまだ未熟な点(英語とかコンピュータ何もわかってないこととか)も再確認できたので、これからも精進していこうと思います。
修了証、想像の5倍はいい紙(謎情報)
最後に
このような機会を用意してくださったGCC運営メンバーや渡航や生活のサポートをしてくださったセキュリティキャンプ関係者の皆さん、ありがとうございました。 また、GCCを通じて関わってくださった皆様にも感謝します🙇
GCC2024はタイでの開催のようなので、興味がある方は是非挑戦してみてください9。
無能ゆえ研究に精神をすり減らして精進皆無生活を送りがち… ↩︎
今回の講義メインが低レイヤっぽいのと、セキュリティキャンプ全国大会に参加してない勢なので、このツイートを見て弱気になった ↩︎
yoshi-camp参加中に選考通過メールが届いて驚いた記憶がある ↩︎
終盤この子と片っ端から残っているビールを飲んでいた ↩︎
英語力がないので言及していい部分とだめな部分が正直全部把握してない… ↩︎
何を解いたかとかは言及してはいけなかった記憶があるので、ここでは触れません ↩︎
木曜日には疲労maxでグループメンバーにめっちゃ疲れてるねって言われた ↩︎
結局夜中まで飲み歩くので睡眠時間は😇 ↩︎
セキュリティキャンプ全国大会に参加していなくても選考には関係ないようなので、これまでセキュリティキャンプにチャレンジしてこなかった人も是非! ↩︎