第1回詳解セキュリティコンテスト輪読会の記録
自己紹介
省略
第1章
CTFの形式
Attack&Defense形式面白そう!決勝のイメージしかないけどオンラインでもあるらしいので出てみたさある。決勝関連だと、SECCONはオンライン予選→オンサイト決勝という流れで決勝ではAttack&Defense形式も含まれる。
法律
難しい。やってはいけないことを知っておくこと、法律や裁判の事例を学ぶことが大切。
- マルウェアの所持は法律で禁止されている。作成や所持もダメなので気をつけよう。
- もしも悪い人が悪いバイナリを自分のPCに送り込んできて自分が悪いことをしたことになったらどうしよう。botnetで乗っ取られたIoT機器の管理者は罪に問われないような気がするが、PC乗っ取りされると間違いなく罪に一度は問われてしまいそうで怖い。CSRFも同様の可能性がある。
- 知識の公開について、writeupの公開時に問題で配布されたバイナリを含めるときはそれが悪性なものではないか十分に確認すること。悪性バイナリを公開してしまうことになってしまうので。
- インターネットに繋いで実験系は管理下のネットワークかどうか気を付ける
- 脆弱性の調査はサーバの通常の動作に影響するものは避ける。報告はIPAか直接連絡かを、自分が報告したことを知られたいか知られたくないかに応じて選択する。
第2章
環境構築
色々な環境構築をしている人がいた M1 MacはUTMが良さそう。参考 - Apple Silicon Mac(M1 Mac)で「詳解 セキュリティコンテスト」の実習環境(もどき)を動かす 基本的にはカーネルエクスプロイトを除いてCTF環境はDockerが動くなら大丈夫だと思われる。この本ではx86_64環境でDockerが動けば大丈夫そう。
multipass も仮想環境を作成できるが、M1 macではx86_64環境が2022/05/28現在は作れなさそう。
virt-managerはGUI操作でqemuを使えるらしい。VirtualBoxと同じノリで扱えそう。
第3章
Docker
VS Code devcontainerと、VS Code Remote SSHいいぞという話
VirtualBoxとホストでshared folderしていて、ホストのVSCodeでホストのファイルを編集していると、補完が効かない(パッケージは仮想環境にある) これはVSCode Remote SSHで解決できそう。devcontainerも検討してもいいかも。
Dockerを知っていたけどそんなにヘビーに使っていない人もいた。でもCTFでは docker-compose up
を知っていれば大丈夫そう。
第4章
Pythonの環境について
venv+pyenvを使っている人、Poetryを使っている人がいた。いずれにせよ環境に直接pipで入れていくといつか壊れるので注意。 venvはUbuntuに標準で入っているらしい。 anaconda, minicondaは一度導入してエラーが出て諦めた人が複数人いた。
メモ
BIOSやTPM2.0の話
BIOSの設定でWindowsの仮想化がうまくいかない マザーボードによってBIOS設定画面が異なる。仮想化はAdvancedやVirtualizationの項目を眺めたら良さそう。
TPM2.0がWindows 10 -> 11に上げるときに引っかかって、BIOSの設定を変更して11に上げた。 Windows 11で必須になった「TPM 2.0」って何?TPMの役割や確認方法を紹介
VMwareの話題
VMwareを使って環境を作っている人がいて話題に出た [速報]VMwareがBroadcomに買収されると正式に発表、約8兆円で サブスクになるのでは? (参考 - Twitter)という話もあり渋い雰囲気。
CTFへの参加情報
れっくすさんの 2022年5月のCTF情報 が多分来年の5月も参考になるいい記事。 ctftime を眺めるといっぱいCTFがありどれに出ればいいんだろうとなるけど、参加者が多いとか有名なCTFに出ていけばOK
writeup
writeupはハードル高いから必ず書かなきゃいけないものではない。解きっぱなしとか、解いたのにスクリプトの内容忘れるとかはよくある。 (でも作問者は書いてもらったら嬉しいそう)
CTFは現実で役立つか?
forensicsは役立ちそう。知識面では他のは役立つことは少なそう。 ただ、CTFの問題を解く過程で色々考えて理解しようとしたり、公式ドキュメントをあたったり、検索ワードを変えてみるなどの手法は他の分野でも役立っている。
輪読会ってどう進めたらいいんだろうね
もし次に読む範囲が読み切れていなくても、輪読会に出るような雰囲気を作りたい。やってないから休もう、ではなく、やってないけど出てみて刺激をもらって俺もやるかあとなるのが一番良い。
行間を埋めてみた情報は嬉しい。他のことをやってみた、例えばwiresharkの話題がチラッと6.1で出てくるけど、これをみて試しにパケットキャプチャしてみました、とかあると嬉しい。
ただ、情報提供のハードルは下げたいので、「この資料良さそう!読んでないけど」も全然アリとしたい。
司会とドキュメント担当が一緒は厳しいので、役割分担する。