Security & Programming Camp 2011

講義内容

セキュリティ・コース

○セキュリティ・コースの主な内容はこちらをご覧ください。(準備中)

基本科目(必修)

情報セキュリティ基礎
脆弱性はなぜ作り込まれてしまうのか、ウイルス感染の最新トレンド ネット詐欺の手口と対策 など
プログラミング入門
デバッグの方法論、勉強会について など

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

ソフトウェア・セキュリティ・クラス(赤文字は追加募集に伴う加筆部分)

このクラスでは、マルウェアを解析してマルウェアの動作、OS等への影響、特 徴などを解析結果から抽出し、その目的や性質、過去の傾向などを踏まえて抽出 した材料を吟味できるレベルを目指します。
また、ソフトウェアに含まれる脆弱性(ぜいじゃくせい)を通して、ソフトウェア全般のセキュリティについて学ぶとともに、脆弱性(ぜいじゃくせい)を悪用した攻撃の原理、および防御・解析手法の修得や、実際のソフトウェア開発において脆弱性(ぜいじゃくせい)が作り込まれてしまう原因の考察を、演習を通じて行います。また、新たなソフトウェア動作プラットフォームであるスマートフォンなどについても演習素材とします。

シラバス
①脆弱性とは何か
②マルウェアの原理と分類
③マルウェア解析
④脆弱性攻撃の原理と手法
⑤セキュリティ機能
⑥脆弱性の発見と分析
⑦実際の事例
⑧スマートフォンのセキュリティ

Webセキュリティ・クラス

このクラスでは、現在のWebアプリケーションを構成する要素技術や仕組み、そしてそれらに付随する脆弱性や課題について考察し、新たな対応技術や、対応のための攻撃技術を進化させるレベルを目指します。
実在する脆弱性(ぜいじゃくせい)を例にして、演習形式で調査・解析を行うとともに、発見した脆弱性(ぜいじゃくせい)の適切な扱い方を学びます。また、Webブラウザ毎の「方言」や、HTTPのプロトコル仕様に基づいた攻撃の仕組みについても講義や演習で取り扱います。

シラバス
①クロスサイトスクリプティング攻撃の原理とバリエーション
②Webブラウザの実装による脆弱性
③HTTPの理解と攻撃手法
④SQLインジェクション攻撃の原理とバリエーション
⑤Webアプリケーションファイアウォールの脆弱性

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

このクラスでは、実際のネットワークにおける攻撃の検知や、適切な防御策を講じられるとともに、今後出現するであろう新しい攻撃やその対応技術について考察・提案できるレベルを目指します。
具体的には、現在のコンピュータネットワークにおけるセキュリティや弱点などについて学ぶとともに、広く利用されている防御技術の課題について考察し、ネットワークプロトコルを体感しながらネットワークセキュリティを学習します。この際に、事件対応の実例を素材としたネットワーク攻撃のメカニズム理解や、実際のネットワークにおける攻撃の検知・防御策の策定についても演習のスコープに含みます。

シラバス
①パケット工作
②パケット解析
③偽造通信
④侵入検知システム
⑤ハニーポット
⑥P2P通信の解析

セキュアなOSを作ろうクラス(赤文字は追加募集に伴う加筆部分)

このクラスでは、これまでの数多くのOSの概念にとらわれない自由な発想でOSカーネルからの攻撃の検知や、適切な防御策を考え、実装するとともに、今後発見されるであろう未来的な攻撃手法に対しても考慮されたまったく新しいセキュリティモデルをOSに組み込むことができるレベルを目指します。
具体的には、OSの設計や実装をセキュリティという観点から学び、実装するとともに、今後発見されるであろう新しい攻撃手法と、それに対する防御技術を考察し、CPUとソフトウェアのセキュア機能を意識しながらの、新しく堅牢なOSを創造します。セキュリティ技術を「ものづくり」の設計の段階から取り入れることで、今後起こりうるであろう攻撃に対する検知・防御策を提示する演習を行います。

シラバス
①セキュアなOS自作ガイドライン
②OSセキュリティの歴史と現状
③OSのセキュア設計基礎知識
④組み込みOSとセキュリティ
⑤OSのアクセスコントロール概論
⑥事例研究:TOMOYOLinuxのデザインコンセプト
⑦OSセキュリティ機能の設計実習

プログラミング・コース

○プログラミングコースの主な内容はこちらをご覧ください。(準備中)

基本科目(必修)

情報セキュリティ基礎
脆弱性はなぜ作り込まれてしまうのか、ウイルス感染の最新トレンド ネット詐欺の手口と対策 など
プログラミング入門
デバッグの方法論、勉強会について など

コース共通専門科目(必修)

  • ソースコードの読み方
  • オープンソースソフトウェアの触り方
  • コミュニティの歩き方
  • デバッグの方法 など

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

プログラミング言語クラス

このクラスでは、プログラミング言語(Rubyなどの言語を想定)、およびその言語処理系を題材に、座学と実習によって言語処理系の基本、ソフトウェア構成手法の基本、性能改善手法の基本を学び、開発コミュニティで活躍できるレベルを目指します。
具体的には、処理系のコンパイルからビルドの方法、ソースコードの読み方、テスト、デバッグ方法、コミュニティとの関わり方までを講義と実習を通して学びます。

シラバス
①プログラミング言語処理系の概要と実装例
②プログラミング言語処理系の実際
③プログラミング言語処理系の構成と機能
④プログラミング言語処理系のテスト技法、デバッグ技法
⑤プログラミング言語処理系の性能評価/向上技法
⑥開発コミュニティ

データストア・クラス【募集中止】

このクラスでは、代表的なNoSQL、代表的なOSSのRDBMS(MySQLないしPostgresSQL)について、その処理系を題材に、座学と実習によって、処理系の基本、ソフトウェア構成手法の基本、性能評価手法の基本を学び、NoSQL開発コミュニティ、当該OSSの開発コミュニティで活躍できるレベルを目指します。
具体的には、処理系のコンパイルからビルドの方法、ソースコードの読み方、テスト、デバッグ方法、コミュニティとの関わり方まで講義と実習を通して学びます。

注意事項

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

キャンプ時間割

セキュリティ・コース時間割(PDF:199KB)
プログラミング・コース時間割(PDF:189KB)

特別講義

特別講義

  • 竹内郁雄先生(東京大学名誉教授、早稲田大学理工学術院 基幹理工学研究科)による講演
  • 田中慎司氏(株式会社 はてな CTO)他による講演
  • まつもとゆきひろ氏(Ruby開発者)による講演