ブログ

FFRI BLOG

2013-08-19 「セキュリティ・キャンプ中央大会2013 レポートその3」

プロダクト開発第二部の愛甲です。

これまで紹介してきたセキュリティ・キャンプもいよいよ中盤~終盤にさしかかり、3日目の今日はクラス別講義、企業見学、BoFといったイベントが行われました。私は企業見学には参加していないため、今日はクラス別講義とBoFについて書きたいと思います。

クラス別講義では、大きく3つの課題についての演習をやりました。1つ目はLinux環境で動作するサンプルプログラムに対して、Exec-ShieldとASLRを迂回してExploitingするというもの。2つ目はWindows環境におけるShellcodeを作成し、そのShellcodeが成功してもシステムに与える影響を最小限に抑える仕組み(Sandbox)を作るというもの。そして3つ目が実際に存在するソフトウェア(Adobe Reader 9.x)の脆弱性を解析し、そのExploitに対する防御手法を作るというものです。

1つ目と2つ目は昨日の段階で終えており、今日は3つ目の演習であるAdobeReader 9.xの脆弱性(CVE-2011-2462)についての調査を行いました。参加者はこれまで一度もExploitの解析をしたことがない人ばかりでしたが、チーム内で試行錯誤しながらも少しずつ動作原理を解明していました。今年はセキュリティには疎くても、プログラミング技術やアセンブラの知識は十分に持っている参加者が多く、セキュリティに関する知識のなさを独創的な発想力でカバーし、講師も驚くようなユニークな方法で調査を進めていたチームが多かったように思えます。

またBoFについても触れておきましょう。

BoFとは、5~6つのトピックの中から参加者自身がもっとも興味のあるものをひとつ選び、そのトピックを扱う講義(1時間)に参加するという選択形式の授業です。またクラス別講義とは違い、講師はあくまで司会的な立場をとり、参加者同士が話し合ったり議論することが主体になります。

今年は「セキュリティ分野におけるキャリアプラン」や「セキュリティ技術の可視化」といったテーマなどがあり、とても興味深いものばかりでしたが、セキュアなシステムを作ろうクラスの坂井弘亮さんがアセンブラ短歌を題材にした授業「アセンブラ短歌~デジタルな侘び寂びの世界」というユニークな内容のものを実施していたため、私もそこ に参加しました。

アセンブラ短歌とは、5・7・5・7・7から成る機械語コードでプログラムを書いてみるというもので、たとえばMac OSX(x64)で"ASMTanka"と表示する短歌はこうなります。

b9 61 6e 6b 61
bb 41 53 4d 54 5f 99
b8 04 00 00 02
48 c1 e1 20 48 09 d9
b2 08 51 54 5e 0f 05

機械語コード(アセンブラ命令)が5・7・5・7・7の区切りをまたぐことはできないため、常にサイズを意識しながら機械語を組み上げる必要があります。

当初はアセンブラを知らない参加者には厳しいのではないかという懸念もありましたが、そういう機会の少ないWebセキュリティ、ネットワークセキュリティクラスの参加者も、かなり楽しんでプログラミングをしていたところをみると、バイナリ系以外の参加者にとっても楽しめるものだったのかもしれません。

真面目な内容からジョークのようなものまで様々ですが、セキュリティ・キャンプは技術的に面白いものならばなんでもやってみようというスタンスで運営されています。もし現在学生でセキュリティ技術に興味があるならば、ぜひ参加を考えてみてください。

さて、明日4日目はCTF、そして最終日は各クラスの発表があります。疲れがたまり始める3日目ですが、終盤に向けて我々講師陣も頑張っていきたいと思います。

関連記事

セキュリティ・キャンプ中央大会2013 レポートその2

セキュリティ・キャンプ中央大会2013 レポートその1

セキュリティキャンプ2013開催に向けて

pagetop