computer-security

課程資料

網路安全(英語授課)

開課:謝續平老師

修課年度:101網工所

上課的內容就是網路安全的各式議題,一開始會簡單帶過密碼學的基礎,包含:

這也約是第一次期中的範圍,接下來為了增進大家對 project 的理解,先進入後面的〈Malicious Software〉章節:

緊接著按照書的章節,討論每個主題,及簡介協定與系統:

期末考因為時間較長,範圍也較大:

這學期使用的課本是《Network Security Essentials》,這本書非常小本,以概略的方式涵蓋許多重要的網路安全議題,個人覺得還算容易閱讀。

不過其中無線網路安全的部份由於課本非常簡略不好理解,所以老師會用額外的投影片從細部講解。筆者也找了幾本書參考才終於有較好的認識,其中我比較推薦看的是《802.11 Wireless Networks》,講解的非常清楚。

網路安全和電腦安全概論及密碼學概論也有些重疊,若有上過應該會比較得心應手,但因為老師碰觸的都不會太深,如果沒上過應該也不會完全跟不上。這幾門課都是資安學程的課程。

上課方式

這堂課因為是英語授課,所以老師幾乎全程都使用英語,語調很清晰,自己覺得不會有聽不懂的問題。為了避免語言困難造成妨礙,發問的時候也可以使用中文,老師會翻譯成英語給大家。

上課的時候使用投影片講課,老師的步調適中,且講解也很易懂。如果有疑問,老師很歡迎發問。除了上課以外,也曾邀請講者前來演講,主題跟程式測試有關。

老師說有太多人試圖攻擊他,所以不要寄 email 給他,多半收不到,最好直接打電話。如果有問題也可以詢問助教,他們都很樂意回答問題,而且老師也說是能力非常優秀的學生。

考試作業

這堂課有三次期中考,學期初就會公佈考試的日期。考試內容偏重觀念,有簡答、分析、申論等等。可以感覺到老師出題有特別挑選,所以幾乎不會有需要大量背誦的題目,再加上助教都不吝於給分,只要對課程內容有一定理解,應該不難拿分。筆者平時就會跟著進度看過課本,投影片是在上課聽老師講解,考前再重新看過課本和投影片一到兩次。像這樣穩定的閱讀,其實負擔不會太大。

有四次小考,通常不會事先通知,而會在上課中突然考試,通常只考一題至兩題。主要是複習性質,所以占分不高,取三次最高分,且好像只佔期末成績的 2~4 %。

平常不點名,只是因為有突擊小考所以如果蹺課還是有差,而且老師有時會考一些只有口頭有講而課本和投影片都沒有的東西,所以有聽課還是比較好。

雖然學期初說每兩個星期就有一個作業,不過結果最後除了 3 個 projects 以外完全沒有派其他作業。三次 projects 合起來和一次期中的佔分相同。每年的 projects 主題都不相同,這次內容是圍繞在 bot 程式的相關議題,每次都有一些關聯性,而在最後整合起來。這是一個分組作業,2~3 個人一組。

在第一個 project 中,助教會提供一個 bot 程式,學生必須觀察該程式跟伺服器連結的網路封包,並紀錄彼此如何建立連線的訊息。課堂有提供一個名為 Cloudebug 的線上平台,可以在瀏覽器上連結 Windows XP 虛擬機,並對程式分析。不過也可以自行使用 Wireshark 攔截封包。

在第二個 project 中,bot 程式和伺服器建立連線後,會開始交換加密過的訊息,學生必須反組譯 bot 程式,找到助教提供的位址,解析組語並得知如何加密及解密。最後再針對封包分析,找出加密前的訊息為何。

第三個則是 bot 程式實作,包含三個部份。在這個 project 中,助教會提供幾乎已經寫好的 bot 程式及對應的伺服器程式,其中 bot 是以 C++ 所寫成,由於使用到 Windows API,助教建議使用 Visual Studio 來編輯,伺服器程式則是 Python script,不過同學並不需要針對伺服器做任何修改。

這個 project 第一個部份是要將 project 1 觀察到的溝通指令填入適當位置,並將 project 2 的解密程式填入特定函式之中,使得 bot 能和伺服器連結。

緊接著利用 Windows API 實作兩個指令:

  • 伺服器會傳送一個檔案使 bot 儲存到本地端
  • 伺服器會要求 bot 執行特定 command line 指令

最後則是要實作 Anti-debugging functions,讓程式不易被 debugger 分析,這方面可參考:

由於助教已將 bot 程式寫的非常完整,所以要實作每個功能幾乎都只要找到特定的空白函式並填入內容即可,大部分的函式都不長。可以想見助教花了非常多的心力出題。記得老師剛開始有說過由於研究所的課大家背景都不太一樣,所以會降低程式作業的難度,也因此和電腦安全概論相較起來實作的部份確實比較少。

筆者和組員主要透過 Google Drive 來共同撰寫報告以及管理檔案。這學期真的要感謝組員的幫忙,每次 project 都順利完成了。

結語

這堂課在各方面而言都非常值得,老師和助教人都很好,講課也很不錯。考試主要考觀念,所以不用太多背誦,只需理解,同時又不會改的太嚴。作業不會太難,但是又可以讓人學到東西。除此之外,給分也相當不錯。而且除了教材以外,在課堂上偶爾也能聽到一些有趣的消息。

目前資安的議題真的非常值得去接觸,老師也說擁有資安背景的人在業界是很吃香的。而據說在台灣,交大的資安課程資源也是數一數二,真的推薦大家來上這堂課。