# 🛡️ IPAS 資安能力鑑定:必考陷阱題 :::info **給同學的話:** 資安考試中,有幾個觀念是「一考再考」的送分題。這份講義整理了最常見的幾個觀念誤區,請務必把這些觀念釐清,看到題目就能秒殺! ::: [TOC] --- ## 1. 敏感資料處置:密碼絕對不可寫死 (Hardcode) ### 🔑 核心觀念 很多新手為了方便,會把資料庫密碼、API Key 直接寫在程式碼裡面。這是大忌!因為原始碼如果外流(例如上傳到 GitHub),駭客就直接拿到鑰匙了。 * **❌ 錯誤做法**:`String dbPassword = "MySecretPassword123";` * **✅ 考試標準答案**:移出程式碼,放在 **環境變數 (Environment Variables)** 或 **加密的設定檔 (Config Files)**,且設定檔需嚴格控管權限 (ACL)。 * **🌟 實務最佳解 (加分題)**:使用專用的 **秘密管理系統 (Secret Management System / Vault)**,程式執行時才動態去抓取密碼。 :::warning **進階思考:雞生蛋問題 (Secret Zero)** 如果不把密碼寫在程式,改放在「密碼櫃 (Vault)」,那程式去開櫃子的鑰匙要放哪? 現代資安架構會使用 **IAM 角色 (Identity)** 或 **Service Account**,讓程式憑藉「身分」直接存取密碼櫃,徹底消滅靜態密碼。 ::: ### 📝 實戰例題 **題目:** 某程式設計師為了連線資料庫便利,將資料庫管理者帳號與密碼直接寫在 Java 程式碼變數中。請問這種行為主要違反了下列哪項安全實務? (A) 違反最小權限原則 (B) 容易遭受 SQL Injection 攻擊 \(C\) 敏感資訊未妥善保護 (Hardcoded Credentials) (D) 違反輸入驗證原則 > **答案:\(C\)** > **解析:** 把密碼寫在程式碼中叫 Hardcoding。這跟 SQL Injection 無關,單純是「把鑰匙掛在門上」,非常危險。 --- ## 2. 輸入過濾:白名單 (Whitelist) > 黑名單 (Blacklist) ### 🛡️ 核心觀念 當你要檢查使用者輸入的東西安不安全時: * **黑名單 (Blacklist)**:列出「壞人」。例如:禁止 `.exe`。 * **缺點**:壞人太多了列不完,駭客可以換個副檔名(如 `.php`)就繞過了。 * **白名單 (Whitelist)**:列出「好人」。例如:只准上傳 `.jpg`。 * **優點**:除了好人,其他全部擋掉,安全性最高! ### 📝 實戰例題 **題目:** 小明正在開發一個「大頭貼上傳」功能,為了防止駭客上傳惡意程式腳本,下列哪一種檢查機制的安全性最高? (A) 檢查副檔名,若是 `.exe` 則阻擋 (B) 僅在前端使用 JavaScript 檢查 \(C\) 設定白名單,僅允許 `.jpg`, `.png` 副檔名,其餘拒絕 (D) 檢查檔案名稱長度 > **答案:\(C\)** > **解析:** 黑名單永遠 ban 不完,只有「正面表列」的**白名單**才是最嚴謹的防禦方式。 --- ## 3. 驗證機制:前端驗證無效,後端才是守門員 ### 🔒 核心觀念 * **前端驗證 (Frontend)**:只是為了讓使用者好操作(例如:提醒你 Email 格式打錯)。**防君子不防小人**,駭客可以輕易繞過。 * **後端驗證 (Backend)**:伺服器收到資料後,一定要再檢查一次。**資安防禦必須做在後端。** ### 📝 實戰例題 **題目:** 某購物網站在結帳頁面使用 JavaScript 檢查「購買數量 > 0」。駭客透過攔截封包工具,將數量改成 `-50` 送出,結果導致結帳金額變成負數。請問漏洞原因為何? (A) 未使用 HTTPS 加密 (B) 依賴前端驗證,缺乏後端驗證 \(C\) 資料庫未設定防火牆 (D) 密碼複雜度不足 > **答案:\(B\)** > **解析:** 駭客繞過了瀏覽器(前端)的檢查,證明伺服器(後端)沒有把關。記住:**永遠不要相信來自使用者端的資料**。 --- ## 4. 應變計畫:沒演練過的計畫,只是紙上談兵 ### 📢 核心觀念 企業為了合規(例如應付稽核),通常都會撰寫厚厚的「營運持續計畫 (BCP)」、「災難復原計畫 (DRP)」或「資安事件應變計畫 (IRP)」。 但重點來了:**「文件寫了不代表做得到」**。 人員會離職、系統會更新、威脅型態會變。如果沒有定期**演練 (Drill/Exercise)** 與**測試 (Testing)**,當真的發生勒索病毒攻擊或機房失火時,大家只會陷入慌亂,計畫根本派不上用場。 * **演練的目的**:找出計畫中的漏洞(例如:發現備份檔案其實壞了、發現關鍵聯絡人電話換了)、訓練人員熟悉流程。 ### 📝 實戰例題 **題目:** A 公司為了符合法規要求,制定了詳細的「資安事件應變與災難復原計畫」。然而,在某次假日遭遇大規模勒索軟體攻擊時,IT 人員卻發現備份系統的回覆速度遠低於預期,且負責關鍵決策的主管一直連繫不上,最終導致公司業務停擺超過三天。請問造成此嚴重後果最主要的原因為何? (A) 缺乏導入自動化防禦設備 (如 IPS/WAF) (B) 備份策略未採用 3-2-1 原則 \(C\) 計畫制定後缺乏定期的演練與測試,導致計畫無效 (D) 未購買資安險來轉移風險 > **答案:\(C\)** > **解析:** 題目提到「有計畫」且有「備份」,但實際發生時卻發現「回覆太慢」和「找不到人」,這典型就是缺乏**演練 (Drill)** 的後果。只有透過演練,才能驗證計畫的有效性 (Effectiveness)。 ---
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up