シラバス GRADUATE SCHOOL
セキュアプログラミングとセキュアOS(後期2単位)
教授 盛合 敏
1.授業のねらい
本科目では、情報システムの重要な位置を占めるソフトウェアについて、その脆弱性を可能な限り事前に排除し、よりセキュアなソフトウェアを設計・構築・運用するための原則、概念、技法、ガイドライン、プログラミング言語固有の問題、ツールなどについて紹介する。そして、ソフトウェアの脆弱性を完全になくすことは困難であることを前提に、ソフトウェアシステムの出入口での対策、一部に問題が発生した場合の影響範囲の局所化、最小権限の原則にしたがったアクセス制御、アクセス主体の管理などを行う、セキュアOSの考え方を解説する。
2.到達目標
- ソフトウェアの脆弱性が生じる原因と脆弱性がもたらす影響を理解する。
- ソフトウェアをセキュアに構築するための基本的な手法を理解する。
- ソフトウェアをセキュアに運用するための基本的な手法を理解する。
3.授業計画と開講形態
-
第1回 情報セキュリティとソフトウェアセキュリティ
第2回 ソフトウェアの脆弱性とセキュアプログラミングの原則
第3-4回 ソフトウェアの設計と実装の問題
第5-6回 バッファオーバーフローとその対策
第7回 Webアプリケーションの脆弱性と文字列の問題
第8回 入出力の検査とサニタイズ
第9回 隔離実行
第10回 信頼できないコードの安全な実行とサンドボックス
第11-12回 アクセス制御とセキュアOS
第13回 認証と認可
第14回 さまざまな認証方式
第15回 セキュアプログラミングの難しさ
なお順序は、進度等によって変更することがある。
4.教科書
特に指定しない。
5.参考書
授業中に紹介する。
6.関連科目
次の科目を履修済みであることが望ましい。
オペレーティングシステム,プログラミング、ソフトウェア構成論
7.成績評価の方法
隔回の小テスト(40%)、期末レポート(40%)から総合的に評価する。
なお、ディスカッションなど講義への積極的な参加も評価対象とする(20%)。
8.その他
小テストには、Google Classroom を用いる。