![]() |
| 科目一覧へ戻る | 2026/04/06 現在 |
|
開講科目名 /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 |
|
|
教員名 /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 |
|
| 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使用 |