SecHack365 思索駆動コースを修了しました + 2020年度トレーニーに向けて

はじめに

2019年度 SecHack365 思索駆動コースを修了しました。

本記事では、SecHack365に関する基本的な情報に加えて、次年度以降のトレーニーに向けた諸々を書きます。

SecHack365の概要

SecHack365は、NICT(情報通信研究機構)が主催するサイバーセキュリティに関する長期ハッカソンです。以下に、公式サイトに記載されている概要を引用して示します。

若手セキュリティイノベーター育成プログラム SecHack365は、25 歳以下の学生や社会人から公募選抜する 40 名程度の受講者を対象に、サイバーセキュリティに関するソフトウェア開発や研究、実験、発表を一年間継続してモノづくりをする機会を提供する長期ハッカソンです。全国の一流研究者・技術者や受講者等との交流をするなかで、自ら手を動かし、セキュリティに関わるモノづくりができる人材 (セキュリティイノベーター) を育てます。

SecHack365が他のハッカソンと大きく異なる点は、その期間と開催形態にあります。

まず期間について、一般的なハッカソンは2,3日程度で長くても1週間程度という形態のものが多いですが、SecHack365は本当に1年間を掛けて開発(それに付随するサーベイ、議論、発表など)を行います。そのため、他のハッカソンと比べて自分の興味のある分野についてより深く取り組むことができると言えます。

一方の開催形態について、SecHack365では年に数回、特定の場所に全トレーニーが集まる集合イベントが開催されます。各集合イベントでは、各コース(下記参照)独自のコースワークやコースワークをまたいだトレーニー、トレーナー間での議論、開発中のプロダクトに関するプレゼンテーションといったイベントが開催されます。加えて、オンラインでもNONSTOPという開発環境が与えられているため、トレーニーはいつでもこのNONSTOPにアクセスして開発に取り組むことができます。

コース制度

SecHack365では、各トレーニーのプロダクト開発に関するアプローチや対象領域の違いに応じて、複数のコースが用意されています。以下に、公式サイトに記載されている内容を引用して示します。

■表現駆動コース

・アイデアをかたちにする、その過程で価値を最大化するなどサービスを磨きあげるコース。

・グループでのハッカソン実施によるサービスづくりを進める

■学習駆動コース

・興味ある技術や作りたいものに対して、付加的な学習をしながら開発を進めるコース

・付加学習により他技術や他分野を知ることで、作るもののアイディアの幅を広げる

■開発駆動コース

・まずは実装を作り上げることに重きをおく、開発指導に特化したコース

・開発テーマや分野が定まっている受講生を受け入れて開発を進めるための指導を実施する

■思索駆動コース

・思索を通じて問題を深掘りし、その解決を行うコース

・日常に遍在する違和感に立ち向かう人材を育成する

■研究駆動コース

・研究的プロセスに基づいたアイデア、仮説立案と検証評価を重視したコース

・研究者的なスキルを磨いて、将来の研究者になり得る人材を育成する

各コースについて、個人的な見解を述べます。次年度以降はコース編成が変わるかもしれないので、あまり役に立たないかもしれません。

まず、表現駆動コースは、いわゆる一般的なハッカソン(解釈は皆さんに委ねます)に最も近いコースだと思います。各集合イベント(特に中間発表まで)では、特定のグループに分かれた上で、アイディアの発案から解決策の提示(可能であれば実装)を行い、それを実際に発表することでフィードバックを得るというループを体験できます。特に、まだ具体的に何がやりたいかは明確に決まっていないがサイバーセキュリティに関するモノづくりがしたいという人、グループで活動しながら問題解決に取り組みたい人に向いていると思います。

学習駆動コースは、その名の通り学習をしながらモノづくりを進めていくコースです。特に、コンピュータサイエンスの根幹に関わる領域(OS、コンパイラFPGA等)について、トレーナー陣や他のトレーニーの方と知識や技術を身に着けながら開発を進めていきたいという人に向いていると思います。

開発駆動コースは、これも読んで字の如く開発に特化したコースです。開発してみたいアイディアについて、細かく考える前にまずは実装してみて、そこから問題点の抽出と改善策の立案を行い、また実装を行うというイテレーションを1年間掛けて回し続けるというイメージです。特に、開発したいテーマが決まっている人や実装が好きな人、実装が好きな人、実装が好きな人に向いていると思います。

思索駆動コースは(私が所属していたコースです)、開発駆動コースとは対照的に、開発を行う前に自身が対象としたい問題について、トレーナー及びトレーニー間で何度も深く議論を行い、その問題の捉え方や解決に向けたアプローチを思索していくというコースです。思索駆動コースを選んだあなたは集合イベント及びオンラインゼミの双方において、自身が取り組もうとしている問題とはそもそもどういうものなのか、もっとシャープな解決策やそれに向けたアプローチは存在しないのか、そもそもサイバーセキュリティとは何であるのか、といった事柄に常に対峙することになります。議論が好きな人、取り組みたいことはあるがそのためにどのようなアプローチがいいのか思い悩んでいる人、休み時間にグラウンドに出て遊ぶよりも教室の後ろの方で本を片手にあれこれ考えるのが好きな人に向いていると思います。

研究駆動コースは、いわゆる大学(院)のゼミや研究所で行われているような研究的プロセスに基づいて開発を行うコースです。他のコースと比較して、特に学術的なテーマを扱うことが特徴で、大量の論文をサーベイすることで対象分野のドメイン知識や当該分野が抱える何らかの問題点を理解し、それを基に仮説検証を繰り返すことで開発としての完成度を高めていくというコースです。大学(院)でやっているテーマ(もしくはそれ以外のテーマ)を更に深く掘り下げたい人、プロの研究者の指導を受けながら研究活動に取り組みたい人、まだ研究活動の経験は無いが前もってその流れを体験してみたい人に向いていると思います。

取り組んでいたこと

人的脆弱性対策のためのインテリジェンスを収集、分類するエコシステム及びユーザエンドで動作する人的脆弱性対策のためのツールを開発していました。

詳細は以下のスライドを参照してください(近いうちに公式サイトでポスターも掲示されると思います)。

https://speakerdeck.com/tsubasa_umeuchi/sechuv-security-hub-for-human-vulnerabilities

参加したほうがいいですか?

参加したほうがいいです(おそらく)。無責任かもしれませんが、少しでも参加しようという気持ち(と、参加のためのネタ)を持っているのであれば、とりあえず申し込んでみるのが吉かと思います。

特に参加(申し込み)を躊躇する要因として、「参加のためのネタがまだはっきりしていない」という書き込みや「締切に追われるのがつらそう」という書き込みをちらほら見かけたことがあります。

まず前者については、ネタがはっきりしていない人のためのコースが用意されているので、そちらを検討してみると良いかと思われます。というよりも、そもそもやりたいことが100%明確に決まっている人はいないと思います。むしろ、まだネタが曖昧なので、SecHack365の取り組みを通じてそれを磨いていくという姿勢で臨んでいる人が多いのではないでしょうか(私もそうでした)。ちなみに、申し込み時のテーマと最終的なテーマが全く違っていても問題ありません。とにかく締め切りまでに可能な限り自分のテーマについて考え、それを文字に起こしてみてください。

また後者については、締切があることが緩やかなプレッシャーになる、という捉え方もできると思います。今まで取り組んでみたいテーマがあったが、やり始めるきっかけがなかったという人は、SecHackの申し込みを期にそれを始めてみるとどうでしょうか。そうすれば、来年の3月頃に自分が開発してみたかったものがある程度形になっているかもしれません。ちなみに、締切はめちゃくちゃつらいので、もし採択されたら地道に開発を進めましょう。終盤でめちゃくちゃつらくなります。ちなみに私はめちゃくちゃつらくなりました。

おわりに

SecHack365に関する基本的な情報や次年度以降のトレーニーに向けた諸々を書きました。

何か質問があればこの記事か筆者(https://twitter.com/Sz4rny)にまでコメントをください。また、Twitter等で #SecHack365 をつけてツイートしている人に尋ねてみれば、何らかの答えを返してくれるものと思います。