セキュリティ・キャンプ 2023に参加しました
1. はじめに
今回、セキュリティ・キャンプ全国大会2023(以降セキュキャン)のA:IoTセキュリティコースに参加したので、内容の整理、情報発信、モチベーション維持を兼ねてまとめていきます。
1.1. 自己紹介
私は現在大学4年生で、インターネットに興味があり大学や研究室を選びました。現在はIoT機器の通信セキュリティに関する研究を行っています。
1.2. セキュリティ・キャンプとは
2. 志望動機
セキュキャンに関しては大学2年生の頃に知り、昨年の2022年にも応募しましたがその時は落ちました。今年は年齢的に最後のチャンスなのでかなり時間を費やし、課題に取り組みました。課題を公開する文化があるようですが、今の所考えていないです。気が変わったら公開します。
私が参加したいと思った理由は主に
- 人脈を作りたかったから
- 普段関わらない分野に触れたかったから
でこれらをメインに志望理由を書きました。Notionの履歴を見ると、4月の中旬に書き始めて、締切ギリギリまで編集していたようです。
同時にSecHack365にも応募し、手応えはあったのですがこちらは落ちてしまいました。
3. セキュキャンの内容
1日目【8/7(月)】
会場入り
場所はクロスウェーブ府中という場所で、東京駅からすぐだろうと田舎民の私は思っていましたがめちゃくちゃ遠かったです。
後から気づいたのですが、中央線の快速に乗ればもう少し速かったみたいです。
昼食
暑日の昼食は、オムライスとつけ蕎麦から選択でき、酷暑の中重いキャリーバッグを運んで脳死していたのでつけ蕎麦を選択しました。近くに座った受講生の方がオムライスを選択しており、美味しそうだなと思いました。(感想が小学生みたい)ここで、早速何人かの受講生と名刺交換をし、雑談を楽しみました。
開講式
開講式です。少し緊張していてあまり覚えていないです。
K4. ハッカーの倫理
最初の講義は共通講義でした。
最初に法律に関する講義があり、その後検察庁の増田さんと、弁護士の北條先生、そして園田先生の3人のディスカッション形式で進みました。
お話が上手いのと、3人の話し方が好きなので聞き入っていました。
夕食
LT発表とグループワークのあと、夕食は何か美味しいものが出てきました。写真はテンションが上がってるA受講生の人たちです。
この後デザートタイムがあり、ここで名刺交換を多くの人としたのですが、時間が短く、あまりデザートを楽しめなかったのが残念でした。というか次のA1の講義に遅れました。ごめんなさい。
A1. ロボットカーで体験するC/C++セキュアコーディング
都留先生の講義で、車のハッキング、情報セキュリティに関する講義、ロボットカーの設定、セキュアコーディングに関する講義を行いました。また、CERT Cや、MISRA C++といったコーディングスタンダード(規約)についての学習も行いました。
事前学習などで知ってはいたものの、車のセキュリティ対策が蔑ろにされているなと感じました。
2日目【8/8(火)】
朝食
バイキング形式です。朝は納豆ご飯派です。
この日はコンビニに行けるということで朝早くに起きて朝食を済ませました。
A2. SBOMとシステム情報を元にした IoT機器のセキュリティリスク分析
松岡先生の講義で、ソフトウェア部品表SBOMの話から始まり、IoTセキュリティチェックリストについての説明、最後に実際のIoT機器のセキュリティリスク分析を行いました。
とある製品のファームウェアで使われているコンポーネントを抽出し、脆弱性情報をCVEデータベースと比較しました。そしてその脆弱性のリスク判定をし、グループごとに発表しました。分担して脆弱性情報を確認して行ったのですが、かなり多くの脆弱性を抱えており、中にはCVSSスコアがかなり高い脆弱性も見つけられました。ここで、ソフトウェア保守の観点からSBOMはかなり大切だなと感じました。
昼食
昼食はトラウトサーモンのしらすおろし丼を選択しました。
A3. 医療情報システムの情報セキュリティについて考える
木村先生の講義で、医療現場でのIoT機器の課題などについて学びました。変更ができないという点から、かなり高額で取引される医療情報ですが、病院内のネットワークは閉ざされているので安全だという閉域網神話のせいで、脆弱性があったとしても対処されないということを知りました。
また最近は病院内のLANには繋がらず、モバイル回線を使って遠隔操作する医療機器も存在するとのことで、ますます対策が難しくなっていると感じました。
ところでA3の講義に関する公式からのツイートがないのは何故だろう?
夕食
紅焼鶏腿やイカ団子のチリソースです。この団子が何なのかずっと疑問でしたがイカだったんですね。
協賛企業イベント
協賛企業イベントでは、様々な企業の方からお話を伺いました。
画像の右にあるのはGMOさんからいただいたスマホスタンドです。かわいい。
※ツイートは飲酒禁止だったので炭酸水で我慢している図です
3日目【8/9(水)】
朝食
睡眠不足と朝早かった(7:30までに身支度を整える必要があった)のが重なって眠かったです。右上にコーヒーが2杯ありますね。
たのしい社会見学
朝早くからバスに揺られ(しかも渋滞で予定時間よりもかなり遅れて)IPAに社会見学に行きました。途中まで隣の席の方とお話ししていたのですが、途中で気分が悪くなって寝ていました。
会場に着くとそれぞれの部屋に移動し、登大遊さんの公演を聞きました。登さんのお話を生で聞けるだけでもうお得です(?)
どこまで公開していいのかわからないので詳細は書きませんが、とにかく往復3時間半かける価値があったと思います。
そしてクロスウェーブ府中に戻ります。 帰りも渋滞に巻き込まれました。
昼食
IPAから戻り、醤油とんこつラーメンを食べました。ラーメンが一人ずつ茹でられており、凝ってるなと感じました。
A4. ローレイヤーから見るファイルシステムの理解
三村先生の講義で、FAT32でフォーマットされたファイルシステムを解読しました。ファイル削除をする際に、先頭だけ削除し、残りの部分はそのままなので復元ができる、というのは知っていましたが、それを実際に見るのは初めてでした。また、ディレクトリエントリ構造体の説明で8.3形式についても触れられましたが、時代を感じました。
最初は文字列を読み取るのに苦労しましたが、書いてある内容を理解できると面白くなってきました。
夕食
夕食は銀鮭のポワレ白ワインソースでした。メニュー変更で前菜3種盛がなくなってしまいました。悲しい。
ところで自分の周りの人間は写真に写りたい人が多いらしいです。指が写っていることに今気づきました。
A5. ロボットカーで体験するC/C++セキュアコーディング
A1に引き続き都留先生の講義で、ロボットカーのサンプルコードをCERT Cや、MISRA C++に違反するところを見つけて、発表しました。
実はA1の講義の後に、部屋でサンプルコードと睨めっこしながらルールに違反する箇所を探していたのですが、全然見つかりませんでした。最終的に3つの違反を見つけることができたのですが、他の人の発表を聞いていると、他にも様々な違反箇所がありました。
例えば、EXP21-Cは以下のようなヨーダ記法をするというルールです。
if (0 == x) { // x == 0 だと違反
/* ... */
}
このヨーダ記法は現在では不要だという議論もあるのでなんとも言えませんが、知っておくことは大事だと思いました。
今後複数人でコードを書くことも増えていくと思うので、このようなルールは頭に入れておきたいと思います。
NOC見学
A5の講義の後、時間があったのでNOCの見学に行きました。もともとネットワークが好きでとても楽しく話を聞かせてもらいました。
次はNOCとしてセキュキャンに参加するのもありだな、と、ここから思い始めました。
4日目【8/10(木)】
朝食
コーヒーが1杯に減っているように見えますが、2回おかわりしています。
この日もコンビニに行くために早起きしました。
A6. チップレベルでカスタマイズができることで見える世界の体験
秋田先生のLSIに関する講義です。あまり普段からLSIなどに関わらないので少し難しかったですが、講義がわかりやすく、少し興味を持つことができました。
ちなみに先生はハンダテラピストらしいです。
昼食
豚肉のごま照り焼きを選びました。ボロネーゼのパスタも美味しそうでした。
A7. 車載ネットワークを流れるCANパケット解析演習
井上先生の講義で、車載ネットワークCANの脆弱性などの講義の後、実際にCANパケットを取得・解析しました。CANという規格ができたのが昔だとはいえ、暗号化されておらず、送信元のアドレスも記載されていないのは、問題だと感じました。また、実際にCANパケットを解析すると規則性が見えてきて、とても面白かったです。
実は以前から井上先生の授業を受けてみたいと思っていたので、セキュキャンの中でも特に印象に残りました。
夕食
陶板焼きやお刺身が出てきました。豪華です。
名刺交換会
誰かの呼びかけで名刺交換会をしようとなり、私も行きましたが、熱気がすごく、顔も見覚えのある人が多かったので退散しました。結局名刺は200枚用意し、140枚ほど配れました。
翌日のグループワーク発表の準備が終わっていなかったので結局遅くまで作業していました。
5日目【8/11(金)】
朝食
野菜が多いですね。写真では分かりませんが、ヨーグルトに砂糖がたくさん入っています。
GW発表会
グループワークのテーマは、「セキュリティの"コンテンツ"を考えてみよう」でした。
様々な案を出し合い、最終的にワンクリック詐欺などに引っかからないように、いわゆる闇バイトなどのクリックしたくなる投稿を作成し、リンクを踏むと警告が出るようなサイトを作成することを提案しました。
成果発表会
それぞれのトラックでどのようなことをしたのかを発表しました。自分の参加した専門コースは、講義の割合が高く、開発コースのようにずっと演習するのも楽しそうだな、と感じました。また、ジュニアの人たちの発表のレベルが高く、自分も頑張らないとな、と思いました。
昼食
やることが終わってコーヒーを飲む必要がなくなったようです。麦茶を飲んでいます。
また、昼食の時に貼るだけで「管理ずさんだけどパスワード頑丈すぎるやつ」になれる付箋ステッカーをいただきました。今はパソコンに貼っています。
4. セキュキャンを終えて
まず一番良かったことは、この分野が好きな受講生、チューター、講師の方々と交流できたことです。
大学生になってすぐにオンライン講義になり、友達もTwitterで知り合った人や、部活が同じ人ばかりでした。研究室に配属される頃には対面授業が主になり、友人も増えましたが、技術的な話をする人はそこまで多くありませんでした。
それが今回のセキュキャンに参加したことで、様々な分野に興味のある人と関わりを持てました。
自分の好きなネットワーク関連の人は少なかったものの、普段見聞きしない分野が好きな人多く、それに影響されて、いろいろ挑戦してみたい と思うようになりました。
今後頑張ること
自身の研究を進めることは当然として、それ以外の分野にも興味を持ち、挑戦してみたいと思いました。これはLT発表を聞いているうちに普段関わらない分野も面白そうだなと興味を持ったからです。
このセキュキャンは人脈を広げられ、自分のモチベーションを高められるいい機会なので、来年はNOCかチューターとして参加したいです。そのため、それ相応の知識を身につけていきたいです。そして、ゆくゆくは地方大会で講師ができるくらいの知識を身につけたいです。
また、CTFも初めていきたいなと思っています。
おわりに
大学内では絶対にできない経験をさせてもらいました。講師やチューターの方々、IPAやセキュキャン協議会の方々、協賛企業や国の皆様、そして関わってくれた受講生の皆様本当にありがとうございました。来年も必ず何かしらの形で参加します!
睡眠に関して
夜9時に講義が終わり、朝8:30から講義が始まるので時間的に見るとかなり余裕があるように思えますが、課題が残っていたり、復習をするとかなり時間がなくなります。その上、終了後も受講生の人たちと会話を楽しんでいたりするとほとんど時間がありません。結果寝不足でした。カビゴンにも申し訳ないとは思っています。
持ち物について
持ってきてよかったものとして延長コードが挙げられます。宿泊部屋のコンセントと机が遠く、持ってきていないと充電しながらパソコンが使えませんでした。
あと、名刺を100枚か200枚で悩んで200枚にしたのは正解でした。余裕は大事です。
逆に持って持ってこればよかったものは、軽食です。夕食の時間が早く、講義が終わってからお腹が空きました。軽食の自動販売機や、コンビニに行く機会はあったものの、あらかじめ持ってこればよかったです。
Discussion