前言

今年暑假,我參加了教育部的 AIS3 新型態資安實務暑期課程,為期七天,主修為跨域組。跨域組的必修課較著重資安在醫療與企業管理上的應用,選修時段則可自由跑班,因此我也參與了多場技術課程。

本文依日期記錄七天的課程與活動,再說明我們的專題。專題是這次投入最多時間,也讓我思考最深的一部分。

AIS3 課程使用的階梯教室
AIS3 課程使用的階梯教室

住宿

這次住宿於交大的十二舍。宿舍本身條件普通,不過樓下環境相當宜人,晚上結束工作後在附近散步,是這幾天少數能放鬆的時間。

十二舍的走廊。連夜趕專題的那幾天,這條路我來回走了無數次
十二舍的走廊。連夜趕專題的那幾天,這條路我來回走了無數次

Day 1

第一天上午先是課程介紹跟開幕,接著就直接進馬聖豪的 Windows 核心安全主修課。下午是奧義智慧帶的用 LLM 做威脅情資分析,還有戴夫寇爾的 Hack Your Own Kernel 進階攻防。晚上則是破冰跟助教說明。

第一天的課程安排緊湊,內容也相當扎實。整日接觸高密度的資安知識,正是我參加 AIS3 所期待的學習經驗。

上課用的桌子,筆電加一台外接螢幕就是我這幾天的戰鬥位
上課用的桌子,筆電加一台外接螢幕就是我這幾天的戰鬥位

Day 2

早上是調查局的資安宣導跟遠傳電信的電信資安攻防,後者講到偽基地台跟詐騙簡訊,蠻貼近生活的。下午進入選修時段,同一個時段會同時開好幾門課,跨域組可以自己挑要聽哪一場。那兩個時段開的課,有 Web 安全基礎跟語言模型攻擊,也有量子電腦的資安威脅跟 Linux 核心訓練。我就趁這個機會到處跑班,把想聽的技術課都掃了一遍,這也是我覺得 AIS3 很棒的一點。

晚上是產業鏈結交流會,好幾間資安公司都來擺攤。現場有動力科技跟酷澎,還有戴夫寇爾跟中華資安,可以直接跟業界的人聊資安工作到底在做什麼。

選修課上在筆電上解題,右邊那張是即時排行榜
選修課上在筆電上解題,右邊那張是即時排行榜

Day 3

這天整天都是選修,我聽了許建隆老師的智慧醫療資安,也去看了逆向工程跟威脅情資紅隊實驗。晚上是趙正宇的菁英講座,題目叫 From Zero Knowledge to Zero Day Hunter,講怎麼從零走到挖 0 day,聽完很有感。

從這天晚上起,我們開始在課程結束後集中進行專題製作。白天上課、晚上討論與實作的安排,讓時間分配變得更緊湊。

大概第二三天開始就是這種狀態,累到直接趴在桌上
大概第二三天開始就是這種狀態,累到直接趴在桌上

Day 4

第四天最熱門的無疑是 Orange Tsai 的 PHP 攻防,教室整個坐滿。我還趁機讓 Orange 在我的名牌上簽了名,這張名牌我到現在都還留著。除此之外還有惡意程式鑑識跟酷澎周彥儒的威脅建模。晚上是社團之夜,各地的資安社群聚在一起交流。

AIS3 新型態資安實務暑期課程的識別旗
AIS3 新型態資安實務暑期課程的識別旗

Day 5

從第五天開始,課程進入整日的專題製作階段。這幾天持續撰寫、測試並處理遇到的問題。期間曾騎乘 oloo 前往清大購買晚餐,再返回繼續進行專題,現在回想仍是一段深刻的經驗。

深夜的宿舍,螢幕還亮著,專題還沒完
深夜的宿舍,螢幕還亮著,專題還沒完

Day 6

第六天是專題發表。發表完的那一刻整個人瞬間鬆掉,於是晚上就跟朋友跑去逛新竹的廟口跟巨城,好好放鬆了一晚。連續熬夜好幾天之後,那頓晚餐吃起來特別香。

產業交流跟專題討論時的教室
產業交流跟專題討論時的教室

Day 7

最後一天是頒獎跟結業。七天說長不長說短不短,但因為後半段幾乎沒睡,體感上其實過得飛快。

晚上的菁英講座,整間教室都在聽
晚上的菁英講座,整間教室都在聽

低成本工控 ICS 靶場

接下來是這篇的重點。

一開始,我們尚未確定專題方向,曾在區塊鏈安全與工業控制安全之間討論。考量組員具備部分工控背景,加上我過去參與過多項硬體專案,我們決定選擇較少人接觸的工業控制資安,目標是製作一套低成本的實體 ICS 靶場。

起初我對工控領域的認識相當有限。為了完成這個題目,我從基礎開始理解 PLC、SCADA 與 Modbus,並在查詢資料、學習與實作之間逐步建立概念。

真正上手之後,我把以前做硬體專案累積的經驗整個搬了過來。我們用一塊 NodeMCU-32S 開發板當作 PLC,接上這些裝置:

  • 三顆 LED 指示燈
  • 一顆伺服馬達
  • 一個蜂鳴器
  • 一個按鈕
  • 一顆 DHT11 溫濕度感測器

再用開源的 FUXA 當作 SCADA 監控介面,透過 Modbus 通訊協定去讀取跟控制這些設備。整套兜起來,就是一台放在桌上,看得到也摸得到的迷你工控系統。

我們做的低成本 ICS 靶場,LED 跟伺服馬達還有蜂鳴器跟溫濕度感測器都在上面
我們做的低成本 ICS 靶場,LED 跟伺服馬達還有蜂鳴器跟溫濕度感測器都在上面

有了靶場之後,我們設計了一條循序漸進的攻防流程,從最基礎的設備遙控開始,一路做到 ARP Spoofing 的中間人攻擊嘗試,用來模擬工控網路一旦隔離失效會有多脆弱。

過程並不順利。ESP32 的連線穩定度不足,SCADA 系統也與 Docker 部署產生相容性問題。後來我們改用 pyModbusTCP 函式庫,重新撰寫硬體連線邏輯,系統才逐漸穩定。

分工上也有一些摩擦。這種短時間高強度的合作,每個人對怎麼分工的想法不太一樣,中間難免有些不愉快。但撇開這些,大家最後還是把各自負責的硬體設計跟 Modbus 建置,還有 SCADA 介面跟答題平台都做完,把一個軟硬體兼具的專題兜了出來。

第六天上台發表,把整套從 SCADA 到 PLC 的流程講給大家聽
第六天上台發表,把整套從 SCADA 到 PLC 的流程講給大家聽

發表完看其他組的成果也很有意思,每一組切入的題目都不一樣。想看我們專題細節的話,完整的程式碼跟韌體都放在 GitHub 上,簡報跟報告也一起附在裡面。

台下看其他組發表,每組的題目都很不一樣
台下看其他組發表,每組的題目都很不一樣

七天下來的心得

七天結束後,回顧這段經驗,收穫比我原先預期更豐富。

除了接觸大量更新的資安知識外,最特別的是這次讓我進入原本完全陌生的 OT 工控領域。完成專題後,我已具備進一步學習所需的基礎認識。

真正讓我印象深刻的,不只是技術,而是如何在陌生團隊中定義自己的角色。從第一天的破冰、連續多晚的合作,到分工上的磨合與最終完成軟硬體,這段經驗讓我更清楚,團隊中除了程式能力外,溝通、補位與推進工作的能力同樣重要。

我也在這裡認識許多能力出色的同學,看見大家對資安的熱情。能與同樣關注這個領域的人共同學習,是這七天最珍貴的收穫。

最後照慣例附上結業的紀念。這張是 AIS3 給的識別名牌,上面還留著 Orange 的簽名,對我來說算是這七天最好的紀念品之一。

這七天的紀念,跨域資訊安全的識別證,加上 Orange 的簽名
這七天的紀念,跨域資訊安全的識別證,加上 Orange 的簽名

感謝在專題期間共同投入的組員與協助我們的助教。若有機會,我希望明年能再次回到這個課程。