8/11~8/15まで行われたセキュリティキャンプを見学してきました。 インターン先が協賛企業ということで、主に講義などを見学することができました。 僕自身は2014年にセキュリティキャンプに応募しましたが、落選してしまったのでありがたい機会でした。
見学した講義についてのtwitterや公開資料・関連サイトのまとめです。 どこまで口外していいかわからないので、基本的に公開情報をまとめただけ・・・ 基本的には解析トラックを見学しました。マルウェア関連の講義があったため、検知トラックも少し見学しました。
以下公式サイトのトラック紹介から引用
解析トラック
【概要】 本トラックでは、様々な脆弱性や攻撃、マルウェアなどを解析、対策する手法を取り扱います。脆弱性はどこに存在するのか?攻撃者はどのようにそれを悪用するのか?アセンブリやデバッガ、OS、仮想マシンモニタといった切り口でこれらを明らかにし、新たな対策を生み出す知見の獲得を目指します。
検知トラック
【概要】 IT(ICT)の拡がりと浸透によって人間の活動の多くが情報化され、大量のデータが溢れる時代になっています。その大量のデータの中から何を異常として何を捕捉すればいいのか、検知・検出の技術はますますその社会的要請が高まってきています。Detectionではさまざまな場面での検知、検出を意識し、通信や仮想マシンの挙動、ハードディスクの中身、メモリ、そしてチップや家電の動きなどから異常や攻撃的な何かを捕捉することにフォーカスし、情報セキュリティへの多岐にわたる技術的要請を体感し、追求していくきっかけとなることを目指します。
見学した講義は以下のとおり
1-D Linuxにおける脆弱性攻撃とその対策
概要:基本的なメモリ破壊攻撃とその対策技術(SSP、ASLR、NX)について、実習を通じて理解を深めます。
#seccamp #spcamp
トラック1-Dは稲積孝紀さんと岩村誠さんによるLinuxにおける脆弱性攻撃とその対策です。 pic.twitter.com/rYNu07zxS4
— security_camp (@security_camp) 2015, 8月 11
#seccamp #spcamp
トラック1-Dではシェルコードを用いて攻撃コードを自作する取り組みなどハードな内容の課題に取り組んでいます。が、がんばってー(なかの人には無理です)。
— security_camp (@security_camp) 2015, 8月 11
講師の稲積さんのBlog:ももいろテクノロジーで取り扱ってる内容を演習として行っていました。
この記事などが参考になりますね。
2・3-D 様々な脆弱性攻撃手法とその解析
概要:既存の脆弱性対策技術の適用範囲を学び、どういった状況でこれらが回避されるのか(ret2libc、ROPなど)について、実習を通じて学びます。
#seccamp #spcamp
岩村誠さん、稲積孝紀さんによる講義2・3-D「様々な脆弱性攻撃手法とその解析」は昨日の1-Dの続編的内容です。今日もがつがつそして黙々とコードを書く演習問題がたくさん用意されてますね…。 pic.twitter.com/E2Km0QN480
— security_camp (@security_camp) 2015, 8月 12
#seccamp #spcamp
午前の講義風景です。低レイヤートラックは自作パケットキャプチャーツールを作っています。これがカッコイイのでちょっとほしくなりました(笑)。解析トラックはROP読経を黙々と。成果の発表もありました。 pic.twitter.com/0yJoYrPUYb
— security_camp (@security_camp) 2015, 8月 12
こちらも1-Dに引き続きももいろテクノロジーで扱っている内容の演習でした。
この記事などが参考になりますね。
4・5-C 遠隔操作マルウェアの検知および検知回避
概要:はじめに遠隔操作マルウェアシミュレータであるShinoBOTを実際に操作し、どういうことが可能であるかを体験します。次にShinoBOTを観察したり、解析したりして、特徴を見つけ、Yaraシグネチャなどによる検知を試みます。最後に世の中で利用されている主な検知手法(ハッシュ、シグネチャ、IPドメイン・ブラックリスト、振る舞い、ホワイトリスト)に触れ、攻撃者がどのようにして、それらをすり抜けるのかを学びます。
#seccamp #spcamp
4・5-Cは、凌翔太さんによる「遠隔操作マルウェアの検知および検知回避」です。最近のセキュリティインシデントでもよく登場するマルウェアの検知を行うために、まずは攻撃者の目線でモノを考えます。 pic.twitter.com/wlVG5fFAGY
— security_camp (@security_camp) 2015, 8月 12
#seccamp #spcamp
午後の講義風景などをアップしていきます。検知トラックの4・5-Cでは、グループごとにRATを作成する課題に取り組んでいます。なぜかサイボウズLiveに先ほどから不思議なファイル名がががががー pic.twitter.com/xCl1rE16YB
— security_camp (@security_camp) 2015, 8月 12
ShinoBOTは以下のサイトで公開されています。
ShinoBOT -the rat/bot malware simulator-
講師の凌さんが書かれた記事や、Black Hatでの発表の様子が以下のサイトで読めます。 マルウェアの視点で見るサンドボックス:合法マルウェアで実感「リアルとサンドボックスの違い」 (1/3) - @IT
@mrtc0さんが成果発表で発表したスライドが公開されています。
検知トラックの成果発表スライドをうpしました #seccamp https://t.co/25uRJUt6AQ
— もりたこ (@mrtc0) 2015, 8月 16
6-C ネットワーク通信から不審なものを見つけてみよう
概要:ネットワークの通信をキャプチャしたものの中から不審な通信を見つけてもらいます。色んなパソコンからの通信が行われる中、ウイルスに感染した通信をみつけたり、不正アクセスをしているものを見つけたりします。基本的にはSnortを使って実施するため、Snortの実行と簡単なシグネチャがかける事を参加条件とします。その他のツールを使うことは自由ですが、色んなアイデアで不審な通信を暴いていくことを目的とします。
#seccamp #spcamp
6-Cは、川口洋さんによる「ネットワーク通信から不審なものを見つけてみよう」です。Wiresharkを使ってとにかくパケットを見ます。パケットを黙々と見てその中にマルウェアなどの通信を探す修行です。 pic.twitter.com/EgGovFZQQe
— security_camp (@security_camp) 2015, 8月 12
7・8・9-D 脆弱性攻撃と対策
概要:CVEにある実際に発見された脆弱性とそのExploitを試し、その動作原理を学びます。またそのような脆弱性からシステムを防御するためのツールやその仕組みを議論します。アセンブラがそこそこ読めること、デバッガを使えること、またCVEにあるいずれか1つ以上の脆弱性について試し、その動作を説明できるようになっておくことが望ましいです。連続講義ですが、途中からの参加、途中までの参加が可能です。
#seccamp #spcamp
午前の講義風景、Dトラックの78-D「脆弱性攻撃と対策」の様子です。講師から与えられた課題をとき、脆弱性攻撃の特徴を頭だけではなく肌でも感じ取り対策を考えていきます。 pic.twitter.com/BHikBFwppm
— security_camp (@security_camp) 2015, 8月 13
#seccamp #spcamp
解析トラックの9-Dは、愛甲健二さんによる「脆弱性攻撃と対策」です。午前中に引き続き、実際にある脆弱性を用いてその挙動と構造を理解し、そこから守るための方法を検討しました。 pic.twitter.com/SNmXD6xW96
— security_camp (@security_camp) 2015, 8月 13
昨年はキャンプ終了後に、愛甲さんの所属するFFRIの公式ブログで、キャンプまとめの記事が掲載されていました。
今年も掲載されるかも知れません。
10・13・14-D コードから読み解くマルウェアの真実
概要:マルウェアはどのようにシステムを操作し、その目的を達成しているのか?それが分かるようにならなければ有効なマルウェア対策は生まれません。この講義では、マルウェアの挙動を分析する手法全般について学ぶと共に、その中でも特に職人芸が必要とされる静的分析手法(逆アセンブル手法や逆コンパイル手法)について、具体的なマルウェアの実装を用いたハンズオン形式で深く学ぶことで、マルウェア対策に関わる人に必要不可欠な知識を身につけていただきます。その上で、これからのマルウェア分析・対策について考えていただきます。
各講義の内容は以下のとおりです。2、3講義目は連続した内容となります。
1講義目: マルウェア分析概論、静的分析基礎
2講義目: 実践マルウェア分析(前編)
3講義目: 実践マルウェア分析(後編)
#seccamp #spcamp
解析トラックはの10-Dは中津留勇さんによる「コードから読み解くマルウェアの真実(マルウェア分析概論、静的分析基礎)」です。マルウェアの挙動を分析し、マルウェアの静的分析手法を理解していきます。 pic.twitter.com/ByHqtJNXkX
— security_camp (@security_camp) 2015, 8月 13
#seccamp #spcamp
三日目の午後の講義風景です。 pic.twitter.com/wJNKg1IBTj
— security_camp (@security_camp) 2015, 8月 13
#seccamp #spcamp
解析トラックの午前中は、13・14-Dとして、昨晩に引き続き中津留勇さんによる「コードから読み解くマルウェアの真実(実践マルウェア分析)」です。実際の検体を分析し対応策を考えます。 pic.twitter.com/SnvlFfSUZE
— security_camp (@security_camp) 2015, 8月 14
#seccamp #spcamp
Day4の専門講義、午前中の様子。 pic.twitter.com/w6ak9fQQCf
— security_camp (@security_camp) 2015, 8月 14
この講義に関しては、内容を自由に公開してもらっていいとのことでした。
マルウェア解析の基礎講座とidb形式のファイルを使った演習を行っていました。
後日広報を通して講義資料を配布するとのことです。 配布されたらまとめ記事を書きたいと思います。
15・16-D 仮想化技術を用いたマルウェア解析
概要:仮想化技術を用いたサンドボックスの開発を通して,解析を妨害する機能を備えたマルウェアをいかにして解析するか学びます。また,テイント解析やシンボリック実行といった近年の研究動向についても紹介します。
#seccamp #spcamp
解析トラックの15・16-Dは、黒米祐馬さん、愛甲健二さんによる「仮想化技術を用いたマルウェア解析」です。仮想化技法を用いたサンドボックスの開発を通じてマルウェアの挙動を理解していきます。 pic.twitter.com/pSxl3rTwXf
— security_camp (@security_camp) 2015, 8月 14
#seccamp #spcamp
14日の午後の講義風景です。 pic.twitter.com/gtAZhqkJjP
— security_camp (@security_camp) 2015, 8月 15
仮想化技術について、マルウェアのアンチデバッグ技術について講義をしたあと、DEACFを用いたマルウェア解析演習を行っていました。
以下で@ntddkさんが講義内容についての記事を書いています。 ntddk.github.io
CTF
セキュリティキャンプのCTFについては、writeupを別の記事にまとめています。
CTF for ビギナーズ 2015 幕張 in セキュリティ・キャンプ writeup [スポンサー] - Twitterに書ききれないこと
@_193sさんと@nomukenさんがセキュキャンの成果報告会で発表した資料も公開されています。
#seccamp の成果報告会で発表したスライドです http://t.co/DAxQG9syez
— Ikumi Shimizu (@_193s) 2015, 8月 15
CTFトラックの報告的なもの(公開版) by @nomuken #ctf #seccamp http://t.co/I0sqMipZvV @SlideShareさんから
— yaourt nomuken (@nomuken) 2015, 8月 16
また作問者さんが一部問題を公開しています。
察しのいい人はGitHubにセキュキャンの問題が上がってることに気づいているらしい…!そろそろTwitterにURL貼りますね。 https://t.co/RwG0CuBYyQ #seccamp
— 無限につらい (@xrekkusu) 2015, 8月 14