セキュリティ概論
平成24年度シラバス
国立情報学研究所
トップエスイープロジェクト
代表者 本位田 真一
セキュリティ概論
吉岡信和、安田晃、久保正樹、戸田洋三、大久保隆夫、金子浩之
近年、情報流出やWebシステムを通した不正アクセスなど、情報システムのセキュリティは現代社会に多大の影響を及ぼすようになってきている。しかし、他の種類の製品やインフラと比べて、情報システムのセキュリティを高める技術は、現状は十分とは言いがたいのが現状である。
そこで本講義では、システム発注者・構築者が持つべきセキュリティの基礎知識と、システム構築の際に最低限知っておくべき実装技術を習得する。具体的には、セキュリティを考慮したプログラミング技術やWebシステムの代表的な脆弱性とその対策について事例を交えて解説する。
本講座において習得できる知識は下記である。
・セキュリティを考慮したシステムの受発注に関する基礎知識
・セキュアプログラミング
・Webシステムの代表的な脆弱性とその対処法
・セキュリティの保証方法
本講座を履修するにあたり前提知識は下記である。
・C/C++、もしくはJava言語
・Webシステム構築法の概要
概要
第1回: セキュリティ入門
第2回: 情報システムの調達におけるセキュリティ
第3回: セキュアコーディング,その重要性
第4回: セキュアコーディング, 実践
第5回: Webセキュリティ(1),Webアプリケーションへの攻撃
第6回: Webセキュリティ (2) Webアプリケーションを安全にする方法
第7回: セキュリティの評価
詳細
第1回: セキュリティ入門
「最近のセキュリティに関する脅威」と「政府統一対策基準」等をベースに、セキュリティの取組全容を把握する。さらに、安全確保に必要な考え方とポイントを解説する。
第2回: 情報システムの調達におけるセキュリティ
情報システムの調達におけるセキュリティの全体像を、政府調達をベースに把握する。また、企画・仕様作成・業者選定・開発等、システムのライフサイクル各ステップにおけるセキュリティの取組概要とポイント、今後の課題等を解説する。
第3回: セキュアコーディング,その重要性
セキュリティの観点からソフトウェア開発の現状を概観し、いまなぜセキュアコーディングに取り組まなくてはならないかを解説する。
第4回: セキュアコーディング, 実践
ソフトウェアの脆弱性につながる代表的なC/C++やJava言語のコーディングエラーの実例を検討すると同時に、セキュリティコード分析を実際に体験する。事例としてAndroidアプリの開発の例を紹介する。
第5回: Webセキュリティ(1),Webアプリケーションへの攻撃
Webアプリケーションに対する脅威と、既知の主な手段(攻撃)、想定される被害についての解説を通し、攻撃者の観点からWebアプリケーションのセキュリティについて解説する。具体的には、パスワード攻撃、セッションハイジャック、強制ブラウジング、インジェクション系攻撃(XSS,SQL)、CSRFなどを説明する。
第6回: Webセキュリティ (2) Webアプリケーションを安全にする方法
第5回で解説した攻撃を可能にする脆弱性と、脆弱性の原因、対処方法について、開発者の立場から解説する。
第7回: セキュリティの評価
主にソフトウェアを対象として、セキュリティの分析、設計、実装、テストにおけるセキュリティの保証の確立とその評価手法について概説する。
本講座を受講することにより、情報セキュリティについての基本的な知識を得ることができ、安全要求分析講座や形式手法(セキュリティ編)の講座の学習を効率的に進めることが出来るようになる。
・ C/C++もしくはJava言語、astah* : UMLモデリング
レポートと出席点で評価を行う
・Robert C. Seacord、C/C++セキュアコーディング、アスキー、2006年
・フランク スワイダスキー他、脅威モデル セキュアなアプリケーション構築、日経BP出版センター、2005年
・Michael Howard, Steve Lipner、The Security Development Lifecycle、Microsoft Press、2006年