合宿形式でセキュリティ技術を学ぶ「セキュリティ・キャンプ全国大会」。修了生がキャンプ後に取り組んだ成果を表彰するイベント「セキュリティ・キャンプアワード」が開かれた。最終選考に残った5人の発表内容を紹介する。
2017年3月17日、都内で「セキュリティ・キャンプフォーラム2017」が開催、5人の修了生が成果を発表した。セキュリティ・キャンプ実施協議会/IPA(情報処理推進機構)は毎年8月、情報セキュリティ分野に関心のある若年層を対象に、実践的な講義を提供する4泊5日の集中合宿「セキュリティ・キャンプ全国大会」を主催。2016年度で13回目を数え、581人の修了生を輩出している。
今回のフォーラムは全国大会や、全国各地で開催される「セキュリティ・ミニキャンプ」の修了生の交流の場だ。修了後、キャンプで学んだ知識や技術を生かして取り組んだ研究成果を表彰する第2回「セキュリティ・キャンプアワード」の内容をフォーラムで聴くことができた。
当日は一次審査を通過した5人の修了生が最終プレゼン(最終審査)に挑んだ。
最初の登壇者は、2016年全国大会修了生の榎本秀平氏。ARMプロセッサを搭載したRaspberry Piへ移植されたOS「xv6」*1)に対して、ネットワークプロトコルスタックを実装するという取り組みである。
OSとして最低限の機能しか備えていないxv6へネットワークプロコトルスタックを実装する。これによってOSやカーネルのネットワーク処理について理解を深めたいと考えたのがきっかけだ。
発表ではハードウェア構成やドライバ構成などを丁寧にひも解きつつ、実装の過程を解説。残念ながらデバイスドライバの実装や移植に思いの外時間がかかり、その先にあるプロトコル実装や性能評価まで至らなかった。今後はシステムコールの実装やデバイスの制御処理の開発などに取り組みたいと抱負を語った。
*1) xv6はUNIX Version 6をx86向けに再実装した教育用OS。
2016年地方大会(広島)修了生の北村拓也氏はサイバーセキュリティ人材を育成する開発活動について発表した。
セキュリティについて勉強しようと書籍をあさるも身につかず、それならばセキュリティの学習アプリを作ろうと考え、ヒントを得るためにセキュリティ・キャンプに参加したという北村氏。修了後に講師と相談した結果、勉強を継続するための事後学習用アプリがよいと分かり、人材育成プラットフォームの開発を進めているという。
3つのシステムの開発を目指した。第一に攻撃の原理や手法を学び、アプリケーション開発時に意識すべき対策や意識向上を図るゲーム型システム。第二にコード上の脆弱(ぜいじゃく)性を修正して能力を定量的に評価、企業と人材のマッチングにつなげる支援システム。第三にスクレイピングで最新のセキュリティ記事を収集、概念マップを自動生成して効率よく学習するシステムだ。このうち2つは開発済みで、最後の1つはプロトタイプを作成中という。「完成までに1年ほどかかると思うが、人材不足の解決の一助になれるよう、これからもこつこつ開発を進めたい」
2014年全国大会修了生の木村廉氏は、デバッガを利用した解析手法について発表した。
「QIRA(QEMU Interactive Runtime Analyser)」や「rr」といったデバッガでまずトレースを実行。ログをオープンソースの解析ツール「radare2」で読み込み、デバッグ再生するための方法を調査した。
テーマ自体は、学生の教育やコミュニティー活性化などを目的にGoogleが毎夏開催している「Google Summer of Code(GSoC)」のプロジェクトテーマの1つでもある。全命令を記録するTimeless Debuggingを採用するQIRAと、非決定論的な処理をログに残してそれ以外はプログラムの最初から戻したいところまで実行し直す「rr」の違いを解説。rrについてはパッチを書き、開発者との議論後に先日マージされたばかりだという。2017年夏のGSoCに応募し、参加がかなったらさらに踏み込んで取り組みたいと木村氏は述べる。
2015年全国大会修了生の小池倫太郎氏は、多数のWebサイトの改ざん状態を評価、報告した。
まず、Twitterのstatuses/sampleを使ってランダムにURLを収集する「tomori」と、Alexa Top 1 Million sitesで公開されている侵害ドメインにhttp://を追加してURLを収集する「ayumi」を開発。
Afraidgate、EITest、Fake Chrome Popup、pseudoDarkleech、Rig EKの攻撃キャンペーンをフィルターとして用意。引っかかったサイトの通知を受けて目視で確認、怪しいと判断したらGoogle Safe BrowsingやJPCERT/CCに報告した。
tomoriとayumiで合計約270万サイトにアクセスした結果、250以上、侵害を受けたサイトを発見した。「検知数は少ないものの、同じサイトのURLが何度も投稿されるため、アクセスされる可能性は高いと思われる」と分析する小池氏は、一番多く検知された攻撃キャンペーンなどを紹介。今後はマルウェアを解析できるよう動的解析環境を実装したいと述べた。
最後に登壇したのは、2015年全国大会修了生の小竹泰一氏。マルウェアのコードを解析する手法を発表した。
第1回に引き続き2回目の一次予選突破を果たした小竹氏は、マルウェアのコードに含まれる大量のデッドコード(実行しても意味のないコードで、デバッグ対策で挿入されている)を除去するIDAプラグイン「Nao(No-meaning Assembly Omitter)」を開発。
具体的にはNOP命令を1行ずつ変更し、Unicorn(CPUエミュレータ)にバイナリを入れて実行、レジスタの最終的な値が変更されていなければデッドコードと見なし、除去する仕組みだ。かなり高精度に除去できると話す。デモを見せながら解説した小竹氏は、まだ動作に難があるため修正を続けたいと述べ、今後も解析者のOSSベースの補助ツールを作っていきたいと抱負を語った。
その後、審査員による最終審査に進み、結果が発表された。
最優秀賞に輝いた小池氏について、セキュリティ・キャンプ実施協議会会長の西本逸郎氏は、「課題設定やプレゼン、問題解決まで見事だった。現実的な成果として世の中に役立つ内容」と評価し、今後の活躍に期待を寄せた。
小池氏が今回のテーマを選んだ理由は、マルウェア対策研究人材育成ワークショップのイベント「MWS Cup」に出場した際の経験にあるという。ドライブバイダウンロードの解析を担当、興味を持って調べるようになった。年始めから2カ月ほどかけて調査、分析したと明かす。
セキュリティ・キャンプは、大学の先輩に勧められて参加した。以前からブログを愛読していたセキュリティエンジニア愛甲健二氏のマルウェア解析講座などを受講し、「キャラの濃い同世代と出会って」大いに刺激を受けたと笑う。
既に社会人となったキャンプ修了生やセキュリティ業界の先輩からのメッセージもあった。
2009年全国大会修了生で三菱電機に勤める木藤圭亮氏は、キャンプを通じて人脈が広がり、チューターやミニキャンプでの講師を体験して知識がより深まったと話す。
「人脈は所属が変わってもついてくるので、人を巻き込む力をつけてほしい。得意分野があると周囲に人が集まり、情報も自然に集まってくる。そんな頼られる人になってほしい」
2013年全国大会修了生であり、現在はNTTコミュニケーションズで働く保要隆明氏は語る。
「キャンプで同世代のツワモノ参加者や業界で活躍する講師から多くの刺激をもらい、手を動かすことの大切さ、人とのつながり、アウトプットする重要性を学んだ。現在の仕事でも経験が生きている。キャンプと出会わなければ今の自分はなかった。キャンプは参加がゴールではない。そこでの学びを生かし、行動に結び付けてほしい」
次回、2017年度のセキュリティ・キャンプのスケジュールは近日発表予定だ。
Copyright © ITmedia, Inc. All Rights Reserved.