先日,セキュリティ・ミニキャンプ in 北海道 2018が開催された.卒研の中間発表が忙しく,書く時間が取れなかったが,思い出しつつ書いていく.
現在私は函館に住んでおり,開催場所となる北大には飛行機で向かった.一般的に飛行機は高いと思われがちだが,函館-丘珠間ではJALのスカイメイトという制度を利用することで片道5,000円で行くことができる.26歳未満の人が当日空席がある場合に利用できる制度だが,JRと比較して安くて早いのでみんな活用してほしい.
場所は例年通り北海道大学での開催で,今年は天気も良く銀杏並木が綺麗に見える中での開催だった.
私は何度かミニキャンプに参加しているが,2016年の吹雪は大変だったことを覚えている.↓は去年のツイート.
今年と昨年の違い。 #spcamp #seccamp pic.twitter.com/sbC5bAmOSv
— セキュリティ・キャンプ (@security_camp) November 12, 2017
『IoTカーを用いたセキュリティ演習』
最初の講義は苫小牧高専の土居先生による『IoTカーを用いたセキュリティ演習』.土居先生は私が苫小牧高専に所属していたころの担任で,最近実体を観測していなかったが,実体も元気そうで安心した.内容としてはリスク管理(転嫁,軽減,受容,回避)や情報セキュリティのCIAについての話があった後,RaspberryPiを搭載したIoTカーをブラウザやPythonから操作するという演習を行った.また,最初の状態では脆弱な部分がいくつかあるためOSコマンドインジェクションや認証に関しての演習を行った.
個人的に電子工作などの実体のあるものが好きなので,実際にコマンドを送り動かすことができるIoTカーは面白いと感じた.あと,実体がある方が脆弱性の怖さがよくわかる気がする.
1 つ目の講義は苫小牧工業高等専門学校 創造工学科 准教授 土居 茂雄様による『IoTカーを用いたセキュリティ演習』です。この講義では IoT カーを題材に、ハードウェア制御や脆弱性の検出・対処について学びます。 #seccamp pic.twitter.com/vighXJUPlO
— セキュリティ・キャンプ (@security_camp) November 3, 2018
『IoTカーを用いたセキュリティ演習』では、ネットワーク経由で IoT 機器を動かすところからスタートし、そこに潜む脆弱性を知り・探し・修正する演習を行っています。 #seccamp pic.twitter.com/jbl2aIm6B5
— セキュリティ・キャンプ (@security_camp) November 3, 2018
夕食
講義を終えた後,北大近くのクラーク亭という店で夕食をとった.なかなかボリュームのあるカレーで,食べた後に少し眠くなってしまった…
『セキュリティ技術と倫理』
2つ目の講義は道警の大石さんによる『セキュリティ技術と倫理』.最初に警察組織の説明があり,サイバー犯罪に関する部署の立ち位置に関する説明があった.その後サイバー犯罪に関する法律などについての詳しい解説があり,ケビン・ミトニックというハッカーについての紹介が行われた.彼についての映画『ザ・ハッカー』が面白いらしいので,今度見てみたい.
夕食後で眠くなるのではと思っていたが,分かりやすく面白い話し方で講義をしていただいたので寝ることはなかった.タイトルから感じられる堅苦しさとは裏腹に,明るく笑い声が上がる楽しい講義であったと感じた.
北海道警察サイバーセキュリティ対策本部 対策係長 大石 智範 氏による講義『セキュリティ技術と倫理』が始まりました。高度な技術を持つ人に要求される倫理観についてや、社会的責任について、法律を交えながら学んでいきます。 #seccamp pic.twitter.com/EWxTRnuZy5
— セキュリティ・キャンプ (@security_camp) November 3, 2018
宿泊
今年の宿泊場所は北大近くの研修施設(?)で,昨年利用したNTT北海道セミナーセンタはいつの間にか閉鎖していた(そのうち商業施設になるらしい).部屋は8人部屋と12人部屋での2部屋に分かれ,私は12人部屋の方になった.夕食の頃にHTVのニュースとしてTVに写ったらしく,その動画がYouTubeに上がっていたのでみんなで見たりしていた.久々に近くに人がいる状況で寝たが,昔の寮生活で慣れていたせいかよく眠れた.
『CWEから学ぶ脆弱性』
2日目の最初の講義は全国大会修了生の宮口さんによる『CWEから学ぶ脆弱性』.今回の講義の中で唯一事前課題があり,その内容は配布されたVMでLinuxコマンドを用いたCTFを行うというものだった.CTFは未経験だったが,程よい難易度で知らないコマンドもあったので楽しめた.
講義の内容としてはC言語とGDBを用いて脆弱性を調査するというもの.=と==のミスやswich文のbreak忘れなどの初歩的な内容から始まり,Buffer Overflow(Over-read)やDouble free,Use After Freeなどのメモリの状態を考える問題をGDBを使いながら解いていった.
メモリの中を深く考える演習だったので演習中は「 …?」となることが多かったが,終わった後に資料を見返してみるとなるほどと理解できることが多く勉強になった.
セキュリティ・ミニキャンプ in 北海道 2018 二日目は、セキュリティ・キャンプ全国大会修了生 宮口 誠氏 による講義『CWEから学ぶ脆弱性』からスタートしました。C で書かれたサンプルプログラムを読み、バグを探すなどしながら、様々な脆弱性について学んでいきます。 #seccamp pic.twitter.com/U5TwwAa6LU
— セキュリティ・キャンプ (@security_camp) November 4, 2018
宮口講師の『CWEから学ぶ脆弱性』はCWE を題材に、脆弱性のあるソースコードを読み・実行し・原理を学ぶ、というサイクルを回していく講義です。講義が進むにつれて複雑な箇所も増えていきますが、ツールの助けやチューター・講師からのサポートを受けながら、一歩ずつ学びを深めています。 #seccamp pic.twitter.com/ch1x02FQEA
— セキュリティ・キャンプ (@security_camp) November 4, 2018
『V-USBで開発する組み込み機器プログラミング』
最後の講義は高知高専の竹迫先生による『V-USBで開発する組み込み機器プログラミング』.DigisparkというAttiny85を搭載した小型の開発ボードを用いて,自動で動くマウスの作成を行った.私は2017年の全国大会でも竹迫先生の講義に参加したことがあり,そのときはマウスではなくキーボードとしてキー入力を行うBadUSBを作成した.
マウスとキーボードを勝手に操作できれば,いくらでも悪用できる気がする.ESP32のような無線飛ばせるモジュールと組み合わせれば検出が難しい遠隔操作も可能になるかもしれないなーとも思う(Bluetooth使えってツッコミはなしで).ハードウェアキーロガーみたいなものもあるし,人とPCとの間のインタフェースはこわい.
午後の講義はセキュリティ・キャンプ講師/高知工業高等専門学校 客員教授 竹迫 良範様による『V-USBで開発する組み込み機器プログラミング』です。この講義では L チカから始めて、最終的にはマウスの模倣をする USB デバイスの開発に挑戦します。 #seccamp pic.twitter.com/e5iv29FN25
— セキュリティ・キャンプ (@security_camp) November 4, 2018
竹迫講師による『V-USBで開発する組み込み機器プログラミング』では、配布された実機でテストをしながら開発を進めました。実際に実装し、試してみることで、より理解が深まったようです。 #seccamp pic.twitter.com/oZiVMmFBff
— セキュリティ・キャンプ (@security_camp) November 4, 2018
おわりに
普段大学で生活していると,セキュリティに興味がある学生は比較的少なく,そういった話をする機会もあまりないです.そういう点でセキュリティ・キャンプは参加者・講師やチューター,スタッフの皆さんと知り合うことができ,とても有意義であると感じています.また,講義内容に関しても独学ではきっかけを得にくいものも多く,勉強になるものがとても多いです.講師・チューターの方をはじめ,スタッフや参加者の方々,ありがとうございました.
今回はGrafsec助成制度の支援を受け,LOCALより交通費が全額支給されました.また,今回の開催にあたりサポーターズの方々にご支援いただきました.この場を借りて御礼申し上げます.