分布式系統安全之分布式系統協調資源聚類
與P2P系統的分散控制相反,存在許多分布式系統,其中分布式資源和服務之間的交互是使用各種協調機制編排的,這些機制提供了邏輯集中和協調的系統或服務的錯覺。協調可以只是調度程序/資源管理器、離散協調器或協調組,并包括時間排序(因果關系)或跨分布式事務的不同優先級順序。雖然離散地定義每種類型的分布式系統很誘人(即,與P2P中的分散控制不同),但龐大而多樣化的分布式系統/服務組共享“協調”的共同抽象,盡管每個系統的實現和結果屬性會有所不同。
首先,在分布式資源平臺(或基礎結構)上復制服務,以啟用對用戶的地理分散訪問,同時在服務上保持所需類型的一致性規范。云和許多分布式客戶端-服務器系統都屬于這一類。
替代方法解決了分布式服務(相對于平臺),其中分散的服務參與者進行交互以產生給定一致性要求的集體分布式服務。例如,事務數據庫和分布式賬本就屬于這種強一致性的類別。網絡爬蟲、搜索或物流應用程序很可能在弱一致性規范下工作。
總體而言,它們構成了協調資源池模式下的兩大類分布式系統,即資源協調和服務協調類,盡管它們的功能和定義經常重疊,但基于其特征協調模式。
在隨后的小節中,為了將分布式系統安全性置于上下文中,我們首先詳細介紹了基本的分布式概念以及基于它們的協調模式。接下來是概述每個資源和服務協調模型中的特征系統。這構成了與兩類協調分布式系統相關的一般中斷/漏洞集的基礎。然后,我們概述了特定于每類系統的威脅和安全影響。我們向讀者推薦的優秀文本,以全面而嚴謹地解決這些問題。
關于分布式平臺底層技術的說明:引言強調,本KA的重點是分布式系統的安全性,而不是使用分布式來提供安全性。擴展這個主題,值得評論與分布式平臺和服務的“設計和實現”相關的其他觀點。這種面向設計的視角傾向于強調分布式系統、分布式服務及其構建的架構。這種觀點通常側重于(a)建立安全需求,(b)實現方法,說明如何在每個抽象級別滿足給定的安全要求,以及(c)考慮分布式系統作為分層體系結構,其中每一層都建立在下層提供的原語和分布式服務之上。從這個角度來看,集中(協調)和分散模式經常以不同的方式組合在不同的層次上。同樣從這個角度來看,必須通過補充和構建較低層和服務提供的內容來滿足應用程序的安全要求。
這是一種構造和組合方法,其中應用程序級別或給定層的安全屬性(要求)驅動解決方案和子系統的選擇必須組裝(例如,身份驗證、授權、問責制、不可否認性等)。此類子系統/解決方案的組成通常是通過使用權衡(以及威脅)分析來實現的,這些分析往往涵蓋部分而不是全部要求從而確定相對優勢和劣勢。例如,區塊鏈應用程序,在第5.2節中進一步討論,強調不可否認性和去中心化是其主要屬性。
這種分層和組合的方法經常可以在文獻中遇到,例如和許多其他文獻。由于架構和實現從根本上奠定了在分布式系統中提供安全性的KA前提,因此鼓勵讀者參考本文獻。下一節將重點重新介紹分布式系統概念,尤其是分布式系統協調類的基本概念。
分布式概念,協調類
如引言中所述,分布式系統是地理分散的com的整理,將集體交互的資源用于提供(a)連接分散數據生產者和消費者,(b)通過容錯復制實現高可用性,以覆蓋資源(計算和通信)故障,或(c)從分布式資源中提供集體聚合能力(計算或服務)(錯覺)邏輯上集中/協調的資源或服務。
分布式系統通常是根據要交付給客戶端的服務來構建的。每個服務都包含并在一個或多個服務器上執行,并導出客戶端通過發出請求調用的操作。盡管使用單個集中式服務器似乎很誘人,但駐留在服務器上的最終服務只能與托管它的服務器一樣具有容錯能力。通常,為了適應服務器故障,服務器會以物理或邏輯方式進行復制,以確保在具有這種隔離的服務器故障之間具有一定程度的獨立性。隨后,副本管理協議用于協調這些服務器副本之間的客戶端交互。當然,還需要考慮客戶端故障或客戶端入侵(包括它們在通過惡意代碼或病毒發起攻擊中的作用)的處理。我們現在概述了一組基本的分布式系統概念,這些概念也構成了其中安全考慮的基礎。這些概念在非正式層面上提出以傳達直覺,讀者可以以獲取有關這些主題的綜合論文。