檔案上傳對於使用者工作效率以及許多業務服務和應用程序至關重要。例如,檔案上傳是內容管理系統、醫療保健門戶、保險網站和消息傳遞應用程式的一項重要功能。隨著組織遷移到遠端和遠端工作空間,實施確保檔案上傳安全性的措施變得越來越重要,因為讓檔案上傳不受限制會為惡意行為者創建攻擊媒介。
檔案上傳有哪些風險?
允許在您的網站上上傳檔時,存在三種類型的風險:
1. 對基礎設施的攻擊:
- 覆蓋現有檔案 – 如果上傳的檔案的名稱和擴展名與伺服器上的現有檔相同,則可能會覆蓋現有檔。如果被覆蓋的檔是關鍵檔(例如替換htaccess檔),則新檔案可能被用於發起伺服器端攻擊。這可能會導致網站不再運行,或者可能會破壞安全設置,以允許攻擊者上傳其他惡意檔並利用您勒索贖金。
- 惡意內容 – 如果上傳的檔包含可利用伺服器端檔案處理漏洞的漏洞或惡意軟體,則該檔案可用於控制伺服器,從而造成嚴重的業務後果和聲譽損害。
2. 對使用者的攻擊:
- 惡意內容 – 如果上傳的檔包含漏洞、惡意軟體、惡意腳本或巨集,則該檔案可用於控制受感染用戶的電腦。
3. 服務中斷:
- 如果上傳的檔非常大,這可能會導致伺服器資源的大量消耗,並中斷對用戶的服務。
如何防止檔案上傳攻擊
為了避免這些類型的檔案上傳攻擊,我們建議採用以下十種最佳做法:
1.僅允許特定檔案類型。透過限制允許的檔案類型清單,可以避免將可執行檔、腳本和其他潛在惡意內容上傳到應用程式。
2. 驗證檔案類型。除了限制檔案類型外,重要的是要確保沒有檔被「遮罩」為允許的檔案類型。例如,如果攻擊者將 .exe 重命名為 .docx,並且您的解決方案完全依賴於檔案副檔名,它將繞過您作為 Word 檔案的檢查,而實際上並非如此。因此,在允許上傳檔案類型之前驗證檔案類型非常重要。
3. 掃描惡意軟體。為了最大限度地降低風險,應掃描所有檔以查找惡意軟體。我們建議使用多個反惡意軟體引擎(結合使用簽名、啟發式和機器學習檢測方法)對檔進行多防毒引擎掃描,以獲得最高的檢測率和最短的惡意軟體爆發Windows。
4. 刪除可能的嵌入式威脅。Microsoft Office、PDF 和圖像檔等檔可能在隱藏的腳本和巨集中嵌入威脅,反惡意軟體引擎並不總是檢測到這些威脅。若要消除風險並確保檔不包含任何隱藏的威脅,最佳做法是使用稱為檔案無毒化 (CDR) 的方法刪除任何可能的嵌入物件。
5. 對使用者進行身份驗證。為了提高安全性,最好要求使用者在上傳檔之前對自己進行身份驗證。但是,這並不能保證用戶的電腦本身不會受到損害。
6. 設定最大名稱長度和最大檔案大小。請確保設置最大名稱長度(如果可能,請限制允許的字元)和檔大小,以防止潛在的服務中斷。
7. 隨機化上傳的檔名。隨機更改上傳的檔名,以便攻擊者無法嘗試使用他們上傳的檔名存取檔。使用 Deep CDR 時,您可以將清理後的檔配置為隨機識別碼(例如分析data_id)。
8. 將上傳的檔案儲存在 Web 根資料夾之外。 檔案上傳到的目錄應位於網站的公共目錄之外,以便攻擊者無法透過分配的路徑 URL 執行檔。
9. 檢查檔案中的漏洞。請確保在上傳之前檢查軟體和韌體檔案中的漏洞。
10. 使用簡單的錯誤訊息。 顯示檔案上傳錯誤時,請勿包含目錄路徑、伺服器配置設置或攻擊者可能用來進一步進入系統的其他資訊。
檔案上傳安全性 OPSWAT
OPSWAT 為檔案上傳安全提供多種解決方案 MetaDefender,這是一個高階威脅防護平臺,使用多個反惡意軟體引擎、內容撤防和重建 (Deep CDR) 以及漏洞評估來説明防止惡意檔案上傳攻擊。MetaDefender可以透過API或與任何ICAP 已啟用的網路設備,例如 網路應用程式防火牆、負載平衡器和應用程式交付控制器。
想瞭解更多關於如何阻止惡意檔案上傳的資訊嗎?閱讀我們的白皮書如何阻止惡意檔案上傳 OPSWAT API。