はじめに
2024年もあと数日で幕を閉じるということで、今年の活動をざっと振り返ってみる。去年と比べて外部での活動が増えたこともあり、たくさんの貴重な経験ができた一年だったように思う。元々少し齧っていたネットワーク分野に加え、今年はサイバーセキュリティの面白さに目覚めたという点では、個人的にはかなり充実していた年だった!
本当は参加したイベントすべての体験記を詳細に書こうと意気込んでいたが、怠惰すぎて全ての体験記を2行で放り出し全てリタイアする羽目になった。しかし、せっかくなのでここに供養するつもりで全部詰め込んでおく。
1月
新年早々体調不良でダウンしていた。
元旦に引いたおみくじは大吉だったものの、大吉感ゼロなスタートを切ることになった。その原因を考えるに年越しライブで調子に乗りまくっていたのが災いしたのだろう。結果、「発熱!頭痛!筋肉痛!」という3連コンボを喰らい、数日間布団の中でひたすら唸る日々を送っていた。新年早々の最悪なスタートダッシュっぷりに我ながら全力で自分に引いた。
幸い、大学が始まるまでにはなんとか回復したのだが己の体力の衰え具合に失望し、反省したので「毎日運動しよう!」と心に決めた。勢い余って朝ランニングを始めたが、見事に4日で飽きた。これには自分でも笑うしかない。
2025はこの飽き性な性格を治したいものだ。
以降は大学1年生も終盤戦に差し掛かっていたので森羅万象に追われつつな割と多忙な毎日を送っていた。研究会で初めてのちゃんとした発表的なことがあったのでこれに一番振り回された記憶が強い。前学期の新人発表では「冗長化」に着目してRAIDをひたすら語っていたのに全く関係ないRPKIをやり始めた。
発表前日にROVの環境⇩を1時間弱で用意してくれた某先輩には今でも本当に頭が上がらない思いでいっぱいである。
今だから言える話だが、当時の私はRPKIどころかBGPさえも理解しておらず、先輩方のコメントはほぼ呪文に聞こえていた。その時の自分に「よくやった」と言うのはだいぶ無理がある。精進するんだ私よ。
ちなみに研究室内発表だけでなく、他の授業の最終発表全てがなぜか自分の誕生日に集結するという悪夢のようなスケジュールに直面した時は、本気で出家してやろうかと思った。だがなんとか乗り切ったので、そこに関しては自分を全力で褒めさせてほしい。
ただし、こんな形の誕生日プレゼントは普通に二度とゴメンである。次回の誕生日はもっと平和に過ごさせてほしい。
2月
シカゴに赴いていた以外はRPKIのインプットをひたすらしていた。
当時触ったことのあるRPKI関連の実装が Stay-RTR しかなかったので他も触ってみたりした。
Stay-RTR⇩
Routinator⇩
rpki-client⇩
rpstir2⇩
FORT-validator⇩
RPKI関連の実装といっても、CA publication serverではなく、主にvalidatorを触っていた。とはいえ実際に自分がvalidatorを実装したいというわけではなく、技術に慣れることが目的だったので特にコードを書いたりはしていない。
今になって、ちょっとくらいやってみればよかったかと少し後悔している。時間があればいつか挑戦してみたい。
言語が違うのは当然として、実装の構造もそれぞれ微妙に異なり、各実装のクセの強さには本当に悩まされた。特に現在もRoutinator以外の実装に関しては「まあ理解しているだろう!!!」と自信を持って言える状態ではない。なので引き続き勉強しなければならないなと思っている。どこかで「RPKIを完璧に理解した」と胸を張れる日が来るのだろうか...大分不安であるが、引き続き頑張るしかない。
3月
春休みを全力で謳歌していた。 (言い方を変えると1ヶ月間技術を全力でサボっていた。)
おそらく2024の中で一番人生の進捗があった月だと思う。旅行したい欲が高まってハワイに飛んだり、大好きなアニメの劇場版が絶賛公開中だったので連日見に行ったり割と自分のご機嫌取りを全力でした1ヶ月だった。
ハワイは人生お初だったためワクワクしていたが日本人観光客の多さに圧倒された。現地の人も日本語で普通に会話できる方が多く、ラーメンが必要とデカデカと書かれているふざけた日本語Tシャツを着て行った自分を本気で恨んだ。行く先々で「ここはラーメンないよ」と言われ毎回苦笑いするハメになった。実は同じ過ちを昨年のヨーロッパ旅行でもやらかしているのでそろそろ学びたい。
ちなみに滞在中、己の悲惨な成績を見る羽目にもなった。何をどうしたらここまで酷い点数になるんだ?と今でも自分に問いたくなるほどの結果だったため、これ以上は何も書かないでおく。ただ、これを反面教師にして学業をきちんと頑張りたい...と思う、思いたい、思うだけかもしれないけど。
4月
ASPAをやり始めた。
ASPAとは "Autonomous System Provider Authorization" の略で、超簡単に言えば
「トランジット関係にあるAS同士の関係性を検証する技術」である。
ASPAのドラフト⇩
まだドラフトなので RFC になるかが見どころであるが、個人的に気になっていた技術なので調査をしていた。しかし技術自体が大変マイナーであるため資料が本当に少ない。どれくらい少ないかというと、「ASPA」でググってみると検索結果の一番上にK-POP アイドルグループ aespa が出てくるくらいである。何回「違う、そうじゃない(泣)」をさせられたことか。資料や論文が切実に増えてほしい、全私が泣いて喜ぶ。
ドラフトは正直何十回読んでもイマイチ自分の中に完全に落とし込めた感覚というか、技術を自分のモノに出来た感覚を得ることが出来ない。未だに「これってどういうことだ...」とページを行ったり来たりしている。ので12月現在、動かそうとしているが大苦戦中である。ただ、学期末発表にはどうにか間に合わせたいという気持ちだけで頑張っている。
果たして間に合うのか、刺身先生の次回作にご期待ください。
5月
サイバーセキュリティの勉強を始めた。
セキュリティ・キャンプの応募受付が開始したことが一番大きい要因だと思う。当時の自分にとって課題内容は超がつくほど難易度が高い内容だったので、連日応募課題と睨めっこをしては発狂をしていたのは、今となってはちょっと良い思い出かもしれない。
形から入るタイプなので、こんなかっこ良さげな本を買って読んでみたりした。
ペネトレーションテストの教科書 第2版 (ハッカーの技術書)⇩
もちろん、この本以外にもいろいろな技術書を読破したが、初めて触れる用語が頻出するので、その都度ラップトップを横に置いてわからない単語を調べながら読んでいた。まずは内容の雰囲気慣れることを目標にしてインプットを進める中で、自分が理解できていない分野や苦手な領域が浮き彫りになってきたのが非常に良かった。
そこから、自分の弱点をピンポイントで突いて克服することを意識し、知識のムラを少しでも減らそうと努力していた。これは現在進行形である。
しかし、一つ理解したと思った瞬間に「じゃあこれってどういうことだろう?」と新たな疑問が次々に湧いてくる。ひたすらこの繰り返しで、結局これは無限ループなんだな、と悟った。だけど、そのループにハマっていくのも悪くないなと思えるようになったのは、少し成長した証拠なのかもしれない。
6月
Hack The Box を始める。
セキュリティ全般に対して関心が高まっていき、今度は手を動かしたい欲が出てきたので界隈の方々がやっていたHTBに手を出した。
Kali Linux を触ったのもここが初めてである。デフォルトでインストールされているツールの多さにたまげると共にこれを何の問題もなく使いこなせるようになるにはどのくらいかかるのだろうと気が遠くなった。
何も考えずにVIP課金をしたがHTBには無事のめり込んだ。基礎的な知識はあったものの starting-point を全てこなしたところで、実際のマシンに挑むと全く訳が分からなくて普通に絶望した。Chatgptと諸Writeupsには本当にお世話になった。2024年12月現在 Hacker rank まであと少しなので2025年になるまでにHackerの仲間入りができればなあとエクスプロイトを試みる毎日である。
ちなみに普段マシンを攻略する際、何も考えずに目に入ったものの攻略を試みるのだが、どういうわけかXSS-vitalなマシンに当たることが多い...
最悪なことにXSSは私の「TOP 不得意分野」に余裕で入ってくるので最近は先輩から教えてもらったPortswigger社が提供しているラボで勉強を進めている。
これ最高。全人類やってほしい。
2025年には「XSS得意!」と胸を張れるようになりたい...と言いつつ、まずはHackerランクを目指して頑張る所存!
7月
祝初JANOG参加だった。
周りから話だけは聞いていたJANOGであるが、RPKI界隈で超有名な Job Snijders 氏が登壇するという激アツ案件が発生したのでこれはいくしかないと思いJANOG54に参加した。
Job Snijders氏登壇のセッション
話には聞いていた通り超絶楽しかった。「楽しかった」としか形容することが出来ない自分の語彙力の無さをひたすら恨むばかりであるが、自分の研究テーマドンピシャな講演を聞くことができたり「お茶会」に参加して業界の女性の方々とお話をしたりと自分の将来のキャリアパスを考える良い機会となった。
学生という身分をフル活用して勝ち取った懇親会は、無料で参加させていただいたことに勝手に罪悪感を覚えるほど豪華だった。ピザと肉をモリモリ食べすぎて翌日顔がパンパンに浮腫んでいたのはご愛嬌。
大目当ての Job Snijders 氏とも会話をすることができたのが一番の思い出だと思う。講演内容に関する質問や ASPA の動向についても議論を交わすことができ、研究のヒントを沢山もらえたように感じる。
Snijders氏をはじめ、同じ研究室の方々や教授など、ありがたいことに日々その分野で卓越した知識を持つ方々と関わる機会がある。どんなにニッチで膨大な前提知識が必要なトピックであっても、彼らは初心者でもなんとなく理解できるようにスコープを広げて説明してくれる。このスキルは本当に喉から手が出るほど欲しい。
帰りの新幹線では、ついに「How to わかりやすい説明」について一人で唸り始めた。理解しやすい話し方の極意を追い求めるのも、これまた奥深い道のりになりそうだ。
また7月は 研究室の学期末発表 があった。白目を剥きながらポンチ絵などを描いていたのを覚えている。刺身から「炎上身」に改名しようか真剣に検討したほどである。
限界すぎて遂には存在するかもわからない神様を崇拝し始めた。
発表自体は何とか終えたのだが、質疑で痛いところを突かれて本当に気絶しかけた。しかしながら分野においてヒヨッコな私にも真剣に向き合って下さる研究室の方々には本当に頭が上らない、ここに来て発表や議論を交わす楽しさを知れたように感じる。
8月
セキュリティ・キャンプ2024全国大会に参加した。
5月に頭を抱えながら書き殴っていた課題がありがたいことに選考を通り、はるばるクロスウェーブ府中まで1週間ほど行ってきた。
私は開発コースの一つである S14『Detection-as-Code実践ゼミ』 に参加をし、Detection Engineering 漬けのキャンプとなった。
内容としてはGitでのVersion管理、Pull requestによるコードレビュー、CI/CDパイプラインによる自動テストとデプロイメントを活用した検知ルールの開発を通して効率的な脅威検知方法を学ぶことができた。
普段から何かの開発業務に携わっている人なら馴染みがある作業も多いかもしれないが、中で使用するツールのほとんどが初見だった私は、事前課題でいきなり大苦戦した。
以下は使用ツール一覧 / DE platform の全体図である:
テレメトリの収集: Sysmon、SilkETW、DTrace on Windows
検知ルールのバージョン管理とCI/CD: GitHub、GitLab
検知ルールの記述: Sigma、YARA
検知ルールのテスト: Chainsaw
検知の可視化: Grafana
講義では Process Injection 攻撃に着目し、攻撃コードの開発、動作確認から検知ルール開発(Sigma / YARA両方) まで講師の方のサポートのもと全て行った。
私が取り組んだのは、Process Injection攻撃の中でも有名なDLL Injection攻撃とProcess Hollowing攻撃。特にProcess Hollowingはその派手な攻撃手法に興味を持っていたので、実際に動かして検知するまでを経験できたのは非常に良い体験だった。
途中大分ハプニングがあり、色々お手数をおかけしたが無事終えることができた。
残念ながら、成果物が全て置いてあるGitHubリポジトリには攻撃コードが含まれているため、倫理的な観点から共有はできない。しかしこの1週間は、自分の開発モチベが刺激されまくりなとても濃い時間だった。
キャンプでは個々の開発・専門講義のほかに共通講義なんてものもある。セキュリティを勉強するにあたって身に付けることが不可欠な法律関連の講義からゲームセキュリティの話まで多数のトピックを扱った講義を聞くことができた。途中開催されたLT大会では普段触れない技術の話ばかりで、20秒に1回の頻度で「はえ〜」と言っていたと思う。
講義以外にも同世代の知り合いを沢山作れたのも非常に嬉しかった。名刺交換タイムでは色んな方々と話す機会を得て、この時だけはチキンを捨てて視界に入った人にとりあえず突撃するようにしていた。自分より3、4歳年下なのにゴリゴリ開発をしている人や、小学生で「フロントが好きです!!!」という方々と話しているうちに、「時代...」と完全に宇宙猫状態になった。
もし来年度の参加を迷っている方がいるなら、ぜひ前向きに検討してみてほしい。
9月
APNIC58と某幅広合宿に参加した。
ありがたいことにJPNIC様のフェローシッププログラムに採用していただき、ニュージーランドへひとっ飛びしてきた。
当然ながら、オール英語の場だったため、自分の英語力を再確認する良い機会となった。結果はというと...確実に衰えている。普通にやばい。ちゃんと勉強しなきゃ、と心底思った。
それでも参加したセッションはどれも興味深く、ネットワーク技術の面白さを改めて感じることができ、高揚したのを覚えている。特にRouting Security SIGでは、現行のRPKIに関する改善案や全く異なるアプローチを提案する研究発表が次々とあり、1時間ちょっとでは到底足りないくらい充実していた。
興奮しすぎて、講演者に突撃して質問攻めをしたり、自分の研究分野について意見を聞いたりする中で、鋭いコメントをもらい「ヒェッ」となりながらも、その刺激にアドレナリンが出っぱなしのカンファレンス期間だった。休む暇もなく知識を吸収しまくったおかげで気絶しかけるほどの時間を過ごせた。
また、カンファレンス参加に際して手厚くサポートしてくださったJPNICの方々には、本当に感謝しかない。詳しい体験談については別途文章にまとめているので、興味があればぜひそちらも読んでみてほしい。
さらに、JPNICはこのような国際カンファレンスへのフェローシッププログラムを定期的に開催しているので、ぜひ応募を検討してほしい。百聞は一見に如かずである!!!
某幅広合宿については、公に書けないネタが多いため (倫理的にまずいという訳ではなく機密情報が多い) 、漏洩防止の観点からあまり詳しくは触れないことにする。ただ特に深く何か活動をしているわけではないものの、このような組織に居させていただけること自体がとてもありがたいと感じた。(ホテルの部屋を相部屋で取った先輩と人生の話をできたのもとても楽しかった。)
自分がいる環境をもっとフル活用できるようになりたいとは常々思っているものの、正直まだその活用度は低い気がしてならない。もしかしたら、まずは知識のインプットを優先するべきなのかもしれない。いや、でもそれだけではダメな気もする...と、結局のところ自分自身との相談が続く日々である。
この環境をいつか最大限に活かせる自分になりたいとは思う...そのいつかがいつになるか分からないけど。50年後かも。
10月
寄り道をしまくっていた。
9月にあれだけネットワークにどっぷり浸かったにも関わらず、ここにきて「自分が何をしたらいいのか分からない」という謎の精神状態に陥った。元々進めていた ASPA / RPKI の研究も訳が分からなくなり、HTBもサボりがち。「一体自分は何をやりたいんだ!」と自問自答した挙句、そうだ!実装をしまくろう!! という意味不明な思考回路に行き着き、とりあえず手当たり次第にコードを書き殴った。
といっても、実装したものは大したものではなく、パケットキャプチャツールやポートスキャナー、帯域測定ツールなどのシンプルなものが中心だった。
正直ASCIIアートに一番時間をかけた気がする。
また、WebAssemblyにひどく魅力を感じ、Rustに挑戦してみたりと手を広げすぎた結果、Rustがある程度書けるようになったのは感謝。ただ、後から振り返るとこれは「追うべきテーマを思うように理解できなかった自分が逃避した結果」だったように思う。逃避癖があるのは本当に直したいところ。
さらに、この月は人生においての大トラブルが発生し、精神が盛大に壊れた時期でもある。今となっては爆笑しながら語れる話なので、興味があれば直接本人に聞いてみてください。
11月
CODE BLUE、Internet Week に参加した
この月に関しては無限に語れる、というのも一年の中で最も忙しく、そして最も学びのあった月だと感じるからだ。
まずは超絶楽しみにしていたCODE BLUE。補足しておくと、CODE BLUEとはサイバーセキュリティに関するトピックを幅広く扱う国際的なセキュリティカンファレンスである。
私は学生スタッフとして応募し、その中でも特にスピーカーアテンドという役割を担当させてもらった。講演者の方々に付き添い、案内や講演中の諸設定を担うポジションだ。同じスピーカーアテンドチームのメンバーには顔見知りやSNSで繋がっていた方も多く、自然と円滑なコミュニケーションが取れたように思う。特に、コアスタッフとして多く関わらせてもらった3人の方々が非常に頼りになり、安心して業務を遂行することができた。
とはいえ、実はこのボランティアは結構中々ハードである、というのも集合時間が早朝なので早寝早起きが大の苦手な私にとってはある意味生活習慣を正すための良い修行となった。
カンファレンスではスタッフとしての役割を果たすだけでなく、ブースや講演を自由に見て回ることもできた。特に印象に残っているのは、GoogleのRed Teamに関する講演や、カーネルストリーミングの脆弱性とWASMに関する講演で、スピーカーの方も講演もどれも言葉では表せられない程カッコ良すぎて、終始鳥肌が立っていたのを覚えている。また、スピーカー控え室で実際の講演者の方々と話す機会もあり、非常に貴重な体験だった。疲れはしたものの、心から「応募して良かった!」と思えるイベントだった。
さらに、セキュリティ・キャンプで出会った方や、APNIC58で一緒だった方々とも再会できてとても嬉しかった。今年はイベントにたくさん参加したおかげで知り合いが増え、そうした繋がりが自分にとって大きな支えになっていると実感している。
この調子で無い社会性を身につけていきたい。目指せ光のセキュリティ人材。
次はInternet Week について。
Internet Weekには発表者としてと、NOCとして参加した。どちらも初めてだった。
発表に関しては自分の研究内容を発表したという訳ではなく、併設イベントのJPOPMにてAPNIC58のフェローシップ体験を話させてもらった。会場は意外とアットホームで中にはあったことがあった方もいたので割とあまり緊張せず発表ができたと感じている。
NOCはというと、本当に本当に勉強の連続だった。大学でネットワークを少しかじった程度の自分が、一からイベントネットワークを構築する経験など全くなかったため、最初は応募を躊躇した。しかし、「後悔するくらいならやってみるかあ」という勢いで、締切 5分前のギリギリに応募資料を送信した。
今回、私はL2 / L3チームとして参加させてもらった。同じチームの方々はほとんどが初対面だったが驚くほどコミュニケーションがスムーズで、このチームで本当に良かったと思う。
会場ネットワークの構築にはさまざまなセクターがあり、私はいろいろな部分を少しずつやらせてもらったのだが、中でも一番達成感を得たのは、会場ネットワークで ROV を実現できたことだった。途中検証用のVMを破壊してしまったのは本当に土下座案件だが、普段研究として取り組んでいることが実際の環境で動くのを目の当たりにしたのは初めてで、なんとも形容し難い嬉しさを味わった。
やはり Invalid 経路はけしからんな。不正経路をぶっ壊そう
もちろん、壁にぶち当たる場面も少なくはなかった。ピアが張れない、名前解決ができないなどのトラブルが発生し、その都度NOC全体でPCとにらめっこをして問題解決に挑む光景はNOCらしくてだいぶ良かった。初めて触る機材も多く慣れないことだらけだったが、確実に次につながるモチベーションを得られたと感じている。
ちなみにお弁当も超美味で満足だった。美味しいものはいくらあってもいいですからね、本当に。
IWNOC での経験を通して、ネットワークを構築する楽しさを知ることができたのは本当に本当に大きな収穫であった。同時に知識不足も大いに実感したがそれもいい話だ...と思いたい。
12月
将来について考えている。
将来、というとあまりにも抽象的で一体お前はいつの話をしているんだ、と言われそうなのだがズバリ就職 or 院進かについてである。今年は数々のイベントに参加し、多くの刺激を受けたおかげで、やりたいことがどんどん増えてしまった。しかし、残念ながら私の体は一つしかなく、時間も有限だ。すべてをやり切ることは無理なので、優先順位をしっかり考えながら、自分が本当にやりたいことを存分にやりたいとつくづく思う。
とはいえ、もうそろそろ学期末発表の時期で、お察しの通り私は絶賛大炎上中である。こんな発言をした過去の自分をタコ殴りしたい。お前は何を言っているんだ。
発狂しつつもこうして振り返りを書くことで、なんとか前に進む力をひねり出そうとはしている。実際捻り出せているかは別として。ちなみに全然発表に関しては大鬱である。
おわりに
気づけば思った以上に長くなってしまった。こうして振り返ると、今年もいろいろやってきたなあとしみじみ思う。しみじみするあまり全然現実逃避したくなる。
2025年は何をやろうかなあと考えながら、同時にこうしてアウトプットすることの大切さを改めて感じている。まずは、溜めに溜めているWriteupを公開してみようかな...などと思案中。言うだけで終わらないように気をつけないとだけど。
この調子で、来年もいい感じに突き進めたらいいなと思う。今年も数えきれないほどのやらかしをしたが、また何かやらかしてもそれもまた一つの経験ということで、2025年も全力で楽しみたい。