akiranetの日々淡々と頑張っていこう

akiranetのコンピューターと遊ぶ

セキュリティ・キャンプ2017に行ってきた!!

Ak1raです!

セキュリティ・キャンプ2017全国大会に行ってきました! すごく濃い4泊5日でした。
行ってみてすごく良かったです。
ただのセキュリティ・キャンプ旅行記みたいな感じですが、軽く読んでみてくれると嬉しいです。

講義

受けた講義は、以下の感じです!

どれも僕にはとても難しくて事前課題からひぃひぃ言いながら解いていました! (講師陣やチュータさんのフォローによって解けてました)

Day0

 遊んでましたね!なんでだろう!!

Day1

無事、府中刑務ryクロスウェーブ府中に到着しました! f:id:akiranet:20170821001957p:plain

同じ研究室の同期と途中で会った@syzrtechと一緒に向かってました! @syzrtechには、僕の起床チューターとしてとてもお世話になりました…

着いた途端、名刺交換会がスタート!! twitterでフォローさせてもらってますみたいな人もちらほらいて、SNSすごいとか思ってました!!

1日目は、JPCERTの凝ったうんこの話と海外でのセキュリティ人材育成の話やサイバーディフェンス研究所フォレンジックについてのお話が聞けました!実際の現場でどのようなことが問題になっているかなどを話してくれてとてもためになりました! グループワークでは、「今後、自分たちがセキュリティ・キャンプの効果を最大化するにはどうすればいいか?」をテーマに話し合いました! ヒアルングで、企業の人やチューターの人、運営側の人と話せて面白かったです!

この日は、明日からの講義を楽しみにぐっすり寝てました

Day2

D1: Linuxカーネルを理解して学ぶ脆弱性入門

カーネルの概要、slabやメモリ構造の話、カーネルソースコードをどう読むべきか、カーネルパニックが起きた際のカーネルダンプからのcrashを用いての解析を行いました。Buddy allocatorは初めて聞いて、slabについても理解しているつもりでしたが、スライドがすごく丁寧で分かりやすかったです。 次に、Copy-on-Write(Cow)とDirty Cowについてでした。Dirty Cowとは、Read権限を持つ任意のファイルに書き込めることで、競合状態が発生し、プライベートな読み取り専用メモリマッピングが破壊され、権限昇格ができてしまう脆弱性(CVE-2016-5195)でした。 最後には、セキュリティ・キャンプ事前課題問題5のるくすさんが出した課題のことなどさまざまなことをたったの四時間でやりました… 演習問題は全く解けなくて、凄まじいという感想でした… 講師の方曰く、次の講義は鬼難しいと言われてひぃぃぃとなってました

D2~3: カーネルエクスプロイトによるシステム権限奪取

sssslide.com
まんまこれをやりました
まずメモリやカーネルの仕組み、カーネルエクスプロイトについて優しく教えてくれました!
演習からが鬼となりました..
演習1は、BadIRETでLinuxカーネルのiret命令によるカーネル->ユーザー切り替え処理に脆弱性があり、swapgs(ユーザー空間のGSとカーネル空間のGSレジスタをswapする命令)が余計に一度実行されることで、カーネルパニックが起こるというようなものです。このGSレジスタに、何かを書き込んで、netconsoleでカーネルパニックのログを見てみようというものでした。
演習2は、ブラウザエクスプロイト実践で、これがすごく難しく演習でコードを書くのが大変でした..周りの人に助けてもらいながらなんとか完成しました。 最後の演習は、「これができた人は天才です」というレベルでした。。。無理だ、難しすぎる…この時点で頭の中がパニックでした。
Brain Panic!!

この日はみんな疲れてて、グループワークには手付かず…(この時からやっておけばいいと今思うと後悔してる…)
22時頃、TwitterでA4の事前課題やっている人がいると、情報を聞きつけ向かうと仲間がいっぱいいた。
すごく助かったという記憶しかありません…
なんとか終わらせて寝たのが、1時半頃でした。。

Day3

A4: Androidマルウェアなアプリを機械学習で検知しよう!

事前課題では、Andoidのマルウェアjsonファイルを渡せれて、サンプルコードもくれて、検知率をあげてみて〜っていう事前課題でした。
当日は、各々スライドをつくって発表してねという感じで頑張ってスライドを作りみんなの前で無事発表できたときは安心しました。
事前課題では、K近傍法・Random Forest・SVMを行い、講義ではニューラルネットワークをChainerで実現し、検知しようという講義でした。
機械学習の入門としてはすごく楽しい講義で、機械学習ってこんなのなんだなって興味を持ってました。
講師の皆さん、チュータの方々、ありがとうございます!!
研究でも使えるのではないかと模索中です。

D5: The Anatomy of Malware

これは特に楽しみにしていた講義で、マルウェアを静的解析してみようという講義でした。
動的解析を軽くしてみたくらいで、実際に静的解析をしたことはなかったのでとても楽しみでした。
中津留さんがすごいという感想でした。周りの人もすごくてどんどん読み解いて行っていてすごいなと思いました。
中津留さんには、全てを読む必要はない第六感を鍛えるということで、これは数をこなさなければとすごく思いました。
今後、マルウェア解析の際にすごくためになる講義でした!!

この日は、BoFや企業プレゼンなどを聞いてました。
その後の夜はおとなしく部屋に帰り、D6の事前課題を読んで、わからない!!ってなりすぐ寝ました..

Day4

D6: LSMから見た Linux カーネルのセキュリティ

熊猫先生による講義です!事前課題ではプログラミング力の無さを実感しつつも、フォローしてくれたため、なんとかPart3までは終わらせることができていました。
Clam Antivirus(clamav)に渡すことでオンアクセススキャンを実装するという講義で、サンプルコードがあったので、それを読みながらなんとなく理解できたレベルでした。
ただ、必死にプログラムを読んだり書くことが少し楽しくなりました..

B7: 組込みリアルタイムOSとIoTシステム演習

最初は、GR-PEACHを用いて、何か機能を実装するのかと思いきや、、、、
ロボットカーを用いて、何でもありの勝負でした。勝敗はフィールド上の箱を場外に落としたり、カメラでフィールド内のシールを撮ったりで点数を競います。僕達のチームは、真面目にWebUIで操作するので、そこにパスワードをかけたりスピードを調整したりしてました。
しかし、勝負開始前から勝負は始まっていました…
他のチームのロボットカーがすでに何者かに操作され、落とされていました。これは酷い!鬼畜!! 勝負が始まりましたが、操作をスクリプト化したチームや、ARPパケットひたすら流したり、HTTPリクエストひたすら送ったりと様々な手法でやっていて、すごく白熱していました。
僕たちのチームは0点ですごく悔しかったのですが、ネットワークを制すれば、ツヨイのではないかと思い、ネットワークプログラミングに興味が出てきました。

この後、二度目の企業プレゼンがあり聞きました。

グループワーク後、毎年恒例の講師陣方からの本プレゼント大会!!!(正式名称知らない…)
だがしかし!!
司会のお姉さまによる若手たちに譲るという大人の対応をお願いしますということで。。。。
特にお目当ての本はもらえず。。。おっさん大人たちと慰め合いました.

Day4では、流石にグループワークが進まなかったので、ナイトプールで意識高めに作業していました。
その後、一人の部屋に集まり、2:30くらいには寝ました!!
f:id:akiranet:20170821012208j:plain f:id:akiranet:20170821012147j:plain

Day5

最終日でした。
みんなにも疲れが見えていて、何人か寝坊がいました
最後はグループワークの発表、各トラックの成果報告、閉会式と行われました。
グループワークでは、無理やり発表者にさせてもらって、発表しました笑(本当は、ランダムで決めた後にやりたいと言い出した人です…)
発表の練習をしていなかったせいか、時間配分をミスり、エヴァゲリオンのBGMを流す唯一の班になってしまった…

しかもエヴァゲリオンのBGM終了ピッタシに終わることができ、拍手が起きて正直楽しかったです!!

最後の集合写真を撮り終わり、解散となりました。
最後にぱっしゃと。
f:id:akiranet:20170821012154j:plain

酒リティキャンプに行きたかったが、次の日も朝早いし、荷物おもすぎて辛くなったので先に失礼した。。
今思うと行けばよかったと後悔しておりますorz

感想

 まずは、私をセキュリティ・キャンプに参加させてくれた運営側に感謝を。そしてセキュリティ・キャンプを知るきっかけを作ってくれた同じ大学の先輩や同期に感謝しています。そして私が特に思ったのは、力不足です。毎回このような場に行くと実感します。とても悔しかったです。  ただ今回のキャンプは、私にとってきっかけづくりでもあるのかなと今では思います。レベルを実感し、どこに向かえばいいか、など考えるきっかけになりました。すごく勉強になりました。  講義中はわからないことだらけで、今もう一度講義資料を見て1人で解けるかは正直微妙です。ですが、諦めずにできるところまではやってみようと思います。知らないことを学んで楽しめる人間になっていきたいです。  勉強になった以外ににもすごく楽しかったです。同じ興味を持つ人、知らないことを丁寧に教えてくれる人、抽象的な質問にも丁寧に答えてくれる講師やチューターの皆さん、お話していてとても楽しかったです。  今回のキャンプを糧?にして、これからも精進して行きたいと思いました。

おまけ