115 年 國立中山大學資訊工程學系資訊安全碩士班《作業系統》
第 1 題80 分
- [Operating System: 80%]
(1) Please explain the redundant array of independent disks (RAID) and the levels of RAID from RAID 0 to RAID 6, i.e., RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5, and RAID 6. Note that both descriptions and figures are required to depict all these levels, such as name, basic idea, and how it works. (20%)
(2) Please explain which four conditions that happen simultaneously in a system may result in a deadlock. Please also explain the prevention, avoidance, detection, and recovery of deadlock. (20%)
(3) In a dynamic protection system, we may encounter issues when revoking access rights to objects shared by multiple users, so we must consider various scenarios. Please explain the following schemes that implement revocation for capabilities: reacquisition, back-pointers, indirection, and keys. (20%)
(4) Please explain the basic idea of cloud computing, edge computing, and fog computing, as well as draw a figure to show their relationships. (10%)
(5) Please explain the basic idea of logic bomb and distributed denial-of-service, as well as draw a figure to show their relationships. (10%)
登入後即可作答並保存紀錄。
第 1 題:作業系統
(1)RAID
核心觀念
RAID(Redundant Array of Independent Disks,獨立磁碟冗餘陣列)是將多顆實體磁碟組合成一個邏輯儲存單元,利用下列技術提升效能、可靠性或可用性:
- 條帶化(striping):將資料切成區塊,分散至多顆磁碟,提升平行讀寫效能。
- 鏡像(mirroring):將相同資料複製至不同磁碟。
- 同位檢查(parity):利用計算結果,在磁碟失效時重建遺失資料。
同位檢查常使用 XOR:
其中 為同位資料。已知其他資料與 時,可求出遺失資料:
RAID 提供磁碟失效時的持續服務能力,但不能取代備份;檔案誤刪、病毒感染會同步影響鏡像及同位資料。
解題方法與各層級
判斷 RAID 層級時,掌握三個比較軸:
- 資料切割粒度:位元、位元組、區塊。
- 備援方式:無備援、鏡像、同位檢查。
- 同位資料位置:集中式、分散式。
RAID 0:條帶化
**基本想法:**只做條帶化,不提供任何備援。
磁碟 0 磁碟 1 磁碟 2 磁碟 3
條帶 0 D0 D1 D2 D3
條帶 1 D4 D5 D6 D7
條帶 2 D8 D9 D10 D11
資料被切成 後,分散到多顆磁碟。連續讀寫可由多顆磁碟平行完成,因此效能高。
若有 顆容量為 的磁碟:
RAID 0 沒有冗餘資料,因此任一磁碟失效都會造成部分資料遺失,整個陣列通常無法使用。最低需要兩顆磁碟。
RAID 1:鏡像
**基本想法:**每一份資料同時寫入兩顆磁碟。
磁碟 0 磁碟 1
條帶 0 D0 D0
條帶 1 D1 D1
條帶 2 D2 D2
└──── 相同資料 ────┘
寫入時建立兩份完全相同的資料;讀取時可從任一份鏡像取得資料,也能將讀取工作分散至不同磁碟。
若有 顆磁碟,且採二路鏡像:
RAID 1 可容忍每一個鏡像組失效一顆磁碟。兩顆磁碟的 RAID 1 可容忍一顆失效;若不同鏡像組各失效一顆,陣列仍可運作。
優點是復原簡單、讀取可靠;缺點是可用容量只有原始容量的一半,寫入必須維持兩份資料一致。
RAID 2:位元級條帶化與漢明碼
**基本想法:**以位元為單位分散資料,並使用漢明碼(Hamming code)磁碟保存錯誤修正資訊。
資料位元 漢明碼位元
b1 b2 b3 b4 h1 h2 h4
│ │ │ │ │ │ │
磁碟 0 ───────b1
磁碟 1 ───────────b2
磁碟 2 ───────────────b3
磁碟 3 ──────────────────b4
校驗碟 1 ─────────────────────h1
校驗碟 2 ─────────────────────────h2
校驗碟 4 ─────────────────────────────h4
對每個資料字組計算漢明碼。若資料碟出現位元錯誤,讀取時可利用症候值(syndrome)定位錯誤位元並修正。
若資料位元數為 ,校驗位元數為 ,通常需滿足:
RAID 2 可容忍單一磁碟失效,並具備錯誤偵測與修正能力。不過現代磁碟本身已內建錯誤修正碼,RAID 2 需要大量校驗磁碟,且所有磁碟必須同步運作,因此實務上幾乎不使用。
RAID 3:位元組級條帶化與專用同位碟
**基本想法:**以位元組為單位分散資料,使用一顆專用磁碟儲存同位資料。
磁碟 0 磁碟 1 磁碟 2 同位碟
條帶 0 B0 B1 B2 P0
條帶 1 B3 B4 B5 P1
條帶 2 B6 B7 B8 P2
每個條帶的同位資料為:
RAID 3 的所有磁碟通常同步讀寫,適合大型連續資料傳輸。失效一顆磁碟時,可利用 XOR 重建遺失內容。
若有 顆磁碟:
缺點是同位碟集中處理所有同位資料,形成寫入瓶頸;小型獨立請求也常需要所有磁碟共同參與。
RAID 4:區塊級條帶化與專用同位碟
**基本想法:**以區塊為單位分散資料,同位資料集中於一顆專用磁碟。
磁碟 0 磁碟 1 磁碟 2 同位碟
條帶 0 D0 D1 D2 P0
條帶 1 D3 D4 D5 P1
條帶 2 D6 D7 D8 P2
RAID 4 與 RAID 3 的主要差異在於:
- RAID 3:位元組級條帶化。
- RAID 4:區塊級條帶化。
區塊級條帶化可讓不同磁碟處理不同的獨立請求,因此隨機讀取效能比 RAID 3 更好。
小型寫入需更新同位資料,常使用:
RAID 4 同樣可容忍一顆磁碟失效,容量為 。主要缺點是所有寫入都集中更新同一顆同位碟,容易形成瓶頸。
RAID 5:區塊級條帶化與分散式同位資料
**基本想法:**以區塊為單位條帶化,同位資料輪流分散至不同磁碟。
磁碟 0 磁碟 1 磁碟 2 磁碟 3
條帶 0 D0 D1 D2 P0
條帶 1 D3 D4 P1 D5
條帶 2 D6 P2 D7 D8
條帶 3 P3 D9 D10 D11
同位資料不再固定位於單一磁碟,因此可消除 RAID 4 的專用同位碟瓶頸。
RAID 5:
- 可容忍一顆磁碟失效。
- 可用容量為 。
- 讀取效能良好。
- 小型寫入仍需讀取舊資料、讀取舊同位值、計算新同位值,再寫回,具有寫入懲罰。
- 重建期間若再失效一顆磁碟,陣列會發生資料遺失。
RAID 6:雙重分散式同位資料
**基本想法:**與 RAID 5 類似,但每一個條帶保存兩份獨立同位資料 與 。
磁碟 0 磁碟 1 磁碟 2 磁碟 3 磁碟 4
條帶 0 D0 D1 D2 P0 Q0
條帶 1 D3 D4 P1 Q1 D5
條帶 2 D6 P2 Q2 D7 D8
條帶 3 P3 Q3 D9 D10 D11
第一份同位資料通常為 XOR:
第二份同位資料 使用 Reed–Solomon 等有限域編碼:
由於有兩組獨立方程式,RAID 6 可在同時失效兩顆磁碟時重建資料。
若有 顆磁碟:
RAID 6 的可靠性高於 RAID 5,但同位計算、寫入成本及重建時間也較高,最低需要四顆磁碟。
RAID 層級比較
| 層級 | 條帶粒度 | 備援方式 | 可用容量 | 可容忍失效 | 主要特性 |
|---|---|---|---|---|---|
| RAID 0 | 區塊 | 無 | 0 顆 | 效能高、沒有容錯 | |
| RAID 1 | 區塊 | 鏡像 | 每鏡像組 1 顆 | 復原簡單、容量利用率低 | |
| RAID 2 | 位元 | 漢明碼 | 1 顆 | 位元級、需同步、實務少用 | |
| RAID 3 | 位元組 | 專用同位碟 | 1 顆 | 適合連續傳輸、同位碟瓶頸 | |
| RAID 4 | 區塊 | 專用同位碟 | 1 顆 | 可獨立存取、同位碟瓶頸 | |
| RAID 5 | 區塊 | 分散式單同位 | 1 顆 | 消除專用同位碟瓶頸 | |
| RAID 6 | 區塊 | 分散式雙同位 | 2 顆 | 可靠性高、寫入成本較高 |
解題技巧
RAID 層級最容易混淆的比較如下:
- RAID 3 與 RAID 4:前者是位元組級,後者是區塊級。
- RAID 4 與 RAID 5:前者使用專用同位碟,後者分散同位資料。
- RAID 5 與 RAID 6:前者可容忍一顆失效,後者可容忍兩顆失效。
- RAID 0 與其他層級:RAID 0 沒有任何冗餘,名稱雖含 RAID,實際上不具容錯能力。
【答案】RAID 0 至 RAID 6 的確定差異在於條帶粒度、鏡像或同位備援方式、同位資料配置位置,以及可容忍的磁碟失效數量。
(2)死結
核心觀念
死結(deadlock)是指一組程序彼此永久等待資源,任何程序都無法繼續執行。
死結發生的必要條件是 Coffman 四條件,四者必須同時成立:
- 互斥(mutual exclusion)
- 持有且等待(hold and wait)
- 不可搶占(no preemption)
- 循環等待(circular wait)
四個必要條件
(1)互斥
資源同一時間只能被一個程序使用。例如印表機、某些鎖定中的檔案及不可共享的硬體裝置。
(2)持有且等待
程序已持有至少一項資源,同時等待其他程序所持有的資源。
例如 持有 並等待 ; 持有 並等待 。
(3)不可搶占
程序已取得的資源不能被系統強制取回,只能由持有者主動釋放。
(4)循環等待
存在程序與資源的循環等待鏈:
只要破壞其中任一條件,就能防止死結。
解題方法一:死結預防
死結預防(prevention)是在資源分配規則上直接破壞四個必要條件之一。
| 被破壞的條件 | 預防方式 | 代價 |
|---|---|---|
| 互斥 | 將資源改為可共享,例如印表機採用 spooler | 非共享資源無法全面改造 |
| 持有且等待 | 程序開始時一次取得全部資源;或申請新資源前先釋放舊資源 | 資源利用率低、等待時間增加 |
| 不可搶占 | 資源申請失敗時,強制釋放程序現有資源,稍後重新執行 | 不適用於印表機等不可搶占資源 |
| 循環等待 | 對資源建立全序關係,程序只能依遞增順序申請 | 限制資源申請順序 |
例如設定:
所有程序取得 後才能申請 ,取得 後才能申請 ,不可先持有 再申請 。如此便不會形成循環等待。
解題方法二:死結避免
死結避免(avoidance)允許四個條件存在,但每次分配資源前先判斷分配後是否仍處於安全狀態。
安全狀態是指存在一個安全序列,使每個程序都能取得剩餘資源、完成執行並釋放資源。最典型的演算法是銀行家演算法(Banker’s Algorithm)。
定義:
其中:
- :程序 的最大資源需求。
- :目前已分配給 的資源。
- : 尚需的資源。
- :目前系統可用資源。
當 提出請求 時:
- 檢查 。
- 檢查 。
- 暫時分配資源:
- 執行安全性檢查。
安全性檢查使用:
尋找尚未完成且滿足:
的程序,假設該程序完成並釋放資源:
重複此程序。若所有程序都能完成,表示分配後為安全狀態,正式核准請求;若存在無法完成的程序,便撤銷暫時分配並延後請求。
**安全狀態與死結狀態不同:**不安全狀態尚未必然死結,但系統已無法保證未來不發生死結,因此銀行家演算法不予核准。
解題方法三:死結偵測
第 2 題20 分
- [Security: 20%]
(1) Explain what is Indirect Prompt Injection Attack? (5%)
(2) Explain what is Backdoor Attacks in AI? (3%)
(3) Explain what is Quantum Migration? (3%)
(4) Explain what is Model Inversion Attacks? (3%)
(5) Please describe what is Advanced Persistent Threat (APT)? (3%)
(6) Please explain what AI Hallucination is. (3%)
登入後即可作答並保存紀錄。
(1) 間接提示詞注入攻擊 (Indirect Prompt Injection Attack)
觀念說明:
間接提示詞注入攻擊係指攻擊者將惡意指令隱藏植入於大語言模型(LLM)所存取的外部資料源(如網頁、電子郵件、PDF 文件或資料庫)中。當 LLM 在執行檢索增強生成(RAG)或瀏覽外部網頁時,未能區分「系統指令」與「外部資料內容」,導致擷取的惡意指令被當作高優先度指令解析並執行,進而引發資料洩漏、未授權 API 調用或系統操作遭挾持。
【答案】
間接提示詞注入攻擊是一種針對 LLM 應用系統的資安攻擊。攻擊者不直接輸入 Prompt,而是將惡意指令隱藏於外部資料中。當 LLM 讀取並處理該資料時,惡意指令被誤認為合法指令執行,導致敏感資料洩漏或系統遭未授權控制。
(2) AI 後門攻擊 (Backdoor Attacks in AI)
觀念說明:
AI 後門攻擊主要發生於模型訓練或微調階段(透過數據毒化 Data Poisoning)。攻擊者在部分訓練資料中加入特定的「觸發器」(Trigger,如特定圖案、特徵或文字),並將標籤改為攻擊者指定的類別。訓練完成的模型在處理正常輸入時精確度不受影響,但一旦輸入含有該觸發器,模型將強制輸出攻擊者預設的惡意結果。
【答案】
AI 後門攻擊係指攻擊者於訓練階段將「觸發器(Trigger)」植入模型中。模型在處理正常輸入時表現完全正常(具高度隱蔽性),但只要輸入包含特定觸發器,模型即會觸發預設的惡意輸出或錯誤分類。
(3) 量子遷移 (Quantum Migration)
觀念說明:
量子遷移(或稱後量子密碼學遷移 PQC Migration)是指資訊系統因應量子電腦帶來的密碼破譯威脅(如 Shor 演算法可於多項式時間內破解現行非對稱加密),從現行的傳統公鑰密碼學(如 RSA、ECC)全面過渡與升級至「後量子密碼學」(Post-Quantum Cryptography, PQC / 抗量子加密)演算法的整體升級與部署過程。