シラバス
入学のご案内履修登録

科目の概要

比較的身近であり重要なメディアであるWebのセキュリティを題材に、具体的な対象を情報セキュリティに共通する観点である、目的(機密性、完全性、可用性)と手段(認証・認可・監査)、そしてシステム的視点(経済・人間・法律とのつながり)と攻撃者の視点から理解する。各回において、①実際に起こった重大インシデントの紹介とその被害の影響②実験環境でのインシデントの体験③対策の概要の理解④対策の限界を取り上げる。

科目情報

履修想定年次
2年次
単位数
2単位
開講Q
3-4Q
科目区分
選択
授業の方法
演習科目
評価方法
提出物(各回の体験のスクリーンショットなど)100%
科目コード
INF-2-C3-0034-020
到達目標
Webのセキュリティにおける代表的な欠陥について、目的(機密性、完全性、可用性)と手段(認証・認可・監査)、そしてシステム的視点(経済・人間・法律とのつながり)理解し、列挙できるようになる。また、その影響について説明できるようになる。さらに、それらの欠陥に対する攻撃を再現し、対策を講じることができるようになる。
教科書・参考書
  • 徳丸浩『体系的に学ぶ安全なWebアプリケーションの作り方第2版脆弱性が生まれる原理と対策の実践』SBクリエイティブ、2018年米内貴志『Webブラウザセキュリティ―Webアプリケーションの安全性を支える仕組みを整理する』ラムダノート、2021年
授業時間外の学修
各回の講義内容は繰り返し見返し、各回二時間ほど復習を行ってください。また、次回の学習内容についてもあらかじめ不明な単語や前提となる知識をWebで調べるなどして各回二時間ほど予習を行ってください。
特記事項
順次公開予定

授業計画

1
オリエンテーション

1回開講日時:
2099年4月1日(水) 00時00分より

講義の目的と全体の構成を説明する。過去にWebに関連して起きたWebのインシデント(事件・事案)の主なものを列挙し、Webにまつわる攻撃の多様性を理解する。また、無許可の解析が違法行為となりうることを理解する。

2
実験環境構築

2回開講日時:
2099年4月1日(水) 00時00分より

本演習の実験環境の構築を行う。Webの仕組み(HTTP, HTML, JavaScript)についても実際に操作してみることで復習する。

3
パスワード

3回開講日時:
2099年4月1日(水) 00時00分より

パスワード推測攻撃を体験し、攻撃への対策(緩和策)についても学ぶ。これを通じて、セキュリティにおける対策には、人間とシステムの両方の観点があること、情報の漏洩を前提とする必要があること、完璧な対策がないこと学ぶ。

4
インジェクション攻撃(1)

4回開講日時:
2099年4月1日(水) 00時00分より

SQLインジェクションに代表される、サーバにコマンドおよびその断片を注入する攻撃を体験する。その仕組と対策について学ぶ。さらに、Webサーバ上のログの確認を体験し、サービスが適切に稼働しているかどうか監視(監査)する重要性を学ぶ。

5
不適切なアクセス制御

5回開講日時:
2099年4月1日(水) 00時00分より

ディレクトリトラバーサル攻撃を体験し、その対策として、Webアプリで行うべきチェックについて学ぶとともに、OS側の仕組み(アクセス権限、コンテナによる区画化)の効果を体験する。Webアプリの脆弱性に備えてOS側での対策の重要性も理解する。

6
Webブラウザの機能(1)

6回開講日時:
2099年4月1日(水) 00時00分より

Webブラウザは一般に複数のWebサーバとインタラクションを行う。Webブラウザ上で情報へのアクセスや操作を制御・分離する基本的なしくみとして同一オリジンポリシー(SOP)について、実際に動作を確認して学ぶ。

7
インジェクション攻撃(2)

7回開講日時:
2099年4月1日(水) 00時00分より

Webブラウザの同一オリジンポリシによるアクセス制御を回避する攻撃として、クロスサイトスクリプティング攻撃(XSS)を体験する。DOMベースXSSについても学び、ブラウザ側で実行されるプログラムのセキュリティの必要性を理解する。

8
Webブラウザの機能(2)

8回開講日時:
2099年4月1日(水) 00時00分より

Webブラウザで情報を保存する機能であるクッキーについて、動作を確認しながら学ぶ。特に、自動的に保存され、リクエストの発行元(webページ)によらず動作することを理解する。

9
インジェクション攻撃(3)

9回開講日時:
2099年4月1日(水) 00時00分より

CSRF攻撃に代表される、Cookieの特性を利用した攻撃を体験する。代表的な対策(ワンタイムトークン、再認証など)についても、実際にそれが行われているケースを見て学ぶ。

10
プライバシ

10回開講日時:
2099年4月1日(水) 00時00分より

クッキーやインラインフレームなどのメカニズムを用いたトラッキングについて、その動作を実際に確認して学ぶ。トラッキングと人権(プライバシ)・法律(個人情報保護)の関係について理解する。

11
Webを支える通信のメカニズム

11回開講日時:
2099年4月1日(水) 00時00分より

ブラウザからWebアプリケーションにアクセスする際のトラフィックの、パケット解析ツールを用いた解析を体験する。httpとhttpsの違いについて学び、WebブラウザがWebサーバを認証するという観点と、https(TLS)による機密性・完全性について理解する。

12
利用不能攻撃

12回開講日時:
2099年4月1日(水) 00時00分より

Webアプリケーションの可用性に対する攻撃として、利用不能攻撃を体験する。最低限必要な対策について理解するとともに、国境を超えたサイバー攻撃の実態についても学ぶ。

13
フィッシング

13回開講日時:
2099年4月1日(水) 00時00分より

人間の特性を利用した攻撃として、フィッシング攻撃を体験し、その対策について学ぶ。メールなどWeb以外の経路から開始される攻撃があること、人間の脆弱性への対策の難しさを理解する。

14
ペネトレーションテスト

14回開講日時:
2099年4月1日(水) 00時00分より

攻撃者が攻撃を試みる場合のモデル(サイバーキルチェーン、MITRE ATT&CK等)とペネトレーションテストの考え方について学ぶ。さらに、ペネトレーションのスキルを向上させる手段としてのCTFを体験する。

15
インシデントレスポンス

15回開講日時:
2099年4月1日(水) 00時00分より

インシデントレスポンスのフロー(①検知・分析、②初動対応・封じ込め、③根絶・復旧、④事後対応)について学び、インシデントレスポンスを仮想的に体験することで、限られた工数の中で対応を迫られるCSIRTの活動を体験・理解する。

関連科目