近年資安意識抬頭,無論是民間企業或是政府單位,系統安全性已成為極為重要的關注點。因此,對於系統上線前的要求,普遍要通過程式碼靜態掃描檢測才可上線,這樣的資安政策往往給工程師們帶來相當的挑戰。然而,市面上存在眾多原始碼檢測工具,且沒有一款工具是完美的,我們的系統原始程式碼仍有可能被掃描出各種中高風險漏洞,也使得修復漏洞變得相當具有挑戰性。
叡揚資訊資安事業處的顧問團隊們服務眾多企業客戶,在過去的一年中,我們接收到近 1300 個弱點的諮詢,平均下來每個月回覆超過 100 個弱點問題!而面對如此龐大的諮詢量,為此我們建立了叡揚資安獨家知識庫,以協助客戶更有效解決各種弱點問題!
本文整理自 2023 年以來最常被諮詢的十大弱點修復問題!提供各位可以事半功倍的修復錦囊,快速地找出風險的關鍵點,並且有效地進行修復!文章分為上下兩篇,上篇將解析第六至第十名的弱點問題及修復錦囊。
第十名: Unchecked Input for Loop Condition ,是指在程式中,使用來自使用者或外部來源的輸入來控制迴圈條件,但沒有適當的檢查或驗證。這可能導致程式發生不可預期的行為,例如無限迴圈(Infinite Loop)或迴圈條件不正確,造成安全性問題或程式執行錯誤。
攻擊方法和目的:
防範方法:
綜合來說,避免未經檢查的使用者輸入來控制迴圈條件是重要的安全措施之一。通過驗證和過濾輸入,限制迴圈執行次數,以及安全設計和測試,可以減少迴圈條件控制所帶來的潛在安全風險。
第九名: SSRF(Server-Side Request Forgery,服務端請求偽造)是一種安全漏洞,攻擊者利用伺服器端應用程式對外部請求的功能,導致伺服器發送未經授權的請求到內部網路或其他可訪問的資源。這種攻擊可能導致敏感資源的暴露、服務器資源的濫用或攻擊內部網路資源。
攻擊方法和目的:
防範方法:
綜合來說,防範 SSRF 攻擊需要從多個方面著手,包括驗證和過濾輸入、限制訪問權限、使用白名單控制訪問、加強安全設計等,以減少或阻止攻擊者利用伺服器端應用程式對內部或外部資源的未授權訪問。
第八名: Missing Column Encryption 是「敏感資料欄位未設定加密」,指的是在敏感資料庫表中未對敏感列(欄位)進行加密保護的情況。這可能導致敏感資料暴露於未經授權訪問或未經授權使用的風險。
可能造成的風險:
防範方法:
在連線字串中使用欄位加密設定
第七名: Log Forging 是「日誌偽造」,指攻擊者操縱或欺騙系統日誌(logs)以產生虛假的日誌記錄。攻擊者可能會通過改變日誌內容、注入惡意事件或修改記錄時間戳記來操縱日誌。這種攻擊可能對系統安全性和可追蹤性造成嚴重影響。
攻擊方法和目的:
攻擊範例:
假設一個應用程式產生日誌記錄來記錄使用者登錄事件。攻擊者可能透過操縱日誌內容,將一個未成功的登錄嘗試記錄修改為成功,或者刪除相關的登錄記錄,從而隱藏其實際的登錄活動。
防範方法:
總的來說,保障系統日誌的安全性和完整性對於系統安全至關重要。通過適當的日誌管理和監控措施,可以幫助防止日誌偽造攻擊,確保日誌文件的可靠性和可信度。
第六名「路徑遍歷攻擊」(Path Traversal Attack)是一種常見的安全漏洞,通常出現在 WEB應用程式中。攻擊者利用未適當處理使用者輸入的情況下,對文件系統執行非授權訪問的行為。這種攻擊可能導致敏感文件的洩露、執行檔案或代碼、或者對伺服器造成損害。
攻擊者通常會在請求中插入特殊的路徑標識符號(如../或..\),試圖通過對目錄結構的遍歷來訪問不應該被公開的文件或目錄。
攻擊者的目標可能包括獲取敏感文件(如密碼文件、配置文件)、執行未授權的程式碼或文件、或者對伺服器進行拒絕服務(Denial of Service)攻擊。
攻擊範例:
假設應用程式有一個處理檔案下載的功能,並且使用者提供了文件名來進行下載,例如:
攻擊者可能試圖利用路徑遍歷攻擊,例如將請求改為:
這將導致應用程式嘗試訪問伺服器上的/etc/passwd文件,如果未進行適當的防範,攻擊者就能夠獲取該文件的內容,從而洩露系統的重要資訊。
防範方法:
總的來說,防範路徑遍歷攻擊需要對使用者輸入進行嚴格的驗證和過濾,並對應用程式進行適當的設計,確保只能訪問應用程式所需的資源。
在本篇的探討中,深入瞭解自 2023 年以來諮詢量最高的第六至第十名弱點修復問題。這些關鍵的資安挑戰呼籲我們更進一步提升對系統安全性的認識與應對能力。下篇將於四月資安電子報揭曉前五名的弱點,敬請期待!