セキュリティ・キャンプ全国大会2015に行ってきたお話
4泊5日のキャンプに行ってきたので学んできたことや感想をまとめます。
(何かまずいこと書いていたら教えてください)
キャンプ1日目
半日あれば青森県から千葉県へ余裕で着けそうだったため、前泊はせずに当日朝5時に起床して行きました。
起きた
— セント (@sentoneibisu) 2015, 8月 10
空の旅では丁度窓側で良い席だったため写真を撮ったりして旅行(?)を楽しみました。
来たぜ!都会! pic.twitter.com/QUWt1Xhr1r
— セント (@sentoneibisu) 2015, 8月 11
羽田に到着し迷子になりつつバスに乗り、会場近くの海浜幕張駅へ。
バスの中ではTwitterのTL上に常に存在していた「友利奈緒」をググったり景色を眺めたりしていました。
— セント (@sentoneibisu) 2015, 8月 11
そんなこんなで会場のクロス・ウェーブ幕張に10時45分に到着!
ついに pic.twitter.com/57fAElqyiX
— セント (@sentoneibisu) 2015, 8月 11
緊張しながら会場に入るとすでに到着していた参加者がちらほら。
楽しそうに談笑していました。
誰だコイツ...って感じのコワイ目で見られたのは一生忘れません(※冗談です)。みんな優しい目で迎えてくれました!
そこでコミュ障を発揮しつつ名刺交換をしたりワイワイしました。
受付を済ませたあとは一旦ホールに移動し、名刺交換などで軽く交流したのち食堂でランチセッションでした。
昼食を済ませた後は開講式・オリエンテーションと続き、経済産業省の方やIPAの会長さん、講師主査の上野さんからのお話などがありました。
まもるくん
そして、今回スペシャルゲストにあの、まもるくんが遥々まもりの国から来てくれました。
\キャー!/ \ダレ?/ \スゴーイ!/ \カワイー!/ と、すごい盛り上がっていたように思いました。
一部のまもるくんを知らない人のためにプロフィールを載せときます。
情報処理推進機構:IPA 情報セキュリティ 標語・ポスターコンクール:まもるくん-PROFILE-
セキュリティ基礎
まもるくんからのお話(?)の後は遂に上野さんによる「セキュリティ基礎」の講義が始まりました。『情報漏えいはなぜ起こるのか』、『メールの添付ファイルによるウイルス被害が発生しないようにするための対策』などをグループで話し合い発表をしました。
グループワーク
セキュリティ・キャンプ全国大会では毎年グループワークという取り組みがあり、何人かでグループを作り、調査対象のテーマを決めて取り組みます。テーマは次の4つのどれかを選べとのこと。
テーマ1 組織的犯行対策(事前、事後など)
テーマ2 ヒアリングマラソン:技術人材のゴール像とステップ構想
テーマ3 リサーチマラソン:セキュリティ情報収集の効果的な方法とアクション
テーマ4 技術ビジョン構想:セキュアなものづくりを実現するには
私自身はテーマ1を選びました。ここでそれぞれ選んだテーマごとにいくつかのグループを作りグループワークのメンバーが決定しました。
後で某チューターさんに話を聞くと、過去のグループワークは漠然と「セキュリティについて」くらいのテーマだったようで、今回は具体的なテーマ設定になっているから難しそうとのこと。実際取り組んで分かりましたが、テーマが絞られている分、題材選びでオリジナリティを出すのが難しくかなり苦労しました。
特別講義(1)
最初は『2020年を迎えるみなさんへ』という題で東京オリンピックパラリンピック競技大会組織委員会テクノロジーサービス局局長の方からのお話がありました。
現代のアスリート事情、スポーツとITの関わりなど興味深い内容でした。
スポーツは『ゲーム』であり、選手はもちろん見ている人を楽しませるのが本来の目的であり、そのためにITを活用するというのは確かになぁと思う部分がありました。しかし、伝統や文化を重んじる日本人ならではの「ここは変わってほしくない」みたいな人の気持ちも分かるので、どこまでITに依存させるかということも難しい問題なんだろうなぁと思いました。
次に、『東京2020までの取り組みとその後』という題で東京オリンピック・パラリンピック競技大会組織委員会警備局サイバー攻撃対処部の方からのお話がありました。
サイバー攻撃など東京オリンピックのセキュリティに直接関わっている方からのお話ということでとても貴重なお話でした。
過去のオリンピック・パラリンピックで起こったテロやサイバー攻撃について、年々増加している話や今後どのような方法でどの程度テロやサイバー攻撃が起こるのかという予測をして備えなければならない。ということで自分には関係ないから~なんて言わず積極的に考える必要がある!と思いました。
最後に、ボランティアとして東京オリンピック・パラリンピックに関与してほしいというお話がありました。(興味はあるけど何をするんだろう...)
特別講義(2)
警視庁サイバー攻撃特別捜査隊の担当の方からの講演がありました。このお話の内容は、とても重要かつ機微な内容なので、口外は×。ということでここには書きません。
チューター成果報告
チューターの中から代表して二人の方のプレゼンがありました。
まずは、@kitokayさんから「自動車にセキュリティを求めるのは間違っているのだろうか」という題で発表がありました。感想としては、なんか凄い!内容は難しくてよく分かりませんでした。CAN(Control Area Network)を初めて聞いたので新鮮&面白そうとは思いましたが、CAN-BusにDoS攻撃とか怖すぎる((( ;゜ Д ゜)))
怖い人だなぁと思いました。
次は、@ytn86さんから「「脆弱性をみつける」から「脆弱性をなくす」へ」という題での発表でした。「脆弱性を見つけること」の意義について「世の中を安全にするため」、「一般ユーザがより安全にサービスを使える世界にしたい」など。カッコいいなぁ...
私自身今のところ楽しいから技術を学んでいるという部分が大きくて、この話以外でもキャンプで特に思ったのは、最終的には人のため社会のために今学んでいる技術をどう使うかというのが重要だということ。これは当たり前のようであまり深く考えてこなかった部分でもありとても参考になりました。
専門講義(1-D):Linuxにおける脆弱性攻撃とその対策
1日目の最後に遂に待ちに待った最初の講義。内容は、GDBというデバッガの使い方やバッファオーバーフロー脆弱性を利用した攻撃について簡単に学んだあと、実際に脆弱性があるプログラムに対してバッファオーバーフローを起こしてその時のスタックの状態をGDBで確認してみる、シェルコードを書いてみるなどをしました。
事前課題などで勉強していたので、難しくて理解できなかったということにはならなくて良かったと思います。ただ、もう少し踏み込んだ内容だとなお嬉しかったとも思いました。
何はともあれ、事前課題でもとてもお世話になったももいろテクノロジーの執筆者である講師の@inaz2さんの講義を直接受けれたのはとても良かったです。(@inaz2さんとは別の日にもいろいろ話を聞いてもらったり貴重なことを教えていただいたり大変お世話になりました有り難うございましたm(__)m)
キャンプ2日目
そして2日目。 朝起きれないんじゃないかと3段階目覚ましにしましたが、目覚ましが鳴る前に起きれました。(私はやればできるということを知れました。ありがとうございます。)
専門講義(2・3-C):攻撃検知と機械学習
この講義では機械学習を扱うということで、興味はあったが知識はほぼ無いという状態での講義でした。
内容は、SQL Injectionの攻撃ログや、謎の攻撃ログから目やツールを使用してどういう特徴があるのかなどを見つけるというものでした。
統合機械学習環境Wekaを使ったり、統計解析向けの言語であるR言語を使っていろいろ特徴抽出とかの雰囲気を味わえました。
とても面白くて、これから機械学習について勉強してもっと触ってみようと思いました。
専門講義(4・5-C):遠隔操作マルウェアの検知および検知回避
この講義ではShinoBOTを使ってRATを体験しました。
終始スゲースゲー言ってた気がします。
その後、グループを作り、それぞれ役割を決めてRATをvbsで作成しました。(全く役に立てなかったので申し訳ない気持ち...)
ここで一つ言っておきたいのは
正当な理由がないのに、同意なしに他人のPC上で動作させる目的で、マルウェアを開発、提供、利用する(しようとする)と、3年以下の懲役または50万円以下の罰金が科せられる
違法にマルウェアを作るのはダメ!
セキュリティ・キャンプに参加すればマルウェア作成が体験できる(かも)。
怖いのでRATのコードは載せません。ぜひキャンプに参加して作ってみてください!
専門講義(6-B):一夜でできる?!PC用OS自作入門
この講義の目的は、すべてを理解することではない!
こんな簡単にOSって作れるんだよ。という規模感を感じてほしい!
とのこと。
結論から言うと、凄い。本当凄い。楽しい。夢が広がりました。
すべてを理解しなくても、「ここをいじったらここが変わりそうだなぁ。こっちはどうだ?」といろいろ改造してみてとりあえずやってみる、ということが大事だということが分かりました。
キャンプ3日目
あっという間にキャンプ3日目。ここからは怒涛の解析講義でした。
専門講義(7・8・9-D):脆弱性攻撃と対策
この講義ではWindowsでROP(Return-Oriented-Programming)によるDEP回避をするExploitを使って電卓を起動させるということをやりました。詳しくはももいろテクノロジーを読みましょう。
WindowsでReturn-oriented Programming(ROP)によるDEP回避をやってみる - ももいろテクノロジー
その後は、UPXのゼロデイを見つけようということでひたすら解析をしました。(この時間内では誰も見つけることができませんでした)
近いうちにいろいろ試して見つけてみたいですねー。(※期待はしないでください)
専門講義(10-D):コードから読み解くマルウェアの真実(マルウェア分析概論、静的分析基礎)
この講義は、マルウェアの研究をしようとしている私としてはとても楽しみにしていた講義の一つでした。内容はマルウェア分析について座学で学び、IDAの使い方を覚えるという感じでした。詳しくは専門講義(13・14-D)のとこで書きます。
(11・12):出張 CTF for ビギナーズ 2015 幕張 in セキュリティ・キャンプ
3日目の最後は出張 CTF for ビギナーズということでCTFをやりました。CTFは1か月前くらいに始めた(ksnctfを少々)ばかりですが思ってたより難しくて、簡単な10点問題しか解けなかったのが悔しかったです。
今後に期待!
キャンプ4日目
もう4日目。ここまで来ると、この日で講義が終わる寂しさとグループワークの進捗の無さで悲しみいっぱいでした。
専門講義(13・14-D):コードから読み解くマルウェアの真実(実践マルウェア分析)
この講義では、実際にいくつかのマルウェアをひたすらIDAで分析するという内容でした。難しかったけど、私にとって得るものが多くとても為になりました。
IDAを使ったマルウェア分析では、
“IDAのコメント量が分析力だ!”
なるほど...私はいったい今まで何をやっていたんだ...
これからは頑張ります...!
専門講義(15・16-D):仮想化技術を用いたマルウェア解析
早いもので最後の講義となってしまいました。
この講義では、DECAFというQEMUベースの解析プラットフォームを用いて、DECAFのプラグインを拡張し、サンプルプログラムの解析妨害機能を回避するということを体験しました。実際にプラグインを拡張するのは楽しかったのですが難しい...!
テイント解析やシンボリック実行といった近年の研究動向についても少し解説がありました。が...やはり難しかったです。
これから勉強していきたいと思いました。
キャンプ5日目
最終日は寝ていません。
グループワーク発表
キャンプ最終日です。この日はグループワークの発表などがありチョー緊張しました。夜中グループワークのメンバーを部屋に連れ込んでワイワイしているのは楽しかったけど、進捗は厳しい状態でした。
なんとか当日の朝にはスライドを完成させて一同一安心。発表しました。
発表後は緊張が解けて、他のグループの発表を聞きながらスゲースゲー言ってました。
結果、賞などは貰えませんでしたがとても良い経験になりました。
一緒にいろいろ考えて力を合わせてくれたグループワークメンバーに感謝!
インタビューに答えて頂いた講師・チューターの方々有り難うございました。m(__)m
成果報告会、閉講式と続き無事セキュリティ・キャンプ全行程終了!!
みなさんお疲れ様でした。
頂き物いっぱい pic.twitter.com/QKopSb6ggo
— セント (@sentoneibisu) 2015, 8月 17
書籍類 pic.twitter.com/GHxksTLQQ0
— セント (@sentoneibisu) 2015, 8月 17
いろいろ頂けてサイコー!!!
まとめ
・ごはんおいしい
・野菜いっぱい嬉しい
・仲間いっぱい嬉しい
・講師やチューターの方々が優しかった
・グループワーク大変
・普段朝5時に寝る生活を続けていても意外と起きれる(キャンプ中は早く寝ないと無理!)
来年のキャンプ参加を考えている方へ
・迷わず応募すべし
・間違いなく最高の夏になります
・こんな濃密な5日間は他にない!
・友達いっぱい増えます
・コミュ力的に不安がある方!問題ないです。講師もチューターもとても優しくてコミュ力の塊なので何も喋らなくても成立します。
・もちろん講義も楽しい
・やる気UP↑↑↑・モチベUP↑↑↑
謝辞
いろいろ教えて頂いたりアドバイスをくれた講師の皆様、サポートしてくれたチューターの皆様、陰で支えてくれた運営の皆様、実施協議会の皆様、心より感謝いたします。