無服務器架構(也稱為功能即服務FaaS)在企業中用于構建和部署軟件和服務,不需要內部物理或虛擬服務器。
這種架構倍受青睞,因為它本身具有的可擴展性,和與AWS Lambda、Azure Functions、Google Cloud Functions和IBM BlueMix Cloud Functions等云服務的兼容性。
然而,正如PureSec的一份新報告所指出的,這種架構對于傳統基于服務器系統所面臨的那些安全問題和挑戰也并不具有免疫力。
周三,無服務器架構安全公司PureSec發布了一份新的報告,詳細介紹了當今這些系統面臨的最常見的安全問題和挑戰。
這份題為“無服務器體系結構中十大關鍵安全風險”的報告表明,以下10個問題正在引發當今的安全挑戰:
1、功能事件數據植入:應用中植入的漏洞是最常見的風險之一,不僅可以通過不可信的輸入(如通過Web API調用)觸發,也可由于無服務器體系結構的潛在攻擊面引起,也可能是來自于云存儲事件、NoSQL數據庫、代碼更改、消息隊列事件和物聯網遙測信號等等。
“這些豐富的事件源增加了潛在的攻擊面,并在嘗試保護無服務器功能以防止事件數據注入時引入了復雜性,特別是因為無服務器體系結構幾乎不像Web環境那樣,開發人員知道哪部分消息不應該被理解被信任(GET / POST參數、HTTP標頭等),”報告稱。
2、認證失效:為無服務器體系結構構建的應用通常包含數十個甚至數百個無服務器功能,每個都有特定的用途。
這些功能連接在一起形成整個系統邏輯,但其中一些功能可能公開Web API,其他函數可能會消耗來自不同源類型的事件,還有一些功能具有可能被攻擊的編碼問題,從而導致未經授權的認證。
3、不安全的無服務器部署配置:PureSec發現,錯誤的設置和云服務的誤配置是一個常見的主題。這反過來又可能成為無服務器體系結構的攻擊入口,泄露敏感的、機密的信息的泄漏,以及為潛在的中間人攻擊(MiTM)提供入口點。
4、超權限的功能許可和角色:無服務器應用以及整個企業系統都應該遵循“最小權限”的原則。
如果用戶得到了超出他們日常工作所需的訪問權限,那么攻擊者是否會攻擊他們的賬戶?他們得到了入侵的許可,而這原本是可以避免的——對應用也是如此。
但是,PureSec發現這種原則并沒有被遵循。無服務器功能應該只有所需的權限,但因為設置這些權限可能是面向幾十種功能的,所以這方面往往被忽略,并成為一個安全弱點。
5、監控和日志功能不足:在偵察攻擊的階段,威脅實施者試圖擊破網絡防御和弱點,這對網絡安全解決方案檢測可疑行為并關閉該行為也是一個關鍵點。
由于無服務器架構是駐留在云環境中的,所以“本地”實時網絡安全解決方案是多余的,這意味著可能會錯過發現早期的攻擊跡象。
雖然無服務器系統通常提供了日志記錄功能,但可能不適合安全監視或審計的目的。
6、不安全的第三方依賴關系:當無服務器功能依賴于第三方軟件(如開源軟件包和庫)時,如果存在漏洞,也可能為被入侵開辟道路。
7、不安全的應用秘密存儲:許多應用程序需要加密和存儲“秘密”信息,例如API密鑰、密碼、配置設置和數據庫憑證。
但是,PureSec檢測到的一個反復出現的錯誤,是將這些信息存儲在純文本配置文件中的常見做法,任何入侵者都可以隨意利用。
8、DDoS攻擊,資源達到極限:根據研究,分布式拒絕服務(DDoS)攻擊對無服務器架構構成嚴重風險,因為可能存在內存分配、每個功能的持續時間和執行限制。
默認限制和糟糕的配置可能導致DDoS攻擊取得成功和延遲爭奪問題。
9、無服務器功能執行流操作:攻擊者可能通過篡改應用流來破壞應用邏輯,導致繞過訪問控制、特權升級或拒絕服務攻擊。
10、不正確的異常處理和冗長的錯誤消息:無服務器架構的逐行調試服務通常相當有限。因此,一些開發人員會用冗長的錯誤消息,在事實發生之后啟用調試,并且在移到生產環境時可能會忘記清除代碼。
當暴露給最終用戶時,這些消息可能會揭示有關無服務器功能和所用邏輯的信息,以及系統和機密數據中的弱點。
PureSec公司首席技術官兼共同創始人Ory Segal表示:“無服務器架構在過去幾年里飛速增長,年增長率超過700%。我們的研究表明,與無服務器相關的軟件下載體驗呈指數級增長,但同時,與傳統應用相比,無服務器的安全知識存在巨大空白。”