シラバス参照

授業情報/Class Information

科目一覧へ戻る 2026/04/06 現在

基本情報/Basic Information

遠隔授業(授業回数全体の半分以上)の場合は、科目名の先頭に◆が付加されています(2023年度以降)
開講科目名
/Course
計算機システム特論/Advanced Computer Systems
時間割コード
/Course Code
S2201477_S6
開講所属
/Course Offered by
システム工学研究科/Graduate School of Systems Engineering
ターム・学期
/Term・Semester
2026年度/Academic Year  第3クォーター/3Q
曜限
/Day, Period
木/Thu 2
開講区分
/Semester offered
後期/the latter term
単位数
/Credits
2.0
学年
/Year
1,2
主担当教員
/Main Instructor
菅間 幸司
授業形態
/Lecture Form
講義
教室
/Classroom
北1号館A204/北1号館A204
開講形態
/Course Format
ディプロマポリシー情報
/Diploma Policy
要件年度
/Required Year
要件所属
/Course Name
ディプロマポリシー
/Diploma Policy
DP値
/DP Point
2020/04
~9999/04
システム工学研究科 1.高度な専門性と研究力 10

担当教員情報/Instructor Information

教員名
/Instructor
教員所属名
/Affiliation
菅間 幸司 システム工学部(教員)
授業の概要・ねらい
/Course Aims
セキュリティホールを持つ脆弱なシステムを仮想環境上に作成し,そのシステムに対する攻撃,および,その攻撃に対する防御を,実際に体験します.この演習を通じて,プログラムの動作原理,メモリの使われ方,関数呼び出しの仕組み等の,計算機システムについての理解を深めます.
到達目標
/Course Objectives
学部時代に学習した計算機システムに関する知識を再確認し,さらに以下の項目について理解を深める
- CPUの仕組み(レジスタの使われ方,等)
- メモリの動作原理(仮想記憶,ユーザ空間とカーネル空間,等)
- 機械語,アセンブリ言語(これらの言語を覚えるのではなく,CPUがどのように命令を解釈し実行するのか,を理解する)
- 関数呼び出しの仕組み(レジスタの使われ方,スタックフレームの構造,等)
- OSの動作・操作
など
成績評価の方法・基準
/Grading Policies/Criteria
期末レポート(100%)
(毎回の授業で確認課題を課す.課題の提出がない場合,または,まともに課題に取り組んでいないと判断される場合(白紙回答など)には,評価されないことがあり得る)
教科書
/Textbook
記載事項なし(配布資料による)
参考書・参考文献
/Reference Book
記載事項なし
履修上の注意 ・メッセージ
/Notice for Students
毎回の授業の出席は必須です.
情報セキュリティに関する授業ではありません.あくまで,計算機システムをより深く理解することが目的であり,そのための題材としてセキュリティ関連のトピックを扱うことにしています.
履修を推奨する関連科目
/Related Courses
計算機システム・OS(学部授業)
授業時間外学修(予習・復習等)の内容
/students learning outside of the class, preparation and review are included
毎回の授業後に復習を行なってください.
1単位の学修のために必要な学修量は,授業時間と予習復習の時間をあわせて45時間と定められている.それぞれに見合う自主的学修時間を確保すること.
その他連絡事項
/Other messages
記載事項なし
授業理解を深める方法
/How to deepen your understanding of classes
毎回の講義で演習課題を課し,次回の講義でその解説を行う.
「アクティブ・ラーニング」実施要項⑪
オフィスアワー
/Office Hours
月曜3,4コマ
A515
科目ナンバリング
/Course Numbering
S60045J11099S511
実務経験のある教員等による授業科目
/Practical Experience
実践的教育
/Practical Education
1. 該当しない
実践的教育の内容
/Contents
No. 回(日時)
/Time (date and time)
主題と位置付け
/Subjects and position in the whole course
学習方法と内容
/Methods and contents
備考(担当)
/Notes
1 1 本講義全体の概要と環境構築 概要の説明,演習のための環境構築 菅間/PC使用
2 2 C言語の復習 基本文法,ポインタ,等 菅間/PC使用
3 3 デバッガ gdbの使い方 菅間/PC使用
4 4 プログラムの動作原理 主にメモリの使われ方の解説 菅間/PC使用
5 5 アセンブリ Hello, world! をアセンブリで 菅間/PC使用
6 6 シェルコード1 シェルコードの概要と作成方法① 菅間/PC使用
7 7 シェルコード2 シェルコードの概要と作成方法②
(前回の演習の続き)
菅間/PC使用
8 8 脆弱なプログラム1 脆弱なプログラムの作成 菅間/PC使用
9 9 脆弱なプログラム2 脆弱なプログラムの作成
(前回の演習の続き)
菅間/PC使用
10 10 脆弱なプログラムに対する攻撃1 バッファオーバーフロー 菅間/PC使用
11 11 脆弱なプログラムに対する攻撃2 シェルコード生成と実行 菅間/PC使用
12 12 脆弱なプログラムに対する攻撃3 シェルコード生成と実行
(前回の演習の続き)
菅間/PC使用
13 13 防御方法 スタック保護等によるシェルコード対策 菅間/PC使用
14 14 セキュアなプログラム 脆弱なプログラムをセキュアなプログラムに書き換える方法 菅間/PC使用
15 15 まとめ 全体の振り返りとまとめ 菅間/PC使用

科目一覧へ戻る