セキュアプログラミングとセキュア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.成績評価の方法

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