セキュリティ・キャンプ全国大会2019に参加した

これis何

セキュリティ・キャンプ全国大会2019 B開発と運用トラックに参加させていただいたので、感想やらなにやらを書いたものです。 なお、各講義については、感想文としてお読みください:-)

セキュリティ・キャンプとは

サイバーセキュリティについての高度な技術が学べる勉強会です。全国大会と地方大会があり、前者は5日間泊まり込みでおべんきうできます。https://www。security-camp.or.jp/camp/index.htmlxn--wwwsecurity-camp-m12o.or.jp

応募課題

応募に際しては、応募課題(セキュリティ・キャンプ全国大会2019 応募要項 :IPA 独立行政法人 情報処理推進機構)を回答する必要があります。

僕の回答については以下を読んでいただければ幸いです。

セキュリティ・キャンプ全国大会2019の応募課題晒し - けんちゃむろぐ

事前課題

必修講義、選択講義ともに、各講義のための事前課題がありました。ボリュームも質も相当あります。これだけでもかなり勉強になります。というより、ちゃんとやっておかないと当日何をやっているかわからなくなってしまうと思います:(

任意課題も一応解いて臨みましたが、当日はついていくのに精いっぱいでした…

day1

昼頃に会場であるクロスウェーブ府中に集合しました。久々に朝早起きしてトーホク地方から向かったため、なかなか疲れていました。

開会式後は全体講義でした。「転ばぬ先の法律」では、サイバーセキュリティを推進する上での倫理や法律について、「セキュリティ基礎」では、そもそもパスワードってどういうものよ?という根本について、「ITの話ができる仲間を作ろう」では、コミュニティ活動や仲間との切磋琢磨についてそれぞれ学びました。

余談ですが、大量にいただいたノベルティの中には羊羹やラノベなど面白いものがたくさんありました。個人的に欲しかったバイナリかるたゲットしたのでうれしかったです。

day2

一日を通して、Bトラックの必修講義の「クラウド時代における大規模分散Webシステムの信頼性制御」を受講しました。前半は坪内さんによる座学で、Webシステムのアーキテクチャやスケーリングについて、トレードオフの関係やSREの基礎について学びました。後半は仲山さんによる講義で、SNSのようなシステムに対しスケールするような設計と実装を施していくというものでした。演習の環境構築から少々時間がかかってしまったため、休み時間や夕食後の時間も早めに講義室に入るなどして設計を考えました。しかし、俯瞰する部分と詳細を突き詰める部分の見方が悪く、よくない設計となってしまい、今回のセキュリティ・キャンプ内で最も反省点が多いものとなりました。DynamoDBを使用しましたが、そもそもNoSQLについての理解が甘かったのと、仕様の調査もきちんとできていませんでしたし、そこからずるずると、今までできていた設計(以前やったことのあった設計)まで崩れたものになってしまいました。

専門講義初日から落ち込んでしまい、夜中には悪夢をみて起きるという事態にまでなりました。:cry:

day3

この日は選択講義のB4「認証の課題とID連携の実装」、B5「体系的に学ぶモダンWebセキュリティ」を受講しました。 B4では、そもそもIDと認証とは?という概念的なものから、実際のFIDOやOpenIDConnectのフロー、そしてその実装をサンプルを使って学びました。事前課題の任意課題まで解いていたので、何とか講義についていくことができました。

B5では、事前課題でやった内容を前提にハンズオンが主体でした。具体的には、CSSinjectionのデモ、それを利用したぷちCTFをやりました。結局時間内に答えにまでたどり着けませんでしたが、具体的にどういう動きをするかが学べてとても楽しかったです。講義中にうまくいかなかったところの原因がTypoによるものだということに後で気づき、だいぶ頭が凝りかたまっているなあと反省しました。 また、つばめさんに、「シェルスクリプト書くとかすぐさまPythonワンライナーを書くとかして、効率化や自動化すると幸せになれる」というコメントをいただき、学習や生活の中でも、どんどん便利に素早くやることの重要性を教えていただきました。

day4

この日は選択講義のC6「事例と法律」、B7「ユーザー企業における情報システムとセキュリティ」を受講しました。 C6では、刑法の基礎についての座学があった後、法律の条文を読みながら事例についてチームで検討し、発表し議論するというものでした。様々な解釈が可能な事例を提示していただき、事実や行動がどう論理的に説明できるかということを学びました。また、相手(検事と弁護士両方など)の視点を考えることも重要で、反論に対し、論理的な説明をするのが難しかったです。

B7では、これまでの境界セキュリティとは別に、ゼロトラストの考えを用いたセキュリティの考え方について学びました。Trustゾーンの信頼性の低下によって、複数の変数による妥当性の担保をしなければならなくなったことなどを、変遷を踏まえて学び、その具体的なものとして、GoogleのBeyondCorpについても詳しく学びました(もっとも、ゼロトラストの概念とはBeyondCorpのことだというお話がありました)。

ラストナイトイベントでは、運よくたくさんのテキストなどをいただくことができました。

day5

最終日は各コースの成果発表を聞きました。特にゼミやネクストの進捗はすさまじく、濃く面白い発表でした。また、ジュニアの方々も、中学生とは思えない進捗を生んでおり、圧倒されてしまいました。自分は中学生の頃、Linuxすら知らなかったよ…

グループワークのまとめも行い、僕たちのグループでは、ブログなどによる学びのアウトプットを主体に、大きな目標として書籍の出版を掲げました。

まとめ

初日から、講師、チューター、参加者の方々すべてのレベルの高さに圧倒されていました。このような環境でレベルの高い講義を受講できたことは非常に貴重でした。ものすごい技術力をお持ちであるのに、初歩的なことまで丁寧に教えてくださった講師やチューターの方々、すべての関係者の方々、参加させていただけたことを本当に感謝いたします。

自分ははるかに技術力的に未熟なんだなと感じることができました。 講義によって学んだ技術的なものもさることながら、熱意をもってセキュリティに取り組んでいる方々に刺激をもらえたことが、最も貴重な学びだったと感じています。

今回圧倒的に感じた、スピード感や熱意を自分のものとし、精進していきたいと思います。

おまけ

閉会式終了時の事務局の方によるおもしろスライド