基本資料

Name: Introduction to Information Security
Professor: Rahul Chatterjee 印度人
Credit: 3
Score distribution: Introduction to Information Security - Madgrades

內容

  • 密碼學
    • Hash, SHA, RSA, Diffie-Hellman
  • Web Security
    • XSS, SQLi, CSRF
  • Network Security
    • TLS, Tor
  • Operating system security
    • Unix Permission
  • Low-Level security
    • x86, Buffer overflow
    • Protection: Stack canary, ASLR
  • Hardware security
    • Intel SGX, Bitlocker, TPM
  • Virtual Machine

計分方式

  • Homework 50%
  • Midterm-1 20%
  • Midterm-2 20%
  • Class participation 10%
    - 只要在論壇(piazza)有說說話就有分了
  • 好像沒有調分

上課方式

前半學期實體 後半學期Zoom
PowerPoint上課 偶爾會在上面塗鴉

考試

第一次實體考試
第二次線上考試
都是簡答題
題目挺有趣的 有不少是給你一個 Alternative 的作法 問你會不會有問題
例如:

作業

HW 1 3 4 可以兩人一組
HW2 一人
HW5 可以三個人

Homework 1

  • Part A
    • 給你 Hash 給你密碼規則 要暴力破解密碼
  • Part B
    • 給你一個有錯的加密解密 function 要找到漏洞並破解
    • 蠻酷的 但我偷看別人的 GitHub 才想到怎麼做 QQ
  • Part C
    • 實作 Diffie-Hellman
    • 不過你只要填空 所以蠻簡單的 但還是需要認識一下 Diffie-Hellman 在幹嘛

Homework 2

  • Web security
    • 基本上就是實作 XSS CSRF 跟 SQL
    • 因為我有寫Web的經驗 我覺得挺簡單的
    • 但如果對HTML JS PHP SQL 都不熟 要一次通靈這麼多東西那好像真的有點重 而且剛好這個作業又不能組隊
    • 蠻多外國人都挺難過的 附一個難過圖

Homework 3

  • 用 Wireshark 看 HTTP, FTP, POP3, Traceroute
  • 給一段 network trace (.pcap) 要你寫一個 Python script 看裡面有沒有攻擊的 pattern (ARP spoofing …)
  • 算是相對簡單的作業

Homework 4

  • 典型的 CTF Buffer Overflow 題目
  • 不過他給你一個 VM 裡面 ASLR 都關掉了 所以相對好做
    • 但那個 VM 有夠舊 一堆東西都不能裝
    • 例如 GDB Peda
  • 算是我做最久的作業了吧 不過卡關就看別人 GitHub (?

Homework 5

  • 可能老師看到我們前幾個作業都很慘所以出個好玩的
  • 這個作業應該是我們這屆TA自己弄得
  • 有一個假的環境 裡頭有 一個 Router 一個喇叭 一個語音助理 一個微波爐
  • 目標是想辦法透過喇叭啟動語音助理啟動微波爐

心得

因為我在台灣有上過類似的課程 所以對我來說還算輕鬆
(不過 Madgrade 上的成績顯然不這麼認為)
整體來講是個中規中矩的課 沒什麼特別雷的 也沒什麼特別令人驚豔的