セキュリティキャンプ2024の感想です。事後アンケートで提出したものを載せました。

共通講義・特別講義の感想

セキュリティキャンプで受講した様々な講義の中から、3つの講義を選んで書き記します。

法律と倫理 法律の基礎

技術者倫理の話が印象に残っています。その中でも、中立的行為による幇助についての話が特に興味深かったです。技術者として社会に影響を与えるようなプログラムを作成できる立場にある一方で、それを悪用されてしまうことも考えれます。それについて、法律的な視点で見るとどのような形になっているのかのお話を聞き、参考になりました。

人の脆弱性とセキュリティ対策

心理学とセキュリティの関連について様々な話を聞きましたが、特に人が関わる脆弱性についてのお話が記憶に残っています。「人は他の人の役に立とうとする」や、「人は他の人の間違いを訂正したくなる」といった、人の善意が脆弱性になってしまうという話が興味深かったです。自分がそれらの認知バイアスを利用した攻撃の電話を受けた際には、ころっと騙されてしまうんだろうなと思いました。

日本発のサイバー技術の造り方

システムソフトウェア領域(いわゆる低レイヤと言われる、OS・仮想化システム・クラウドシステムといった領域)とネットワークシステム領域(インターネットシステム・通信システム)をしっかり学ぶのが大事だという話が印象に残っています。アプリケーション領域は競争が激しくレッドオーシャンになっているが、システムソフトウェア領域とネットワークシステム領域は身につけるのが難しい代わりにブルーオーシャンだという話がありました。

自分もCコンパイラゼミを受講していることから分かるように、言語処理系という低レイヤを中心に学んできました。しかし就職のことを考えると、もっとアプリケーション領域に学びを変えるべきなのかと悩んでいました。この講演を聞いて、低レイヤを学ぶことには価値があり、もっと低レイヤを頑張ろうという気持ちになりました。

Cコンパイラゼミの感想

C言語について深い知識が得られました。現代においてもC言語で実装されたソフトウェアは数多くあり、C言語の知識が要求される場面も少なくありません。実際にC言語の仕様書を読み解くことで、「この計算式は整数拡張が行われるので、意図しない動作をする」などの点に気をつけられるようになりました。

アセンブリ言語について、特にアセンブリ言語をデバッグする経験を沢山得られました。Cコンパイラを作る中で、Cコンパイラで生成したアセンブリを見てバグを探すことが何度もありました。大量のアセンブリの中から必要な部分を探し、レジスタやスタックの値を考えながらバグの原因となった命令を探すこともありました。これらの経験から、命令を1つ1つ追い、レジスタやスタックの状態を考えながらアセンブリを読み、その動作を考えられるようになりました。

難しいバグに対して根気強く向き合う経験が得られました。セルフホストの際には込み入ったバグが沢山発生します。バグの中には、バグがあることを見つけてから解決するまで8時間かかるバグもありました。そんな難しいバグに対しても、少しずつ問題を切り分けていくことで、最後にはバグを解決することができました。コンパイラ自作を通して、難しいバグについても努力することで解決できるという経験が得られました。

低レイヤを学ぶ仲間と出会えた

コンパイラやOSなど、低レイヤを学ぶ仲間と沢山出会うことができました。低レイヤを学んでいる人は多くはなく、例えば大学内で探すにも限りがあります。セキュリティキャンプに参加したことで、低レイヤを学ぼうとする方に沢山出会うことができました。大学生・大学院生だけでなく、普段会わないような高専生や高校生、中学生にまで出会うことができました。

一度できた繋がりを大切にしていきたいと思っています。Discordで会話をし合う仲になったり、名刺を交換して連絡先を共有した方もいます。これからも連絡を取り合い、共に低レイヤの勉強に励んでいきたいです。

健康的な生活ができた

セキュリティキャンプでは、集団生活を通じて、全員が健康な生活リズムを送ることになります。セキュリティキャンプに参加することで、期間中はきちんと朝に起きることができました。(夜寝る時間は、毎日が盛りだくさんだったせいで守れませんでしたが・・・)。

まとめ

セキュリティキャンプを参加することで、様々な知識や経験を得ることができました。ありがとうございました!皆さん参加してみましょう!