セキュリティ・ミニキャンプ in 秋田に参加した
セキュリティ・キャンプとは
サイバーセキュリティについての高度な技術が学べる勉強会。全国大会と地方大会があり、後者はミニキャンプと呼ばれます。
今回は2018年12月に秋田で行われたミニキャンプについての参加記録です。
経路
福島→仙台→秋田
同じ東北ですが、意外と行きづらい…
電車とバスを乗り継ぎ、前乗りして、ネカフェ勢となりました。
専門講座
今回の秋田回では、2つの専門講座が開催されました。レイヤは低めです。
バイナリエクスプロイト
講師:天津健氏
概要
Cにおける脆弱性:型キャスト
型名 | サイズ(64) |
---|---|
char | 1byte |
short | 2byte |
int | 4byte |
long | 8byte |
- 型キャストに不備があると、情報が落ちたり、誤った値の処理がなされたりする
- 例えばint→shortなら、上位2バイトの情報が落ちる
- これを利用し、複数の条件式を1つの入力値で通すことができる
Cにおける脆弱性:配列
- Cでは、配列へのアクセス時に添字の正当性をチェックしない
- C的にはarray[i]は*(array+i)と等価
- 配列の定義外でも関係なくアクセスできる
- 例えばarray[10]の配列に対し、array[15]とか、array[100]もできる
- これを利用し、意図しない場所へアクセスし、秘匿すべきデータなどを抜き出せる
Cにおける脆弱性:gets
- 現在は推奨されておらず、使うとコンパイラに怒られが発生する
- 境界のチェックをしないので、確保されたサイズをオーバーする値の入力によって他の変数やアドレスの浸食が可能
- ローカル変数はスタックに、グローバル変数はグローバル領域に纏めて置かれるので、隣接したアドレスの変数まで書き換えられる
- スタックに積まれたリターンアドレスも同様に書き換えられる
- 任意のコードを実行できるようになる
産業制御システム攻防演習
講師:目黒有輝氏 講義内容はオフレコで、とのことですので、明示は避けます。
概要
- 制御システムの基礎
- 制御システムのパケットキャプチャ
- 制御システムの脆弱性と攻撃
- 制御システムのセキュリティ
まとめ
2つの講義とも難しい内容でしたが、自分が普段なかなか触れない分野を学べてとても楽しかったです! 演習環境も充実していて学んだことをすぐに体験できるので理解がより深まりました。
どんな開発をするにせよコンピュータを使っているわけですから、根幹を知ることでより高度な実装が実現できると思いました。
関係者の皆様、ありがとうございました!
おまけ
帰りに見た、秋田大生の学費が点灯する様子
夜中は観測できない秋田イッヌ