如何加固基于云端憑據的身份認證
譯文 ???
【51CTO.com快譯】如今,云服務已是無處不在了。從商業角度來看,任何希望得到快速發展的公司,都會選擇通過其首選的云服務提供商,來獲取計算、網絡和存儲資源,以加持他們的產品。不可否認,云服務正在以指數級的速度簡化著他們的開發和自動化過程。而人工智能(AI)和物聯網(IoT)等新興技術,也在助推著這些過程的轉化。
然而,應用架構在得益于云服務所提供的效率、靈活性和成本收益的同時,也暴露出了安全上的薄弱環節。不同程度及類型的數據和信息泄露事件,屢屢登上新聞頭條。總的說來,如下三個因素是導致大多數攻擊者有可乘之機的安全漏洞與隱患:
- 用于身份驗證(verification)和認證(authentication)的集中式云原生模型
- 存在著根本性缺陷的數據安全與隱私架構
- 云原生解決方案的復雜性,以及主動性安全措施內在固有的缺陷
本文將專注于討論上述第一類漏洞的基礎上,提供基本的解決思路與方法。
現有弱密碼認證機制存在的問題
基于憑據的身份驗證(即:用戶名和密碼的方式)是導致目前80%以上數據泄露的根源。然而,大多數最終用戶仍然會通過這種簡單方便方式,去訪問他們的網站和應用。更糟糕的是,許多DevOps和云服務工程師并未對其敏感的云端生產環境引起足夠重視。目前,諸如GitHub之類越來越多的網站,都已意識到了此類威脅,并在逐漸棄用基于密碼的身份驗證方式。
來自云端的威脅
如前所述,雖然云服務的好處主要體現在靈活性、可擴展性、以及分布式訪問上,但是將數據湖、數據庫、以及IAM(身份訪問管理)等服務集中到一處,只會造成安全組件的簡單堆砌,甚至相互影響。因此,任何安全工程師都應該清楚,由于體量的原因,集中在龐大的、基于云的數據湖里的數據和服務,都是網絡黑客寧可鋌而走險,也要攻擊并獲取的豐厚資源,他們需要通過合理的規劃,來提高整體安全態勢。具體而言,當前的身份與密碼驗證方案存在著如下三類漏洞:
- 對于那些依賴用戶憑據實施訪問控制的云端數據庫而言,由于它們在同一處聚合了各種關于用戶身份、活動、歷史等數據,因此天然地形成了單點隱患。
- 嚴重依賴用戶識別和授權,而忽略了用于執行此類操作的手段。例如,短信和電子郵件,是攻擊者兩個極易得手的渠道。
- 最終用戶的體驗度與合規性之間的摩擦。畢竟硬件令牌的使用,以及僅包含短信的SFA(單因素認證)等方式,看似方便了用戶,但是在一些安全等級要求較高的場合,顯然是不合規的。
此外,就攻擊本身而言,它們既可以來自任何地方、任何設備、以及任何水平的黑客(或為業余愛好者、或為老練的專業人士),又可以源于僵尸主機、惡意軟件、勒索軟件,甚至是AI軟件。此類攻擊通常能夠比負責監控的安全組件,提前一步得手。
我們應該如何應對?
秉承著迎難而上的思想,我們下面來討論如何基于簡單的設計和網絡安全構建,去消減云端威脅的攻擊面。
1. 使用加密密鑰而非憑據來強化訪問認證
使用AES的256位強加密方式,來有效地防止身份憑據在被盜的情況下,暴露敏感的信息資源。
2. 將加密訪問綁定到設備,再將設備綁定給用戶
我們可以通過兩個簡單的步驟來保障設備的安全。
- 將密鑰綁定到設備。我們可以使用包括可信平臺模塊(Trusted Platform Module,??TPM??)在內的多種方法,將加密密鑰的使用,唯一性地限制在對于相應設備的構建和授權環節。
- 將設備與經過身份驗證的用戶相綁定。在上一步確認了設備的真實性的基礎上,我們可以為設備添加有權使用或控制的唯一性身份角色,及其驗證方法。
3. 將MFA(多因素身份驗證)去中心化,并綁定到設備上
如今,所有的MFA都會最終依賴于基于云端的數據庫和服務器,并且需要由一個信任鏈(??Chain of Trust??)來執行。為了讓云服務能夠完全脫離單點管控,我們可以將MFA分散開來,并分發給綁定到設備的用戶側,進而消除所謂中心節點的角色。
可見,上述三步不但極大地增強了訪問過程中的安全性,而且減少了與最終用戶的潛在“摩擦”、以及IT人員的支持開銷。就MFA而言,其首要因素是:您“知道”什么。這主要體現在通過登錄環節的常規密碼輸入、一次性口令、消息推送、以及硬件令牌等,對設備予以身份驗證。更重要的是,我們應該利用基于加密設備的驗證方式,去提供另兩個強大的因素,進而確保身份的合法性:
- 您“擁有”什么?——擁有AES的256位私鑰。
- 您“是”誰?——利用生物識別技術將基于云端與設備的活動監控相結合。
4. 持續使用零信任
上三步足以給絕大多數身份驗證用例與需求,帶來安全與隱私保護。不過,對于那些嚴格要求訪問人員與身份相對應的場景,我們則需要引入具有“永不信任,持續驗證”特性的零信任,來保障終端安全、鏈路安全、以及訪問控制安全。
安全加固的意義
從簡單層面來看,上述四招可以直接將云端身份驗證和認證的受攻擊面大幅減少。從深遠角度而言,我們將獲得如下三方面的優勢:
1. 消減基于憑據的攻擊
我們所熟悉的網絡釣魚、身份盜竊和冒用、社會工程等攻擊方式,都是基于身份憑據的。如果沒有了可竊取的憑據,那么由它所引發的受攻擊面將會大幅縮減。
2. 消減基于云端的、系統范圍的攻擊
根據零信任的管控方式,用戶在訪問資源的時候,需要一個接一個地持續認證,其訪問到的端點設備也會被逐一跟蹤。顯然,此舉抬高了絕大多數黑客攻擊云端系統與服務的門檻。
3. 按需升級和執行“人在回路(Human-In-The-Loop)”中的零信任驗證
歸根結底,如今各種基于云服務的身份驗證,都需要依賴軟件或端點設備,來驗證身份。當您的應用上下文需要對設備或用戶,進行實時且重復性的身份驗證時,就可以適當地引入知曉該用戶身份的授權人員角色,根據預先配置好的自動化軟件驅動流程,來流暢地執行身份驗證任務。
小結
綜上所述,我們與其沿用以前“打地鼠”式的安全補救方式,不如從根本上對易受攻擊的、集中式的云原生服務架構進行安全加固。希望上述為您提供的設計與構建方式,能夠協助您不斷彌補云服務中的現有漏洞,并能持續提高其安全態勢。
原文標題:Raising the Bar on Security by Purging Credentials From the Cloud,作者:Gene Allen
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】