Security Camp 2012

講義内容

クラス別専門科目(応募時に選択)

ソフトウェア・セキュリティ・クラス

概要 - 本クラスの目指すところ

 現在よく見られるソフトウェア脆弱性や、今後の発生が懸念されるソフトウェア脆弱性について、適切な攻撃アプローチの考察及び、その延長で考えられる防御や予防について考察・提案できるレベルの人材発掘及び、当該人材の成長に資する気づきの促進を目指します。

詳細 - 本クラスでの実施内容

 マルウェア解析、脆弱性調査を通して、ソフトウェア全般のセキュリティについて学ぶとともに、脆弱性を悪用した攻撃の原理、及び防御・解析手法の修得や、実際のソフトウェア開発において脆弱性が作り込まれてしまう原因と対策に関する考察や提案を、演習を通じて行っていただきます。

補足 - 具体的な講義/演習

  • マルウェア概要
  • OllyDbg,IDAPro,などを中心とした解析方法概説
  • アセンブラ読経
  • マルウェア解析演習&演習成果発表(クラス内)
  • ヒューリスティック検知演習&演習成果発表(クラス内)

Webセキュリティ・クラス

概要 - 本クラスの目指すところ

 現在のWebアプリケーションを構成する要素技術や仕組み、そしてそれらに付随する脆弱性や課題を取り扱い、新たな対応技術や、対応のための攻撃技術を進化させるレベルの人材発掘及び、当該人材の成長に資する気づきの促進を目指します。

詳細 - 本クラスでの実施内容

 Webアプリケーションで未だ根絶できていない脆弱性であるクロスサイトスクリプティングを中心に、演習形式で調査・解析を行うとともに、そのような脆弱性を本質的に作りこまない、もしくは作り込めないようにするための考察や開発上の提案・試行を、演習を通じて行っていただきます。

補足 - 具体的な講義/演習

  • WebブラウザとSame Origin Policy
  • クロスサイトスクリプティング攻撃の原理と脅威
  • クロスサイトスクリプティングのバリエーション
  • HTML5とJavaScript
  • Content-Security-Policy
  • 脆弱性を低減・撲滅するための設計実習および発表

ネットワーク・セキュリティ・クラス

概要 - 本クラスの目指すところ

 実際のネットワークにおける攻撃の検知や、適切な防御策を講じられるとともに、今後出現するであろう新しい攻撃やその対応技術について考察・提案できるレベルの人材発掘及び、当該人材の成長に資する気づきの促進を目指します。

詳細 - 本クラスでの実施内容

 ネットワークの基礎知識を解説しつつ、パケットを自らの手で作成してもらいます。そしてその上でさまざまな攻撃内容を含むパケットキャプチャファイルをはじめとする解析対象を用いた演習を行います。
 このパケットキャプチャファイルには、例えば標的型攻撃が行われた結果発生するトラフィックや、DNSスプーフィング攻撃の結果発生するトラフィックをはじめとする、通常のインターネット利用では発生し得ないトラフィックが多く含まれます。このようなデータを解析するにあたり必要なアプローチや考え方について、演習を通じて獲得できることを想定しています。
 また、ネットワークセキュリティを考える上で欠かせないインターネットプロトコルの詳細を、攻撃者の視点から説明したり、攻撃者の思考を知るための通信偽装や、マルウェアが発生させる通信に関しても本クラスで扱う範囲とします。

補足 - 具体的な講義/演習

  • パケット工作と攻撃への応用
  • 偽装通信とその検出
  • 侵入検知とその回避
  • 各種通信解析演習と発表

セキュアなOSを作ろうクラス

概要 - 本クラスの目指すところ

 現代のカーネルでは様々なデバイスへの対応や拡張性を保持するために、逆にマルウェアが入り込みやすいポイントが出来てしまっています。このクラスでは、そうしたポイントを利用したり、また、防御したりといったような「セキュリティとOS」に関連するテーマを個別に設定し、実際にソフトウェアを作成する過程で、OSを強化する「アイディア」を「形」にする方法を学びます。

詳細 - 本クラスでの実施内容

 本クラスでは各自テーマを決めて「何らかのソフトウェアを開発」します。
 ただし、テーマの目標とするところは「セキュリティとOSが相互に関連するものづくり」ですので、これに関連したテーマに限定されます。
 また、このような目的を達成するために必要なことは、次の3つです。

  • OSについて興味があり,システムコールレベルのイベント駆動型のプログラムが作れること/作った経験があること
  • OSが持つべきセキュリティについて何らかのアイディアを持っていること
  • セキュリティに関係するプログラム作成の経験がある/これからやりたいと考えていること

 あえてセキュリティを破る方面のソフトウェアに関する試作を行ってもいいでしょう。
 具体的には、参加者決定後、参加者の方からそれぞれの希望する開発テーマの提出を行ってもらいます。開発テーマは、OSと関連した攻撃/防御技術のいずれかもしくは両方の技術に関連したもので、キャンプ中に何らかの成果が見せられる規模(デモができるレベル)であればOKです。また、自分で思いつかない人には、講師から各人の技術レベルにあわせて開発テーマを提示します。
 そして、講師によるオンラインでの指導をキャンプ前から当日にかけて実施していくことを想定しています。

補足 - 具体的な講義/演習

 キャンプ期間中は、主に、個別の開発テーマによる開発作業をメインとしますが、その他に、マルウェアについての基本的な講義・演習時間や、全体共通行事のBOFや特別講義、CTF、グループワーク等にも参加していただきますので、実際には5日間を丸々、開発作業に割くことはできません。
なお、ターゲットとするシステムですが、組込システムや制御システムでも構いません。ただし、OSがオープンソース系のものでTCP/IPスタックを装備していることと、参加者自身でハードウェアや開発環境などを用意し、持ち込んでいただくことが条件となります。

おすすめの開発テーマについて

 セキュアなOSを作ろうクラスでは、特に独自の開発テーマがない場合は、以下から選択することをおすすめします。
 なお、申込時に開発テーマの希望がある方は、応募用紙の項番7「そのほかアピールしたいこと、書き足りないことがあれば自由に書いてください。」に記入しておいて下さい。 (ただし、最終的な開発テーマは、参加が決まった後で個別にご相談させていただく場合があります)

 「おもしろそう!」と思ったあなたの応募をお待ちしています。

おすすめの開発テーマ一覧と担当講師

  1. 「セグメントを利用したメモリ保護機構を作ろう(x86限定)」(川合講師)
  2. 「OSの提供するセキュアなAPIを作ろう(x86限定)」(川合講師)
  3. 「不正コード実行防止機能を自作しよう」(竹迫講師)
  4. 「組込みOSでの不正実行の検出機能を自作しよう」(坂井講師)
  5. 「シミュレータでの不正実行の検出機能を自作しよう」(坂井講師)
  6. 「組込みOSでのバッファオーバーラン防止機能を自作しよう」(坂井講師)
  7. 「組込みOSでのデータ実行防止機能を自作しよう」(坂井講師)
  8. 「プロセッサのセキュリティアシスト機能の設計」(坂井講師)
  9. 「セキュアOSのポリシー記述言語を使いやすく」(忠鉢講師)
  10. 「オリジナルセキュアOSを作ろう」(忠鉢講師)
  11. 「仮想化を用いてOSのセキュリティを向上しよう」(忠鉢講師)
  12. 「隠しファイルシステムを作成しよう」(忠鉢講師)
  13. 「ルートキットを作成しよう」(根津講師)
  14. 「ルートキットの感染の防止/検出/駆除ツールを作ろう」(根津講師)

それぞれの開発テーマの説明は、
「セキュアなOSを作ろうクラス」おすすめの開発テーマの説明ページをご覧ください。

注意事項

  • 「セキュリティ・キャンプ中央大会2012」で演習に使用するネットワークは本キャンプ専用の閉じたネットワークで、一般のネットワークとは隔離されたものです。
  • 応募するクラスによっては、各クラスの参加者に求めるスキルの目安が設定されています。

キャンプ時間割

現在準備中です。

特別講義

特別講義(8月14日(火)16:00~17:00、18:00~19:00)

  • 株式会社インターネットイニシアティブ 根岸 征史 様
  • 横浜地方検察庁 相模原支部 支部長検事 大橋 充直 様