SecHack365 2021 作品一覧Works of Trainees 2021
SecHack365は続くよどこまでも(SecHack365 Returns 番外編)2019.02.07
みなさん、こんにちは。NICTの鎌田です。1月13日(日)に秋葉原で開催された「SecHack365 Returns 2018」を番外編としてご紹介したいと思います。
Returns(リターンズ)が決まるまで
SecHack365 Returnsは、修了生のその後の継続した活動や成果を共有、評価する場として開催されました。今年(2018年度)のトレーニーは2期生になりますが、今回集まったのは昨年、2017年度修了の1期生。
昨年11月末ぐらいに開催日や名称が確定し、この日のために約20名の1期生が普段の仕事や学業の傍ら準備を進め、開催を心待ちにしていました。
Youは何しにReturnsへ?SecHack365 Returnsのプログラム内容とは
この日、1期生達は修了後の成果や活動をを3つの方法でそれぞれ表現しました。
1つ目は、ポスターで最近やっていることなどを報告する、”ポスター発表”。
2つ目は、もう一度SecHack365でモノづくりできるなら?と新たな挑戦を発表する、アイデアコンテスト。
3つ目は、修了後の成果や活動について事前審査にて選抜された特別発表枠でのガチプレゼン。
ガチプレゼン枠は事前審査に通った人でないと当日発表することはできません。今回は2組が事前審査を見事クリアし当日の発表枠を勝ち取りました。プログラムには彼らの発表のほかに、トレーナーに相談できる”トレーナー相談会”の時間も用意されました。また、セキュリティ業界の第一線で活躍する研究者の講演もありました。こちらは最後にご紹介します。いずれもSecHack365のマインドを持続できる内容になっていますね。
ポスターセッションの雰囲気
掲示されたポスターはどれも素晴らしく、修了後も他のイベントにどんどん応募チャレンジし、賞を取ったりと活躍している様子が一目瞭然。出版社に持ち込みして結果ダメでもめげずにAmazon Kindleで自分で出版したり、昨年度作ったものを応用してゲームにしている人など!
様々な賞
SecHack365 Returns 奨励賞
「Cyship チームの開発継続の様子と成果」─北村拓也さん、川島一記さん、友利奈緒さん
「シンボリック実行の制約を乗り越えるために~エクスプロイト自動化とSymbolic Backward Execution~」─友利奈緒さん
SecHack365 Returns グッドテーマ賞
「バーチャルハッカー」─北村拓也さん
SecHack365 Returns トレーナー賞
佳山トレーナー賞
「SecHack365以降の歩み」─澤田拓弥さん
服部トレーナー賞
「SecHack365以降に行った研究・開発の途中結果や成果」─小林滉河さん
柏崎トレーナー賞
「最近の活動報告について」─三須剛史さん
川合トレーナー賞
「【近況報告】マンションの共用ルータがマルウェアに感染していました」─小野輝也さん
坂井トレーナー賞
「サイバーセキュリティ楽手ゲームCyshipの今までとこれから」─北村拓也さん
みなさん、おめでとうございました。パチパチパチ
SecHack365 Returns 奨励賞を受賞した、友利奈緒(ともりなお)さん
その友利奈緒さんのプレゼン内容をご紹介。(とても難しいです)
今回友利さんが発表した内容は、「シンボリック実行の制約を乗り越えるために 〜エクスプロイト自動化とSymbolic Backward Execution」というタイトルです。昨年成果発表会で発表した内容から派生し、個人で研究継続されている内容を紹介しました。
シンボリック実行を用いた脆弱性検出。(うーんわからない。しかしみなさんもう少しお付き合いください)
シンボリック実行というのは、標準入力や実行前のレジスタの状態、そういった実行環境をシンボリックに実行するというもの。シンボルというのは数学で用いられる変数と似た概念で、プログラムを実行するとそれに対して制約が追加されていきます。(page 5を参照)
https://speakerdeck.com/katc/sechack365-returns-2019-xiu-liao-sheng-purezentesiyon
コードの例文を出し、「シンボリック実行はif文を網羅するように実行し、実行パスを網羅する」というシンボリック実行の大まかな流れが説明されました。その枝のような動きは、計算爆発を起こしやすく、実用的な用途が少なくなってしまっているとのことで、2018年はその問題を解決すべく、2つアプローチで挑戦したそうです。
1つ目は、エクスプロイトの自動化で、2つ目はプログラムの順方向な実行(FSE)をやめて、逆方向な実行(SBE;Symbolic Backward Execution)にトライしたとのことでした。
エクスプロイト自動化には「ファジング (AFL)」と「シンボリック実行(Triton)」を掛け合わせるとのこと。
この自動化の機能としては、ファジングでエクスプロイトに使えそうなバグを引き起こす入力を見つけ、シンボリック実行でそのバグを利用したエクスプロイトコードを生成するそうです。実際にデモで機能しているところをお披露目しました。クラッシュしたエラーをTritonでトレースします。(Tritonを使う理由は、①Tracerがバグを含む実行パスをシンボリック実行する、と②libcを高速にシンボリック実行するという2つの要件を満たしていたからだそうです。)デモを実現するにあたり、Tritonのバグ(トレーサーがSIGBUSを無視するなど3件)を発見したので、それを修正するpull request を本家に送り、マージされたとのこと。
これと続き、もう一つの、SBE(Symbolic Backward Execution)のお話もありましたが、全部書くとこちらも文量爆発、いや、こちらの脳が爆発しそうなので、今回はここまでで何卒ご容赦ください。(続きが気になる方、友利奈緒さん(@k_atc)は、勉強会などでも発表されているので、ご興味のある方はフォローをお願いします☆)
もう一つの奨励賞Cyship
奨励賞を受賞したもう一組はCyshipチームの北村さん、川島さん、友利さん。彼らは成果発表会でも優秀作品として選ばれましたね。Cyshipは受賞後もせっせとこの教育ゲームの内容を改良し、公開し、人に使ってもらうための働きをしていました。セキュリティ知識をもっと身に着けてもらうためにはどうするべきか、学習効果を高めるための仕組みを真剣に考えていました。その作品を作り続ける姿勢と、なによりチームワークの良さを評価されました。大人顔負けの推進力&開発力です。あとに続くSecHack365 トレーニー達の励みにもなっていると思います。
ベテラン研究者が伝えたい4つのこと
今回特別講演としてNTTのセキュリティ研究者である秋山満昭さんからのお話です。
これからセキュリティ業界に巣立つ方へということで、技術者または研究者として育っていくための大事な4つのポイントをお話いただきました。
「ヒトに伝えられる力をつけよう」「技術に真摯になろう」「常に変わり続けよう」「社会に還元しよう」話す相手にあった言葉で説明できるようになろう。誤魔化すのは簡単だけれど技術にきちんと向き合えば、誤魔化すことはできないはず。世の中は変化しつづけるので、それに乗り遅れないように常に磨き続ける。最高の環境で教育を受けたのですから、受けた恩恵を社会に還元してほしい...これらは頭でわかっていても実践することは大変難しいですよね。社会に還元って?ただ税金を払うということではないということは修了生の皆がわかるはずで、還元の仕方は人それぞれですが、まずは基礎体力維持して研究開発することが大事かな、と個人的には思います。修了生の中にはすでにプロダクトを作って世の中に貢献している人もいると思います。小さくても良いので自分なりの貢献方法を考えて欲しいということですね。そして、今後壁にぶつかり道を選択する際に、秋山さんのこれらの言葉が蘇り、助けになるのではないでしょうか。
秋山さん、ありがとうございました。
おわりに
SecHack365の事業を支える総務省の方々や、NICTの理事長をはじめとするNICT幹部の方々も来場され、修了生たちを温かく激励されました。
セキュリティの技術力・アイデア力・提案力を付けたあとにどう行動を起こすべきか、起こしていくか。これからの彼らの活躍が楽しみでなりません。
また、1期生に続く後輩たちとどんどん繋がって、若手技術者/研究者同士のネットワークを広げつつこれを糧として、さらなる成長をしてもらいたいです。これからもずっと応援しています!