ayumin.log

読みにくかったら脳内sedで整形してね

seccamp参加録

HUITアドベントカレンダー2020 17日目の記事です。

seccamp'20が終わった

とても濃い1か月半だった。

何をやったか

正規表現のReDoS対策を行うLinterを書いた。

正規表現エンジンのアルゴリズムを実装し、オートマトン理論によってReDoSの検出アルゴリズムを作るアルゴリズム班と、
Linterや実際のOSSプロジェクトにそれを適用し、OSSへの貢献を行うLinter班があり、
自分は後者の方に属して開発を行った。

開発言語はTypescriptだが、Linterに直接関係ないコードは言語指定がなかったので、自分はシェルスクリプトGitHubスクレイピングを行った。
もう一人の方はPythonで行っていた。

正規表現エンジンは難しい

そもそもアルゴリズム知識を前提にしているので、スタート位置に立ててもいなかった。永遠に力不足を感じた。

概要を把握することがやっとで、更にTypescriptの知識もなくLinterも動かせなかったので、チームの人におんぶにだっこ状態であった。 

正規表現というと.や*や+を使って…という感じを想像するかもしれないが、どちらかというと正則言語そのものの話で、普通に数式が出てくる。

CSに詳しい人なら、オートマトンの受理状態、ε遷移、強連結成分分解みたいな単語は知っていると思う。そんな感じの話だった。LT会で頑張って説明する。

他の講義について

今回はオンラインで開催期間が長くなり、更に選択コースの講義も受けられたので、インフラやネットワーク関係の講義も受講した。

その中でもJPNICの方から体系的なネットワークについて教わったのはとても面白かった。

4時間にもわたる講義+ハンズオンだったが、ネットワークを支える人の存在や、ルーティングアルゴリズムなどはやっていて興味深い内容ばかりだった。
VyOSを使ってネットワークに触り、経路広告に関わるセキュリティの問題などを学んだ。

SSL/TLSすら破れる(厳密には破れてないが、一般人から見れば鍵マークはつくのでちゃんと詳細を確認しない限り気づけないレベル)脆弱性を実際に触ったときはネットワークちゃんと分からないと危ないなと思った。

今とある理由でネットワークプロトコルの勉強をしているが、この辺はレベルが高くて難しい。

最近は、これと並行してTypescript(というよりjavascript)について調べながら、今回のReDoS検出の学習を再挑戦している。

改善してほしいな、と思ったこと

まず、グループワークが難しい。というよりグループで何かをすること自体がオンラインでは厳しい。 オンラインのコミュニケーションコストは想像以上だ。実際で会う数倍以上に時間をかけなければならない。

ちなみに自分はVRを買ったので、そこで仲良くなれることを期待していたが、色々あったのでまだVR沼にハマっていない

この記事を書いた時点(12月頭)はまだだったが、結局seccampが終わった翌週に届いた。今はVRChatをたまにしている。

shoumoji.hatenablog.jp

他には、時間ごとにGoogle Meetが変わるので、どこに行けばよいのかわかりにくい。
それぞれに分かれて別のGoogle Meetに移動ならわかるが、全員一斉に別の部屋に行く意味があるのかなと思った。

これに拍車をかけるのが、kintone通知の分かりにくさだ。slackで通知してくれれば…と何度も思った。

今回が初のオンラインseccampなので、次回はもっと良くなっていると思う。良い人柱になりたいところ。

これはサークル活動でもそうで、オンライン活動では仲良くなるまでに通常活動の数倍の時間が必要になる。

seccampの活動日は週1日とはいえ、ちゃんとチームの人と話したのは初めて会ってから2か月近くかかった。

共通の話題があってもここまで時間がかかるので、オンラインのサークル活動は本当に難しいと思う。

いっそ全員VRでもできれば楽なんだけどなぁ…。全員分のQuest2用意できるお金降ってこないかな。

最後に

Z-IIIチームの方々、なにもできなくてごめんなさい。最後に発表用スライドに全力を尽くしたので許して…。

BoFのインフラ枠に来てくれた方、たどたどしい司会となってしまいましたが、自分は楽しかったです。
来年以降はもう少し時間が増えると、もっと楽しくできるんじゃないかなと思います。協議会の方、もし見ていらしたらお願いします。
あと話を持たせてくれたB-IIIの講師の方には本当に感謝です。来年は多分この講師の方のSecHackゼミに応募します。(本当)

この記事を見ている方(特にHUIT関係の方)には是非参加してもらいたいです。 年齢制限あるのでできるだけ早いうちに!

セキュリティ何もわからんって人でも、選択コースはセキュリティ啓発マンガ書くとか、実際の事例についての法律を学ぶとか、いろんな分野があるので楽しめると思います。来年以降は分からないですが、今年は好きなものを受けられました。

集中コースに行く人は……頑張ってください。

自分は来年のSecHack365参加に向けて今後も頑張ります!

以上、ayuminでした。