|
概要 |
説明 |
備考 |
初日
|
集中講義の概要説明 |
3日間の講義と演習内容、演習環境についての概要説明。 |
|
|
セキュリティホール |
代表例としてバッファオーバフローを取り上げ、その原理を理解し実際のプログラムのセキュリティホールを
利用したクラッキングの演習をおこなう。 |
VMware、Linux、C言語 |
|
アセンブリ言語の基礎 |
セキュリティホールについての理解をより深めるため、またカーネルデバッグの前提知識として
アセンブリ言語の基礎を習得し、実際にプログラミングおよびデバッグをおこなう。 |
IA32アセンブリ言語、Intelシンタックス、AT&Tシンタックス |
二日め
|
カーネル空間およびユーザランドで動作するソフトウェアの開発技術 |
カーネル空間で動作するソフトウェアと、ユーザランド(ユーザプロセス空間)で動作する一般的な
ソフトウェアでは、そもそも動作原理がまったく異なる。それぞれに必要な開発技術を習得する。 |
VMware、FreeBSD |
|
カーネル空間で動作するソフトウェアの開発技術 |
ファイルシステムやデバイスドライバなど、カーネル空間で動作するソフトウェアの開発技術を理解し、
簡単なデバイスドライバを作成する。 |
C言語、カーネルデバッガ、クラッシュダンプ |
|
RDBMSとJavaによるWebアプリケーションの開発 |
ユーザランドで動作する一般的なソフトウェアの例としてWebアプリケーションを作成する。 |
postgreSQL, Tomcat, SQL, JSP, Java, JavaScript |
|
2時間で覚えるObjective-C |
スマートフォン、タブレットのアプリケーション開発言語として再び脚光を浴びているObjective-C言語の基礎を学び、簡単なネットワークアプリケーションを開発する。 |
Objective-C, GNUstep |
三日め
|
システムの信頼性確保 |
システム全体の信頼性を確保するためには、システムを構成する個々のハードウェアおよび
ソフトウェアの品質を確保し、さらに運用時の障害対策を講じる必要がある。
演習を通してソフトウェア品質確保および障害対策の実際を理解する。 |
VMware、FreeBSD |
|
ソフトウェアの品質確保 |
必要十分なソフトウェア品質確保のためのテスト手法の理解と、
実際にテストケースを作成する演習をおこなう。 |
C0/C1メジャー、テストケース |
|
ロードバランサを利用したフェイルオーバ |
ネットワークアプリケーションを稼動させるノードを複数配置し、
運用系の障害発生時に待機系へ切り替えるフェイルオーバの仕組みをロードバランサを利用して構築する。
またロードバランサソフトウェアのソース解析をおこない、ソース改造による新規機能の追加をおこなう。 |
C言語、Balance、GLOBAL、ソース解析、diff、patch |
|
運用監視ツールの開発 |
システムおよびサービスプロセスの状態を監視し、障害の検知および報告、
サービス再起動をおこなう運用監視ツールの開発を通し、実際のシステム運用業務を理解する。 |
スクリプト言語(sh、perlなど), vmstat, netstat, swatch, knockd |