シラバス参照

講義概要/Course Information

2026/06/15 現在

科目基礎情報/General Information

授業科目名
/Course title (Japanese)
ソフトウェアセキュリティ(電気通信学研究科 高度IT)
英文授業科目名
/Course title (English)
Software Security
開講年度
/Academic year
2011年度 開講年次
/Year offered
全年次
開講学期
/Semester(s) offered
後学期 開講コース・課程
/Faculty offering the course
博士前期課程高度IT
授業の方法
/Teaching method
講義、演習 単位数
/Credits
2
曜限
/Day, Period
火/Tue 5
科目区分
/Category
選択科目
開講類・専攻
/Cluster/Department
高度IT
担当教員名
/Lecturer(s)
大山 恵弘
居室
/Office
西9-515
公開E-mail
/e-mail
oyama@inf.uec.ac.jp
授業関連Webページ
/Course website
http://www.ol.inf.uec.ac.jp/~oyama/softsec2011/
更新日
/Last update
2011/03/24 13:22:21 更新状況
/Update status
公開中
/now open to public

講義情報/Course Description

主題および達成目標
(2,000文字以内)
/Themes and goals
(up to 2,000 letters)
主題:近年のソフトウェアセキュリティ技術に関して理解を深めることを目的とする。

達成目標:ソフトウェアセキュリティの分野における基礎技術を理解し、その分野における課題を解く知識とスキルを身につけることを目標とする。
前もって履修
しておくべき科目
(1,000文字以内)
/Prerequisites
(up to 1,000 letters)
なし
前もって履修しておくこ
とが望ましい科目
(1,000文字以内)
/Recommended prerequisites and preparation
(up to 1,000 letters)
特に科目の指定はないが、C言語のプログラミングができること、UNIX系OSおよびアセンブリ言語についての基礎知識があることが、講義を理解するために必要である。特に、C言語の初心者は、課題レポートを作成するのにかなりの困難が伴う可能性があることに注意すること。
教科書等
(1,000文字以内)
/Course textbooks and materials
(up to 1,000 letters)
講義資料は毎回配布する。
参考書を以下に示す。
John Viega, Gary McGraw: "Building Secure Software: How to Avoid Security Problems the Right Way"
Greg Hoglund, Gary McGraw: "Exploiting Software: How to Break Code"
Michael Howard, David LeBlanc: "Writing Secure Code"
Jack Koziol et al., "The Shellcoder's Handbook: Discovering and Exploiting Security Holes"
James E. Smith, Ravi Nair: "Virtual Machines: Versatile Platforms For Systems And Processes"
授業内容とその進め方
(2,000文字以内)
/Course outline and weekly schedule
(up to 2,000 letters)
(a)授業内容
ソフトウェアセキュリティについての講義を行う。

(b)授業の進め方
プロジェクターを用いて講義形式で行う。

Lecture schedule:
1: Guidance and introduction
2: Buffer overflow attacks
3: Buffer overflow attacks (continued) and format string attacks
4: Denial-of-Service attacks, DNS cache poisoning
5: Attacks against Web applications (1): Forceful browsing, directory traversal, session management, cross-site scripting
6: Attacks against Web applications (2): Session fixation, cross-site request forgery, OS command injection, SQL injection
7: Authentication, authorization, information privacy
8: Race attacks, computer viruses
9: Analysis of binary code
10: Security enhancement techniques based on dynamic monitoring or environment isolation
11: Security enhancement based on language-level techniques (1): Heuristics-based schemes, Splint
12: Security enhancement based on language-level techniques (2): StackGuard, safe C compilers, safe runtime systems
13: Secure operating systems
14: Virtualization and security
15: Summary and future directions

(c)授業時間外の学習(予習・復習等)
講義の前には参考書の該当する部分を読んでおくこと。
講義の後には、参考書の該当する部分や配布資料を再度読んだり、課題のレポートを作成したりすること。
対面授業・遠隔授業の別
/Face-to-face or online lecture
対面授業
実務経験を活かした
授業内容
(実務経験内容も含む)
/Course content utilizing practical experience
成績評価方法
および評価基準
(最低達成基準を含む)
(1,000文字以内)
/Evaluation and grading
(up to 1,000 letters)
(a)評価方法
講義の中で数回出題する課題のレポートにより採点する。レポートが成績評価に占める割合は100%である。
ただし、講義への出席率が非常に低い場合には減点することがある。

(b)評価基準
単位取得には、すべての課題に対して十分な質のレポートを提出することが必要である。ソフトウェアセキュリティのいくつかの重要な事項を理解し、それらの事項に関係するプログラミングや文章作成ができることが必要である。
オフィスアワー:授業相談
(1,000文字以内)
/Office hours
(up to 1,000 letters)
木曜4限、西9号館515号室。この時間に都合が付かない場合には、メールや電話などにより別途アポイントメントを取ること。電子メールによる質問も可。
学生へのメッセージ
(1,000文字以内)
/Message for students
(up to 1,000 letters)
セキュリティは近年著しい速さで研究が進んでいるホットな分野であるとともに、実世界における重要度が極めて高い技術でもある。本講義ではセキュリティの基礎から最新動向までを扱う。将来研究開発の仕事に従事したときに役に立つ知識も多いと思う。ぜひ一生懸命勉強してほしい。
その他
/Others
なし
キーワード
/Keywords
セキュリティ, 仮想マシン, OS, システムソフトウェア