セキュリティキャンプ2014特設ページ

  • (by K, 2014.01.23)

(1) おしらせ

  • 2014年も講師をやることになりそうです。
  • 現在OSECPU-VMはrev2と称してVMの全面書き直しをやっています。rev2の完成度はまだまだで、アプリなどは書けません。今後もrev2をがんばって書いていきますが、キャンプの事前学習が始まるまでにどこまでできているかはまだ分かりません。完成度が良くないのに、アプリを作って勉強したいという学生が来た場合は、rev1を使って指導しようと思います。
    • 昨年はrev1しかなかったわけで、それでも十分に指導できたので、問題ないはずです。
  • ちょっと見れば分かりますが、このサイトの情報量は膨大です。古くなってしまった情報もたくさん含まれています。ですから、応募する人がこのサイトをすみずみまで見ることはまったく期待していません。トップページをみるくらいで充分です。その上で2013年度版をダウンロードして試してくれたら、やる気十分ですね!

(2) 興味があったら自信がなくても応募しましょう!

  • 応募しなければ、キャンプに参加はできません。もちろん応募しても選考で落ちてしまうかもしれません。僕はそれをとても残念に思っていますが、仕方ないのことです。
  • しかし一定の水準を満たした応募者数が多ければ、翌年以降でもっとたくさんの学生を合格できるようにと、運営の人たちにお願いできるかもしれません。だから落選してしまっても応募は無駄ではないのです。そして翌年までに腕を磨いて再度応募すれば、きっと参加できるでしょう。
  • 定員について、いつも心配している人がいるようなので説明しておきます。2013年は「40名程度の募集」でしたが41名が選考をパスしました。全部で4クラスがありましたが、うちのクラスは11名でした。つまりクラスごとの厳密な定員はないのです。2013年は5つのゼミがありましたが、均等に割り振られてはいません。一定の水準を満たした応募者数の割合でゼミの人数が決まりました。
    セキュアなOSを作ろうゼミ3名
    組込みのセキュリティを考えるゼミ3名
    マルウェアやCTFを考えるゼミ2名
    セキュリティの見える化を考えるゼミ2名
    システムソフトウェアゼミ1名
  • 2014年度もおそらく同じような感じで決まると思います。
    • なお「セキュアなOSを作ろうゼミ」が、「OSECPU-VMゼミ」の前身です。2014年度も5ゼミあります。

  • もう一度言います。ぜひ応募しましょう。応募して落選してしまったとしても、それがなんだというのですか。あなたは何も失いません(まあ書類を書く時間は損かもしれませんが)。書類をそろえて出したことがある人とない人とでは、次回以降に似たような募集があった時に「またやってみようかな」と思えるかどうかの差があります。この差は実は大きいのです。この経験を無料でできるチャンスなのです。
    • ちなみに僕は2002年度のIPA未踏本事業に応募して書類選考で落ちました。しかしその経験のおかげで、そのあとの2002年度の未踏ユースに応募して採択されました。だから上記の話はきれいごととか理想論などではなく本当のことなのです。
  • ぜひ応募しましょう。あなたの将来のために。

(3) このゼミに参加するとどんないいことがありますか?

  • 基本的に懇切丁寧に指導します。ただし本人のやる気が一番大事です。やる気がない人は伸びません(強制などはしない指導方針です)。
    • とはいえ、やる気がない人はそもそも落選してしまうのですが。

  • 2013年度に僕が指導した3人を簡単に紹介します:
    • Irisさん:
      • OSECPU-VMのアプリを作りながら、セキュリティについて勉強しました。OSECPU-VMのセキュリティホールを探したり、VMのバグを見つけたり、仕様について提案もしてくれました(採用もされました)。
      • 勉強のために作ったオセロは「世界最小記録」を達成しました。つまりIrisさんは世界記録保持者です。
      • テキストエディタも作りました。たったの857バイトですが、ちゃんと編集できて保存もできます。
      • キャンプ終了後は、サイボウズの開発系インターンにも参加していました。
    • どみとりさん:
      • どみとりさんはOSECPU-VM系の開発ではなく、セキュアな自作OS「Kiwi」を作りました。どうすればセキュアにできるか、どみとりさんにとって理想のセキュアなOSはどんなものか、どうすれば実装できるか、などの観点により、基本部分から設計されています。
      • キャンプ終了後は、サイボウズの開発系インターンにも参加していました。
    • lambdaliceさん:
      • OSECPU-VMのための言語処理系Fulynを書きました。OSECPU-VMのセキュリティホールも見つけてくれました。FulynのためにOSECPU-VMのJITC-APIを仮整備したりもしました。
      • キャンプ中に作ったFulynはその後さらに開発が進み、U-22プログラミングコンテストで経済産業大臣賞を受賞しています。
      • Fulynを作り始めたきっかけが実に単純明快で、OSECPU-VMアプリのアプリ開発言語の仕様が気に入らなくて、「こんなの使ってられるかー」と言って作り始めたのでした。やる気さえあれば、こんな人でも大歓迎だという一例です。

(4) 「応募したよー」の声

  • どうもありがとうございます!

(5) 合否を分けたものは何か? [2014年度版]

  • 今回はあえて昨年度に多数の応募があった「OS自作」のテーマをなくし、OSECPU-VMのテーマに一本化しました。その影響から、昨年比では応募者数が少し減ってしまいました。しかしそれでも多くの応募があって、とてもありがたかったです。
  • しかも今年度はレベルが高く、「うーん、このゼミに参加するにはもうちょっと経験を積んだ後のほうがいいかも」と感じた人は数人だけでした。他のほとんどの人は、是非指導してみたいし、もしかしたら大活躍するのではないかと思わせる人ばかりでした。
  • しかしそれでもみんなを合格させてあげることは(予算の都合で)できません。ものすごく申し訳ない気持ちになりながら、どういう基準で選ぶべきかを考えました。それで「単にやる気があって勉強するだけじゃなくて、僕にも何かを教えてくれそうな人」という軸で見てみることにしました。・・・そうです、これは後出しじゃんけんです。こんなことは募集要項には書いてありません。しかし、基準をクリアした人が多すぎて、もはや他に選びようがなかったのです。抽選などにすれば公平だったかもしれませんが、そんな運任せで選ばれてうれしいでしょうか。それよりも何か理由があったほうがいいのではないでしょうか。とにかく僕はそう考えて、今回はその軸で選考しました。
  • ということで、何を言いたいのかというと、落ちてしまった人に何かが足りなかったということは全くありません。悪いのはあなたではなく予算です。だから何も反省する必要はありません。あなたは正しいので、そのままもっともっと実力を伸ばしてください。
  • 僕は今回選考を通った人たちに多くを教えて、そして何かを教えてもらって、OSECPU-VMを発展させて、来年度以降につなげます。それが選考でやむをえず落としてしまった人たちへの、せめてものつぐないだと思っています。
  • なお選考で落ちてしまった人の中にも、OSECPU-VMに対して意見を書いてくれている人が何人かいました。とてもありがたいです。それはもちろん公表できませんが、しかしその意見は少しずつ反映させていこうと思っています。

(9) もし2014年も講師をやるとしたら・・・

  • (註:このセクションは講師に内定する前に書いた古いものです、でも内容は今でも通ずるものがあるので残しています。)
  • キャンプそのものの概要についてはseccamp2013を見てください。
  • まだ何も決まっていませんが、もし2014年もセキュリティキャンプ講師ができるとしたら、こんなのをやりたいということで。
    • 講師になれなかったらごめんなさい。だからまだ期待しないでくださいね。
    • 募集はOSECPU-VM系の開発だけに限定してしまいたい。それでも十分に人は集まりそうだし、一本化できた方が講師である僕が指導しやすいから。
    • VMの実装を手伝ってもいいし、アプリを作ってもいいし、言語やエディタなどの開発ツールを作ってもいいし、移植を進めて普及を促進してもいいなー。
    • OSECPU-VMそのものがセキュアなシステムなので、これに関するどんな開発も全部セキュアなシステムを世の中に広めたり勉強したりすることにつながっていると思う。


  • 自作OSが好きな人にはちょっと申し訳ないし、もしかしたらこれを見てがっかりしたかもしれないけど、むしろこれを機会にOSECPU-VMに興味を持ってみてほしい。それでキャンプに応募してほしい。OSECPU-VMには自作OSで培われたテクニックやセンスがたくさんつまっていて、これを学ぶことはきっとあなたの自作OSにもプラスだと思う。それでキャンプ後に自作OSの開発に戻ったらいいと思う。
  • 複数のテーマを併設すると、どうしても僕の指導力が落ちてしまう。みんなが同じテーマなら、一人に言ったことは他のみんなにも参考になることが多くて、指導の効率が高い。だから限られた時間の中でみんなたくさん成長する(はず)。
  • 僕は今回、自分が担当できるテーマのどれもが惜しかった。でもとにかくどれかに一本化してみたいと思った。それで一本化するとしたらどれにするかということで、OSECPU-VMにした。そんなわけなので、自作OSに対する興味がないとかそういうわけじゃないし、なんならキャンプ中やキャンプ後に自作OSに関する質問をしてくれても構わないのだけど、とにかく2014年の僕のゼミではOSECPU-VMにテーマを一本化してみたい。
  • 他の講師に「自作OS」のゼミを開講してもらうという選択肢もあると思うんだけど(講師同士で相談する)、それは結局僕の教え方とは違うだろうし、やっぱり各講師は自分のやりたいゼミを開講してもらうほうが絶対に面白いしためになると思うので、その選択肢はやめた。
  • どうしてもということであれば、「OSECPU-VM専用OSの開発」で応募するという手もあるよ!・・・でもやっぱり、あえて一度OSから離れて面白そうな開発内容を考えるほうが、視野が大きく広がって、結局はあなたのプラスになると思うけど・・・。


  • 今年やりたいと思っている開発内容:
    • (こんな感じのことを講師と一緒にやりたい、という人が来てくれたらうれしいなあ)
    • (手伝ってほしいという意味ではなくて、興味を持ってほしいという意味)
    • (全部やるとは限りません、というかきっと全部はできないです)
    • (1) 内部の作り直し系
      • (1-1) コード体系をリビジョン2にする。
      • (1-2) もっと読みやすい書き方に直す。HeavyOSECPUを参考にするかも。改造もしやすくしたい。他のシステムにも組み込みやすくしたい。
      • (1-3) スピードは落ちるけど、JITコンパイラ版ではなくて、インタプリタ版も作りたい。これは移植がしやすい。
      • (1-4) float対応、マウス対応、構造体対応、無限ループ対策の実装、ネットワーク対応。
    • (2) 上位レイヤ開発系
      • (2-1) OSECPU-VM上で動作するシェルを作る。
      • (2-2) OSECPU-VM上で暮らしていけるようにツールを増やす。
    • (3) アプリ開発環境の整備系
      • (3-1) プログラミング言語の開発や移植
      • (3-2) オブジェクトファイル形式の制定とリンカの開発
    • (4) アプリ実行環境の整備系
      • (4-1) VMをもっといろいろな環境へ移植する
      • (4-2) VMだけで達成できるセキュリティには限界があるので、OSECPU-VM専用のOSを作る、APIはVMに丸投げできるので、そんなに難しくはないはず。
    • (5) 普及促進系
      • (5-1) アプリを作る、ゲームを作る、コンテストをする、ドキュメントを整備する。


  • 2014.02.28~03.01のオープンソースカンファレンスで配った、このゼミのパンフレット。
    • (準備中)

こめんと欄

  • 今日はセキュリティキャンプの応募締切日です。今年は何人の応募があるかなあ・・・。 -- K 2014-06-16 (月) 15:41:45

コメントお名前NameLink

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-07-20 (水) 21:12:20 (911d)