USENIX ASE '18 に参加してきました
2018-08-22 by Daisuke Kotani2018年8月13日に Baltimore で開催された 2018 USENIX Workshop on Advances in Security Education (ASE'18) に参加してきました。これは、情報セキュリティに関するトップカンファレンスの一つである USENIX Security に併設して開催されているセキュリティ教育に関するワークショップです。
Basic SecCap 向けの演習を作ったり学生さんをセキュリティ教育のプログラムに送り出したりしているので、セキュリティ教育の調査の一環ということで。
論文やスライド (発表者から提供された場合) は Program のページで公開されています。Open Access です。
概要
- 31 submissions, 12 accepted papers
セキュリティに関するあるトピックを教えるための教材とその実践、セキュリティ教育のカリキュラム自体の両方が対象になっているようですが、前者が多かったです。一般的な CS の論文と同様に、何が難しいのか (実現する上でどんな課題があるのか) というのを明らかに述べないとだめです。単なる「やりました」では通らなさそう。
このワークショップの背景には、NSA が中心となって進めている College of Cyber の存在があるようです。発表自体はヨーロッパやアジアからもありましたが、パネルのテーマが NSA の College of Cyber だったり、アメリカ国内の Cybersecurity Fellowship の案内がされたりと、アメリカ国内の活動がベースになってできている Workshop の印象を受けました。
国内では比較的短期の教育プログラムが多い (SecCap や Basic SecCap は数日で完結する演習が多いですし、セキュリティキャンプでも1週間しかない、NICT の SecHack365 は長いけど) 印象がありますが、1科目 (数ヶ月) の体験型の教材を含めたデザインとかやっていて、力の入れ方の差を感じました。数日の演習はあまり自分でしっかり考える時間が取れないので、細かいところまで教員/講師側でアレンジしなければならず、その結果どうしても「おもしろかった」で終わってしまう傾向があるように思いますが、自習の時間が取れると自分で考えて解く課題を出しやすくなります。
一般発表
いくつか面白いと思ったものを紹介します。
Git-based CTF: A Simple and Effective Approach to Organizing In-Course Attack-and-Defense Security Competition
SeongIl Wi, Jaeseung Choi, and Sang Kil Cha, KAIST
CTF のプラットフォームは作るのが大変ですが、そこを Git + GitHub を使ってうまく作ることで簡単に作ろうという話。学生に問題を作らせて相互に攻撃・防御させようということもしていました。
自分で脆弱性のあるプログラムを意図的に書く、他の人の書いたプログラムから脆弱性を探して攻撃する、というのは脆弱性というのがどういうものか実感できてよいかなぁと思いました。
ツールは https://github.com/SoftSec-KAIST/GitCTF で公開されています。
King of the Hill: A Novel Cybersecurity Competition for Teaching Penetration Testing
Kevin Bock, George Hughey, and Dave Levin, University of Maryland
ペネトレーションテストの演習をどう構成するか、という話。
実環境に近いシステムを作って相互に攻撃/検知/防御し合う、演習の前には一定期間システムを調査して脆弱なシステムを直したり攻撃できそうなポイントを探したりする時間を取る、というようなことをしていました。ゲーム形式で、より多くのサーバを乗っ取ったほうが勝ち、というルール。
演習にやってきていきなりシステムが渡されて攻撃されるのはインシデントハンドリングの能力は高くなりそうですが、一方で「セキュアに作ろうとしてたらこんな作り方絶対にしない」「どれぐらいセキュアに作られているか分からないとやりようがない」みたいなシステムで演習させられることもあるので、事前に自分たちがセキュアだと思っている環境を作り込んで、そこからさらに攻撃させ合うというのは学びが多く満足度が高くなりそうだと思いました。 競技自体は NATO CCDCOE がやっている Locked Shields みたいな印象を受けました。
ツールは https://koth.cs.umd.edu/ で公開されています。
Mirror, Mirror, On the Wall: What are we Teaching Them All? Characterising the Focus of Cybersecurity Curricular Frameworks
Joseph Hallett, Robert Larson, and Awais Rashid, University of Bristol
いろいろあるサイバーセキュリティ関連のカリキュラムの標準を CyBOK のうちどれぐらいカバーしているのかという観点で比較してみたという話。カリキュラム標準によって偏りはあって、どれを選ぶかはどこに力を入れたいか次第だね、という結論になっていました。
Lowering the Barriers to Industrial Control System Security with GRFIC
David Formby, Georgia Institute of Technology and Fortiphyd Logic; Milad Rad, Georgia Institute of Technology; Raheem Beyah, Georgia Institute of Technology and Fortiphyd Logic
制御システムのセキュリティをどのように教えるかという話。実物を用意するのは高いし危ないし。
OpenPLC や Modbus で通信するシミュレータと Unity3D などを使って制御システムのシミュレーション + 可視化をして、そこで実際に様々な攻撃を試してみる、という提案でした。これを実装した Graphical Realism Framework for Industrial Control Simulators (GRFICS) を作ったそうです。
InfoSec Cinema: Using Films for Information Security Teaching
Jorge Blasco and Elizabeth A. Quaglia, Royal Holloway, University of London
映画の中で情報セキュリティ上の問題が出ている場面を使って情報セキュリティ教育をしようという提案。
映画に情報セキュリティ的な観点でツッコむって情報セキュリティに足を突っ込んでる人がネタでやることやん... という感想しかないです。
Phishing Attacks: Learning by Doing
Tom Chothia, Stefan-Ioan Paiu, and Michael Oultram, Univ. of Birmingham
フィッシングがどういうものかを学ぶためにフィッシングさせてみようという提案。
人間に対してやるのはさすがに... なので、仮想の企業の役員等を模した Agent に対してやるというシステムを作っていました。Agent が騙されるかどうかはフィッシングのメールの出来次第 (送信元を詐称して被害者の身近な人にしているとか)。
現在どういった手法でフィッシングされるのかを知るには実際に作ってみる一番の方法だとは思うけど、なんかゲームを解いて終わりって感じになってしまいそうだなぁと思いました。
Tweet