1. 下列的弱點應對修補方式,何者最為適當?
(A) 緩衝區溢位(Buffer Overflow)使用記憶體執行阻擋
(Data Execution Prevention, DEP)
(B) 遠端程式碼執行(RCE)僅以防火牆封鎖流量
(C) 指令注入(Command Injection)只做字串過濾
(D) 資源注入(Resource Injection)採黑名單過濾資源名稱
統計: A(47), B(2), C(1), D(13), E(0) #3536947
詳解 (共 3 筆)

答案:(A)
為什麼:
-
Buffer Overflow ➜ DEP:資料執行防護(DEP/NX)可阻擋堆疊/堆積上的殼碼被執行,是此類弱點的標準防禦之一(常與 ASLR、Stack Canary 並用),屬合理且直接的修補/緩解措施。
其他選項為何不恰當:
-
(B) RCE 只靠防火牆封鎖:頂多是臨時的補救(compensating control),真正要修補程式或升級元件;而且 RCE 可能透過多種入口並非單一埠流量。
-
(C) Command Injection 只做字串過濾:易被繞過。應避免呼叫殼層、採參數化 API(不拼接指令)、嚴格白名單與權限最小化。
-
(D) Resource Injection 用黑名單:黑名單永遠追不完。應採白名單(只允許預期資源)、路徑正規化、固定目錄與安全 API。
小訣竅:選項裡出現「僅/只」且是單一弱防的,多半是考“不足夠”的反例;找能對應該弱點的正確機制與最佳實務。
-
緩衝區溢位 → DEP 是公認有效的緩解手段(搭配 ASLR、Stack Canary、安全語言/邊界檢查更佳),可阻止在資料區被植入的惡意機器碼被執行。
-
(B) RCE 只靠防火牆 只是降曝,無法移除程式弱點;應優先修補程式/套件、縮權限,WAF/RASP 只能作短期緩解。
-
(C) 指令注入只做字串過濾 很容易被繞過;正確作法是不拼接指令、改用參數化/安全 API、白名單允許的子命令與參數、最小權限。
-
(D) 資源注入用黑名單 也易失守;應採白名單/固定映射(例如用 ID 對應資源)、禁止相對路徑與 ..、設定安全工作目錄與檔案 ACL。