セキュアプログラミングとセキュアOS(後期2単位)

客員教授 柴山 悦哉

1.授業のねらい

現代の我々の社会は、ソフトウェアで制御されていると言っても過言ではない。しかし、世の中のソフトウェアシステムは多くの脆弱性を抱えたまま稼働しているのが実情である。そのため、多発するサイバー攻撃により、社会全体で様々な悪影響が生じている。そこで、本授業では、攻撃に強くセキュアなソフトウェアを構築・運用するために有用となるソフトウェアの設計・実装・運用に関する原則、概念、技法、ガイドライン、ツールなどについて紹介および解説を行う。

2.到達目標

セキュアなソフトウェアの基本的な構成原理を理解する。また、ソフトウェアの開発段階および運用段階において、それぞれどのようなメカニズムが利用可能か、またそれらのメカニズムにはどのような利害得失があるかを理解する。

3.授業計画

次のような話題について講義を行う予定である。

  1. ソフトウェアの脆弱性
  2. 原則とガイドライン
  3. 設計レベルの問題
  4. 実装レベルの問題
  5. バッファオーバーフロー攻撃の仕組み
  6. バッファオーバーフロー攻撃の防御策
  7. Webアプリケーションの脆弱性
  8. 入出力の検査とサニタイズ
  9. 隔離実行
  10. サンドボックス
  11. アクセス制御
  12. セキュアOS
  13. マルチレベルセキュリティ
  14. 認証と承認
  15. セキュアプログラミングの難しさ

4.教科書

特に指定しない。

5.参考書

授業中に紹介する。

6.関連科目

プログラミング,オペレーティングシステム,インターネットテクノロジ,セキュアシステム構成論,情報セキュリティ技術演習Ⅰ,ソフトウェア構成論

7.成績評価の方法

学期末のレポートによる。