無伺服器的資安保障需要組織如何看待應用程式安全性的典範轉移。組織必須圍繞第三方雲端提供者託管的應用程式內的功能額外建立安全性,而不是使用次世代防火牆圍繞應用程式本身建立安全性。這額外的安全層可確保適當的應用程式強化和最小權限存取控制,因此每個功能的功能不會多於或少於其設計目的,幫助組織改善其安全狀況並保持合規性。
無伺服器運算是指由雲端供應商運行伺服器並動態管理機器資源分配的雲端運算模型。AWS Lambda Functions 、Google Cloud Functions 和Azure Functions是建置應用程式的熱門無伺服器框架。
無伺服器架構提供自動化、幾乎無限的擴充功能。 開發人員和部署的程式碼之間的距離很少,這可加快上市時間,並使個別功能的維護和測試更容易。 最後,消耗的應用程式資源的實際數量會影響定價,這意味著您只需為使用的資源付費,從而降低成本。
無伺服器代表了責任從客戶到雲端提供者的額外轉移。由於沒有涉及基礎架構,營運開銷會顯著降低。
將基礎架構管理轉移給您的雲端供應商使您能夠專注於開發解決方案來為您的組織和客戶提供服務。它可以幫助您保持專注於獨特的競爭優勢,並通常不僅在運算方面節省成本,還可以從人員轉移到開發。
以下是一些關鍵點:
只要容器中的任何函數都需要訪問權限才能從 S3 讀取,該容器中的所有函數也將具有該權限。 借助 AWS Lambda,您有機會將權限套用至各個函數,並確保此類權限僅限於必要的最小範圍。如果您的某個功能存在脆弱性,則攻擊者只能存取該功能的有限功能,而無法存取授予容器的大量權限。
隨著無伺服器應用程式結構的變化,出現了一些新的挑戰。
對於無伺服器應用程序,沒有地方可以放置 WAF、防火牆和 IDS 等傳統安全性。由於幾個原因,在攻擊者和資源之間建立牆並不簡單。
無伺服器應用程式更加多孔和細粒度。無伺服器應用程式由數十或數百個功能組成,是微型微服務,具有自己的策略、角色、應用程式開發介面、審計追蹤等。這改變了攻擊表面,而不是少量存在每個點背後隱藏了許多功能的入口點,現在有更多的入口點,每個點都在其後面都有一小部分應用程序。 現在保護您的應用程式需要考慮每個入口點。
各種事件可以觸發功能,例如:
雖然攻擊者的動機保持不變,但他們在無伺服器應用程式中使用的策略必須改變。以下是這種新應用程式架構特有的一些無伺服器資源保障威脅。
借助無伺服器應用程序,您有機會將權限應用於各個功能,並確保此類權限僅限於必要的最小範圍。這可讓您大幅減少攻擊表面,並減輕任何攻擊的影響。
不幸的是,Check Point 最近的研究發現,絕大多數開發人員都沒有利用這個機會。我們的研究發現,無伺服器應用程式中 98% 的功能都面臨風險,其中 16% 被認為「嚴重」。此外,大多數這些功能都提供了比其所需更多的權限,可以刪除這些權限以提高功能和應用程式的安全性。
在分析功能時,Check Point 會為每個功能分配風險評分。這是基於發現的姿勢弱點,以及不僅影響弱點的性質,還有它發生的背景的因素。 在掃描了即時應用程式中的數萬個功能後,我們發現大多數無伺服器應用程式的部署根本沒有達到最大限度地降低風險所需的安全性。Check Point 發現的最大安全狀況問題是不必要的權限,而其餘問題則與易受攻擊的程式碼和配置有關。
事實上,無伺服器功能是短暫且短暫的,這使得攻擊者更難長期駐留在您的應用程式中。此外,這也是無伺服器的許多安全優勢之一。 但是,只是因為這使攻擊者的生活變得更加困難,並不意味著他們將阻止攻擊;他們只是改變策略。
無伺服器功能的持續時間短意味著無伺服器的資安保障威脅可能會發生變化。攻擊者可能會建立更短的攻擊,例如竊取一些信用卡號碼。 這個單回合的攻擊不斷重複,我們稱為「Groundheg Day」攻擊。
儘管雲端原生資源的生命週期很短,但攻擊者仍然可以找到方法在您的應用程式中獲得長期持久性。攻擊者規避無伺服器應用程式短暫性的一種方法是透過上游攻擊,或「毒井」。
雲端原生應用程式往往包含許多模組和函式庫,其中的程式碼來自各種第三方來源。攻擊者會在一般專案中包含惡意程式碼。 然後,在井中毒後,雲端應用程式中的惡意程式碼可以打電話回家,獲取指令並造成嚴重破壞。
雖然這並不完全是安全性「威脅」,但它更是一個挑戰,也是對您在保護無伺服器架構的努力的努力上的困擾。
無伺服器帶來了提高應用程式開發速度的好處。不幸的是,傳統的安全性方法(開發人員編寫程式碼和套件工作負載,然後安全操作將安全控制放在這些工作負載周圍),對於無伺服器來說將無效。
如果開發人員必須等待安全性才能為他們開啟連接埠、IAM 角色或安全群組,速度提高的好處會迅速消失。 通常,解決方案是從方程中刪除 SecOps,這確實可能是一種風險。
另一方面,為無數無服務器資源配置權限和它們之間的互動是一項耗時的任務。 此外,開發人員在安全配置上「花費」的時間可能會很快變得昂貴,並且不是理想使用他們的時間。 利用自動化(例如CloudGuard Platform) ,可以增加無伺服器的資安保障,而無需投入過多的開發人員時間。
無伺服器的另一個好處是,您只需按實際消費的費用付費,這可能會降低成本。 儘管如此,準確支付您使用的費用意味著任何加長處理時間都會增加成本。
在應用程序中放置過多的 app sec 配置可能會為您的功能增加額外的工作,從而增加成本。 雖然為了安全起見,增加處理時間是一項明智的投資,但它需要適當的實施以避免過度、不必要的成本增加。
與上述無伺服器的資安保障配置時間增加類似,這並不完全是威脅,而是您在保護無伺服器架構時必須應對的挑戰。