2016年11月5〜6日、札幌で「セキュリティ・ミニキャンプ in 北海道 2016」が開催された。スマホゲームや法律、クラウド、ハードウェアなど、多角的な視点からサイバーセキュリティを考えるべく行われた講義の模様をレポートする。
冬の到来を感じる札幌で、2016年11月5〜6日の2日間に渡り「セキュリティ・ミニキャンプ in 北海道 2016」が開催された。「セキュリティ・キャンプ全国大会」から派生した地方大会の一環だ。初日はみぞれ、2日目は雪。ディスカッションや演習が盛り込まれた多様なテーマの専門講座に、25人の学生たちはどっぷりとつかった。
セキュリティ・ミニキャンプ in 北海道 2016は、毎年8月に開催される「セキュリティ・キャンプ全国大会2016」の紹介からスタートした。現場の第一線で活躍するプロの直接指導が受けられる全国大会は、ユニークな講座がめじろ押しだ。
2016年の全国大会では、人工知能の基盤となる機械学習のセキュリティ、物理デバイスのリバースエンジニアリング、バグハンターと報奨金プログラム提供ベンダーが解説するWebアプリケーションの脆弱(ぜいじゃく)性の発見と評価、オンラインゲームの攻撃と防御で学ぶセキュリティ対策などをテーマとした全34本の専門講座が行われた。
全国大会に参加するには、課題を提出して選考を突破しなければならない。セキュリティ・キャンプ実施協議会で講師WG主査を務める上野宣氏は、毎年届く多数の応募を数日かけて丁寧に読んでいると述べ、「セキュリティへの熱い思いを伝えてほしい」と応募の際のポイントを説明した。
続く講座「セキュリティ基礎」ではサイバー大学教授の園田道夫氏が登壇。マルウェア「Mirai」に感染したIoT機器が大規模DDoS攻撃で悪用された事件を取り上げ、IoTの安全な実装や保守の方法についてグループディスカッションを促した。
グループ発表では、「攻撃の余地を与えないようIoT機器のリソースを設計時に制約する」「攻撃者が悪用しないよう実行できるコマンドを制限する」「Windows Updateのような規格を作れば長期的にコスト効果が高い」などの提案が次々飛び出した。
園田氏は各グループの発表に興味深く聞き入りながら、「どれもやりとりされる情報や通信相手を信頼していることが前提の対策だけど、その情報が汚染されていたらどうなるのか。汚染されることを前提とした対策はあるか」と一歩踏み込んだ課題を提示。さらに考えるべきテーマを残して講座を終えた。
イエラエセキュリティの岸谷隆久氏の講座では、脆弱性診断ツール「Burp Suite」でスマホアプリのチート(脆弱性を利用して自分の望む方向へゲームを展開させる不正行為)可能な脆弱性を探す演習が行われた。攻撃者の視点から安全なシステム開発を考えるのが狙いだ。
演習で用意されたのは、オリジナルのモンスター討伐ゲームアプリ。脆弱性を利用しないと倒せないモンスターを前に、各グループは診断ツールとにらめっこしながら知恵を出し合う。「パラメータをいじっていたら敵を回復させちゃった」などの珍事件もありながら、最終的には2チームがモンスター討伐に成功した。
なお解法として岸谷氏は、1)ログイン認証の不備を突いてステータスの高いユーザーになりすまし、2)回復アイテムの所有者が適切にチェックされない不備により攻撃キャラクターのHP(ヒットポイント)をフル回復させて、3)戦闘中にダメージを決定する通信に含まれる改ざん検知用署名が検証されていないバグを使って、HTTPレスポンスに含まれる数値を自分の都合の良いように書き換えて攻撃、勝利する方法を紹介した。
「プログラムは考えた通りに動くのではなく、書いた通りに動く。そこを意識して脆弱性の診断や対策を考えてもらいたい」(岸谷氏)
初日最後の講座では、北海道大学法学部教授の町村泰貴氏が登壇。「自動運転車がトンネルを抜けたとき、1人の少女が飛び出してきた。このとき、自動運転車はたとえ運転手が死んでも少女を回避するようプログラムされるべきか、少女をはねたとしても運転手の命を優先すべきか」と、講座の冒頭でいきなり、自動運転をめぐってしばしば議論される難題を参加者に突きつけた。
会場の意見は半々に分かれた。「少女を回避すべき」とした参加者たちは、その理由について「自動車は運転手を守る安全設計がなされているので、回避行動を取っても運転手が死亡する確率は低い」「自分で制御できないことを知った上で乗っているので仕方ない」「道義的には少女が死亡した方が責められる」などと回答。一方の「運転手を守る」とした参加者は、「運転手を守れない自動車は商品として価値が低い」「相手がシカだったらどうか。プログラムする側は何にぶつかるかまで予知できるわけではない」「トンネルの出入り口に歩行路があるのは道路に関する欠陥で、運転手が責められるべきではない」などの意見を出した。
その後、議論は「少女が1人ではなく集団だったら? 量で判断は変わる?」「死亡事故では平均年収と稼働可能期間などから損害金を計算するが、命に差をつけてプログラミングしてもいい?」などのテーマに発展していった。
「ITと社会インフラの関わりが密になるほど、エンジニアはこうした課題に直面する機会が増える。法律や倫理を踏まえた設計・開発について、じっくり考えてほしい」と町村氏は参加者に訴えた。
Copyright © ITmedia, Inc. All Rights Reserved.