セキュリティ・キャンプ全国大会2017に行ってきました
2017年8月14日(月)~8月18日(金)にあったセキュリティ・キャンプ2017の報告をします。
セキュリティ・キャンプ全国大会とは
キャンプでも全国大会でもありません。エキスパートな講師陣の元でセキュリティにまつわる実践的な講義をひたすら受けることができる勉強合宿です。
2017年は8月14日(月)~8月18日(金)の4泊5日であり、80名が参加しました。
参加費が無料ってことが何よりも素晴らしい。
事前学習
受講する講義によっては事前学習が必要となります。
GR-PEACHやFPGAが届いたのでワクワクしていました。
選択コースで受講した講義
選択コースでは、1トラック4時間で全部で7つの講義を受講することができます。それぞれAからEまでの5種類の中から選択します。
B1:DoS攻撃用FPGAを作ろう
トラックB:FPGAでUDP流れてますよね! #spcamp #seccamp pic.twitter.com/aEvRPu7Udp
— セキュリティ・キャンプ (@security_camp) 2017年8月15日
CRC-32などパケット生成するモジュールのコード(VHDL)を読み解きました。最終的にはether_coreサンプルをビルドし実機で動作させてWiresharkで自分のFPGAから大量のパケットを送信していることを確認できました。ARPやPINGを送信している人もいました。
A2~3:AIのデータ汚染を検知しよう
トラックA:TensorFlowを動かすことからスタート! #spcamp #seccamp pic.twitter.com/qWFNWzLnOo
— セキュリティ・キャンプ (@security_camp) 2017年8月15日
初めてのTensorFlow。ニューラルネットワークをちょっと体験。
うまく判断できているかを確かめるために精度だけでなく出力層が実際どうなっているかを確認するといいそうです。
後半はAIで邪魔となる汚染されたデータ(画像にノイズが乗ったもの)を探すことに各自で取り組みました。自分はノイズの有無をニューラルネットワークで分類してもらおうとしたのですが、ノイズのあるものもないものも同じように分類されてしまいました。ニューラルネットワークはノイズに強いということを身を持って体感しました。
E4:サイバー犯罪捜査の現場
トラックE4:サイバー犯罪捜査の現場は、ガサ入れから押収物の調査をしてます。 #spcamp #seccamp pic.twitter.com/nuewluAMNL
— セキュリティ・キャンプ (@security_camp) 2017年8月16日
この講義は最も印象に残った講義です。要はテーマパークのシチュエーション謎解きアトラクション風サイバー捜査でした。
捜査差押許可状を持って被疑者宅(ホテルの一室)にチャイムを鳴らすところから始まります。なかなか出てくれないのがリアル。僕は事情聴取する警察役をやりました。名前を聞いて身分証を確認し、刃物等の危険物を持っていないか体をチェック。靴を脱がせて靴下周りも確認したけれど、貯金箱のコインの中身をいじっていた時に刺されてしまいました。ベルトの内側に隠し持っていたようです。あちゃー。ベッドの下に隠されたUSBや特殊なコインの中にあったSDカードを差押えして持ち帰り、デジタルフォレンジックの始まりです。中身は空!?となるのですが専用ソフトでデータ復元をして犯人の証拠となるものを探します。最終的に逮捕するまでの一連の流れを体験できるという非常に貴重な講義でした。
E5:車載LAN上を流れるメッセージの取得と解析
トラックE5:井上さんより「車載LAN上を流れるメッセージの取得と解析」 #spcamp #seccamp pic.twitter.com/hQkvXHXOvK
— セキュリティ・キャンプ (@security_camp) 2017年8月16日
車載LANからパケットを取得して、回転角度や速度などの情報を表示するようにするコードを書きました。逆に値を変更するようなパケットを送信すればメーターの値とかを狂わせることができるそうです。車を買うときに1万円くらいで回路図が買えるそうです。
A6:ハードウエアセキュリティ最前線
トラックA6:オシロスコープで解析中!#spcamp #seccamp pic.twitter.com/42Jfisk16m
— セキュリティ・キャンプ (@security_camp) 2017年8月18日
サイドチャネル攻撃が気になっていたので選びました。RSA-1024がソフトウェア解析では安全だと数学的に保証されているのにハードウェアで破られたというのが驚きでした。オシロスコープで波形をピタッと止めるのが難しかったです。波形で0と1が推測できてしまいました。先生は数学屋さんでした。
B7:組み込みリアルタイムOSとIoTシステム演習
トラックB7:松原さんの「組み込みリアルタイムOSとIoTシステム演習」で、チーム戦中、リモートからロボットカーのソフトウエアの脆弱性をついて攻撃をする人たち。 #spcamp #seccamp pic.twitter.com/LtbUhdDI3U
— セキュリティ・キャンプ (@security_camp) 2017年8月19日
ロボコンだけどもみんな攻撃し放題のロボコン。ARPスプーフィングやDoSや操作を乗っ取るなどして混戦状態に。自分のロボットのサーバーにアクセスできず操作ができず動かない!という状況でした。みんなの攻撃スキルがすごいなと感じました。適切に攻撃を回避するように設計していたチームは何も問題なく動作していてかっこよかったです。
グループワーク
我々のグループでは「学生がサイバー犯罪に手を染めないために自分たちは何をするか」をテーマに発表をしました。
グループとしての解決策はイキリストのためのコミュニティを作るということでしたが、個人として「みんなには反対されたけど一人が猛烈に発表したいのコーナー」で発表をさせてもらいました。
セキュリティ人材がめちゃくちゃかっこよくて憧れたくなる動画を作ることを解決策として、作ったシナリオに登場する「私の前ではRSAなど平文さ」がかなりウケましたね。
グループの頑張りのおかげで優秀賞をいただきました。
BoF (Birds of a Feather)
え、バッファオーバーフローじゃないの?
ここではセキュリティとは無関係そうな「発想法セッション」というのをとりました。
登壇者は久保田達也さん。存じ上げなかったのですが、キティちゃんやマイメロを作ったり、東急ハンズを作ったり、ディズニーランドを作ったりした異端児なお方でした。自己紹介の半分もしないうちに90分という時間が過ぎてしまいました。
100点満点のアイデアを出すためにみんなは90点のアイデアをいくつも出そうとするから全然アイデアが浮かばない。60点や30点あるは10点でもいいのでとにかく数多くアイデアを出すことが大事だそうです。
その他講義
講師主査の上野宣さんによるセキュリティ基礎に加えて特別講義、チュータープレゼン、企業プレゼンテーションなど他にもたくさんの講義がありました。
頂戴した物
このセキュリティ・キャンプ全国大会2017でこんなにもたくさんのものをいただきました。協賛企業の品々から参加者Tシャツ、地方参加者のお土産、講師・チューターの方々からの書籍のプレゼントまで様々です。本当にありがとうございます。
最後に
僕がセキュリティキャンプに参加する目的として、自分が普段やらないようなことに挑戦する、実践的な力を身に付ける、参加者や講師の方と交流をする、の3つがありました。
低レイヤーが得意でなかったのですが、ここでしかできないようなことに積極的に挑戦するようにしました。おかげで組込みシステムとネットワークに興味を持つようになりました。
講義の内容は言うまでもなく実践的であり、自分が今まで感じていた「知識だけの人間」から少しは遠のいた気がします。
想定していた以上に参加者及び講師やチューターとの交流ができました。一番の機会は食事の時間だと思います。最初の昼ご飯の時にこいつらは喋らせるとすごいということに気づきました。その喋らせるための質問は、「皆さんは応募フォームの今まで作ってきたものになんて書きましたか?」です。応募フォームで書いたことなのでみんな謙遜することなく喋ってくれて、かつその人がどんな人なのかを知ることができるので我ながらいい質問だと思います。メール通信でWebページを閲覧してパケット代を浮かすというすごい人がいました。食事の席は毎回違うので運営の方や10歳の参加者の保護者の方ともお話しすることがありました。嬉しいことに、「30日でできる! OS自作入門」の著者川合秀実さんの直筆のサインを頂いたりもしました。
今後はこのセキュリティキャンプで得られたきっかけを大切にして様々なことに取り組んでいきたいです。
この記事をご覧になって参加資格がある人はぜひセキュリティ・キャンプに参加して欲しいです。本当に貴重な経験になることを保証します。
セキュリティ・キャンプ全国大会2017全て終了しました。
— セキュリティ・キャンプ (@security_camp) 2017年8月19日
お疲れ様でした! #spcamp #seccamp pic.twitter.com/xB7arI3Xpe