科目名 | セキュアプログラミング |
---|---|
科目区分 | 専門科目 |
種別 | 演習 |
配当年次 | 3年 |
配当学期 | 前期 |
授業時間数 | 60 |
単位数 | 2 |
実務経験がある教員による授業科目 |
実務経験の概要: 国際標準化機関における情報システム開発と運用、キャンパスネットワークの設計、構築と運用を行った。また自営として各種の情報管理システムのサーバとクライアントを開発した。情報処理安全確保支援士、ネットワークスペシャリスト、応用情報技術者。 実務経験と授業の関係: |
授業概要 | 現在のプログラムはネットワーク、特にインターネットからの通信を扱う必要があり、さまざまな不正アクセスにさらされている。そのため安全なプログラムの作成方法、セキュアプログラミングの考え方が重要になる。この授業では特にWebアプリケーションを題材としたセキュアプログラミングの基礎を学ぶとともに、代表的な脆弱性についてもプログラム作成や攻撃演習などを通じて学ぶ。 |
到達目標 | - セキュアプログラミングの概念を理解する - セキュアプログラミングの基礎スキルを習得する - 脆弱性や攻撃の実際について理解する |
目標資格等 | 情報処理安全確保支援士、情報セキュリティマネジメント試験 |
評価方法 | 知識:小テスト 40%
知識:定期試験 0% 技能:日常演習 30% 技能:課題提出 30% |
評価の詳細: | |
準備学習、他科目との関連 | |
教科書・教材 | 資料を配付する |
授業計画 | 1回あたりの時間数 4時間 |
第1回 セキュアプログラミングの基礎 - 概念 - 脆弱性と攻撃 - 演習環境の準備 | |
第2回 Webアプリケーションセキュリティ: 概要とセッション - Webアプリケーションとは - Webアプリケーションに必要なセキュリティ要件 - HTTPセッションとセキュリティ | |
第3回 Webアプリケーションセキュリティ: 入力 - 入力時のセキュリティ対応 - 文字コードとエンコーディング - 入力チェックの方法 | |
第4回 Webアプリケーションセキュリティ: 出力 - 出力時の留意点 - XSSの概要と対策 | |
第5回 Webアプリケーションセキュリティ: データベース - データベース接続の概要 - SQLインジェクションの概要と対策 - CSRFの概要と対策 | |
第6回 Webアプリケーションセキュリティ: セッション管理 - セッションハイジャックの概要と対策 - セッションID管理 | |
第7回 Webアプリケーションセキュリティ: HTTP - HTTPヘッダとセキュリティ - リダイレクト - クッキーの管理 | |
第8回 Webアプリケーションセキュリティ: メール送信 - 電子メール送信の方法 - メール送信の問題 | |
第9回 Webアプリケーションセキュリティ: OSの呼び出し - OSコマンド呼び出しの概要と対策 - ファイルアクセスの概要と対策 - ファイルアップロードの概要と対策 | |
第10回 構造化データ - evalインジェクション - XML | |
第11回 WebAPIとJavaScript - JSON - JSON利用時の留意点 - DOM利用時の問題 - Webストレージ | |
第12回 認証 - ログイン処理とパスワード - 自動ログイン処理 - アカウント管理 | |
第13回 脆弱性の診断 - ポートスキャン - 脆弱性の診断 | |
第14回 C言語によるセキュアプログラミング - C言語の特性 - メモリ管理 | |
第15回 まとめ: 事例紹介 |