セキュリティ・キャンプ2022 Bトラック(Webセキュリティ)参加記

この度セキュキャン2022Bトラック(Webセキュリティ)を参加しました.

初めての技術系イベントで不安でしたが, とても実りある時間で楽しかったです. ここではセキュキャン応募時からイベント最後までの感想等を書いていきます. (ブログを書くまでがセキュキャンらしい?)

セキュキャンのレベルが高そうといった不安で応募に迷っている方は, この記事を見て不安を取り除いてぜひ応募しましょう!

応募の頃

ゴールデンウィークごろにTwitterで講師の方々が宣伝されてたのを拝見してちょっと応募課題を見てみたところ, Bトラックの課題が興味もあって頑張ればできそうと思って課題に取り組むことにしました.

課題を取り組んだときの詳細は以下にあります.

セキュキャン2022応募課題晒し

通過通知がやってくる

課題締め切りから約2週間後に通過通知メールがやってきました. 合否決定はセキュキャンサイトに置いてあるpdfから自分の番号を見つけることで合否が分かるという仕様, 高校入試の合格発表と同じドキドキ感が味わえました. ドキドキ

受かる自信があまりなかったので, 自分の番号を見つけたときは驚きました.

身に覚えの無い配達がやってくる

合格した喜びを感じながら過ごしていたところ, 突然Amazonから身に覚えのない配達がやってきました.

https://twitter.com/strayer_13/status/1534484204029120512

中身を開けてみるとどでかい徳丸本とDK本ことイラストでわかるDockerとKubernetesでした.

セキュキャンで本がもらえるとはつゆ知らず, 本がやってきた時は驚きました.

体系的に学ぶ 安全なWebアプリケーションの作り方, 徳丸

イラストでわかるDockerとKubernetes, 徳永

本がもらえるチャンスなのでみなさんもぜひセキュキャンに応募してください.

どでかい段ボールがやってくる

続いてどでかい段ボールがやってきました.

中身はなんとノベルティの山とセキュキャンTシャツでした.

ノベルティというものを初めてもらったのでとても嬉しかったです.

ホワイトボードノート?みたいな商品も入っていました. (⌒▽⌒)

事前課題、来襲

Bトラックのwebセキュリティではセキュキャン当日は講義形式で進んでいくため, あらかじめ前提知識を持っておかなければなりません. そこで事前課題が投下されました.

ブラウザ自作

Bトラックの講義の一つとして, ブラウザ自作がありました.

https://github.com/d0iasm/vulbr

vulbrという, 既にHTML/CSS/JavaScriptをパースしてレンダリングする機能は備わっているコードが与えられ, そのコードを元に機能を追加するという課題でした.

本コードはRustで書かれており, コードリーディングするのとても楽しかったし, ブラウザの仕様も深く知れてよかったです.

Container & Kubernetes

講義の一つにコンテナを自作したりコンテナやk8sのセキュリティを学ぶものがありました.

そこで, docker kubernetes本を読んだり講師の方が用意してくださった学習サイトをもとに学習を進めました.

手を動かしながらコンテナやk8sが学べました.

セキュキャン当日がやってくる♪

応募したのも束の間, すぐにセキュキャン当日がやってきました.

講義

講義では以下のような内容を取り扱いました.

見て分かる通り, 盛りだくさんです. 実際, スライドが200ページを超える講義もあり, 一つ一つの講義の内容も盛りだくさんです.

これを見てWebセキュリティがコーステーマとは, ぱっと見思えないですが, 講義を実際に受けてみて, webはどこにも通じているんだなと思いました.

順番に感想を述べます.

本講義ではブラウザのセキュリティについてchromiumの開発に携わっている方に教えていただきました.

ブラウザを使っているだけではわからないようなこと, 特に多層防御 (Defense in depth)やHistorical Reasonsについて知ることができました.

本講義では, 近年流行しているアーキテクチャならではの脆弱性についてハンズオンを交えて学びました.

印象に残っているのは, 仕様の解釈の不一致による脆弱性の発生です. こんなふうに脆弱性が発生するのか!と驚きました.

本講義ではPolicyをCodeで規定するという, Policy as Code(PaC)について学びました.

PaCはこの講義を受けるまで全く知らなかったのですが, 講師の方の丁寧な解説のおかげでPaCの旨味を知ることができました.

学部でPrologを学んだ経験があったこともあって, Prologを参考にした?policy記述言語Regoのハンズオンもそれなりについていけました.

本講義ではCI/CDパイプラインや開発者の端末における脆弱性について学びました.

GCPを用いたハンズオンを交えたため, 実践的に学ぶことができました.

CI/CDはそれ自体多数のソフトウェアで構成されているため難しいですが, セキュア化にするのはさらに難しいなと感じました.

やはりセキュリティを考えるためには技術の基礎をしっかり理解することが大切だと実感しました.

開発環境のセキュリティおよびCI/CDパイプラインのセキュア化

https://github.com/rung/training-devenv-security/

本講義ではサプライチェーンセキュリティについて, 最新の技術であるsigstoreのハンズオンを交えて学習しました.

応募課題でdependency confusion attackについて調べていたため, とても興味深く学ぶことができました.

テーマにもあるように, “これから”を考えるきっかけになりました.

本講義ではコンテナやk8sについてハンズオンを交えて仕組みから理解しました.

コンテナは普段から使っているが, ハンズオンで脆弱性を突く体験を通して, 危険だなぁと感じることができました.

https://github.com/mrtc0/seccamp-2022

LT会&参加者交流会&グループワーク&成果発表会

セキュキャンでは, 講義以外にもさまざまな交流がありました.(オンラインですが)

実際に参加者とお話ししたり発表を聞いたりする中で, 参加者のバックグラウンドがとても多様で, どの人も非常にレベルが高いと感じました.

全体の感想

先に述べた通り, バックグラウンドの多様性に驚きましたが, どの参加者・チューター・講師の方々も共通して技術が好きなんだなと思いました.

特に, ハードウェアからソフトウェアまで幅広い人が集まっているのはとてもレアなコミュニティですね.

講義中, 発表会問わずDiscordのチャットがとても盛り上がったり, いろいろな人とボイチャできたりして楽しかったです.

講義で得た知識はもちろんですが, セキュキャンの方々と触れ合えたのはとても貴重だと思いました.

印象に残ったこと

感謝の舞

セキュキャン参加者・チューター・講師の方々・関係者・スポンサー企業様・セキュキャンで使われている税金を納めてくださっている国民の皆様方に感謝します.

セキュキャン2022を通してとても多くのものを学んだので, 今後もネクストに参加したり, チューター・講師(?)になれるように技術力を磨いて恩返しをしたいですね~

みんなもセキュキャンにどしどし参加しよう!