標籤:

系統架構和可信計算基(Day019)

系統架構描述了系統的主要組件,以及系統組件之間、系統與用戶直接以及系統與其它系統之家如何相互交互。從系統開發的全過程來看,架構位於最高層面。它是在設計和開發階段之前首先必須理解的概念結構。以下是在架構層面我們需要回答的問題,諸如:「我們為什麼要建造這個系統?」、「將來誰會使用這個系統以及為什麼要使用它?」、「將來如何使用?」、「它將在什麼樣的環境中運行?」、「需要什麼類型的安全和保護?」以及「它需要能夠和誰進行通信?」這些類型的問題答案概述了系統必須實現的主要目標,同時可以幫助我們在抽象層面構建系統。這個抽象架構提供了「全景」目標,用來指導後面的設計和開發階段。

在系統設計階段,我們收集系統的需求參數,使用建模語言明確系統將如何完成設計目標,諸如所需功能、兼容性、容錯性、可擴展性、安全性、易用性和可維護性等。建模語言通常是圖形化的,這樣我們可以實現從靜態結構圖到動態行為視圖轉變的可視化。我們可以知道什麼樣的系統部件需要單獨來完成,以及它們如何協同工作來實現已設定的更大的架構目標。

術語「開發」是指系統的整個生命周期,包括規劃、分析、設計、構建、測試、部署、維護和退役共8個階段。儘管許多人認為「開發」只是構建新系統這一過程的一部分,然而,實際上必須考慮(儘管並不包含)系統從「搖籃到墳墓」的整個生命周期。在此開發過程中,存在一個活動子集,涉及到如何整合系統。「設計」階段開始於架構工作(如前所述),進一步再詳細描述系統構建所需的一切。系統架構創建和使用過程是不斷發展的,變得更加規範和標準化。

在一個系統架構建立起來之前,必須定義好安全目標,與此同時還需要建立起來專有的系統安全視圖來幫助指導設計和開發階段。當我們聽到安全問題已用螺栓緊固了,這意味著安全問題在開發(編程)階段得到解決了,而不是在架構階段。當我們提到安全問題需要被作為組件整合進來,這意味著安全問題已經在架構階段被整合了。

儘管系統架構涉及許多利益相關者關注的問題,但由於信息安全是CISSP 考試的關鍵,所以我們將重點還是放在安全問題主面。

把所有這些目標都體現在安全策略中。安全從制定策略開始,安全策略是高級的指導性綱領,它為系統整體和構成它的組件從安全形度提出根本的目標。安全策略是戰略工具,指明了敏感信息和資源如何被管理和保護。它通過制定要完成什麼樣的安全機制等目標來精確地標明應該達到什麼樣的安全級別。這一點很重要,主要決定著如何定義系統的架構和設計。安全策略是一個系統的基礎規範,是系統建成後評估它的基準。評估的目的是確保安全策略中提出的目標得以實現。

1972年,美國政府發布報告(計算機安全技術規劃研究)規定了計算機系統要想達到購買和部署的可接受標準所應該滿足的最基本安全要求。後來,進一步構建和明確了這些要求,即產生了可信計算機系統評價標準(Trusted Computer System Evaluation Criteria),這些要求為幾乎今天使用的所有系統所應遵循的安全架構提供了框架。其核心內容是可信計算基、安全邊界、引用監視器和安全內核。

操作系統的內核由軟體、硬體和固件組成,因此從某種意義上說,內核就是TCB。然而,TCB還可能包括其他組件,如能夠直接與內核進行交互的可信命令、程序和配置文件。例如,在安裝Unix系統時,管理員可以在安裝過程中選擇安裝TCB。如果啟用TCB,那麼系統就擁有一條可信路徑、一個可信外殼以及系統完整性檢查功能。可信路徑是用戶或程序與內核之間的通信通道。TCB 提供保護源,以確保這個通道不會遭受任何方式的危害。可信外殼(trusted shell)意味著任何在這個外殼中工作的人都無法「逃出去」,其他進程也無法「闖進來」。

並不是每一個進程和資源都會位於TCB內,有些資源位於稱為安全邊界(security perimeter)之外,這是一種假想的邊界。安全邊界是劃分可信與不可信的邊界。為了讓系統處於一種安全和可信的狀態,就必須開發精確的通信標準,以確保在TCB 內部的組件需要和TCB 外部的組件進行通信時,這種類型的通信不會給系統帶來不期望的安全危害。這種通信類是通過介面來處理和控制的。

我們擁有了提供環形結構的CPU和根據每個組件的可信程度把它們放在不同環內的操作系統。我們定義了安全策略,規定了我們想讓系統提供的安全級別。我們選擇了執行這些安全策略的機制(TCB),實施了安全邊界(介面)來確保這些機制安全通信。現在,我們需要開發和實現一種機制,以確保訪問客體的主體能夠獲得所需的許可權。這意味著,開發人員需要開發和實現引用監控器。

引用監控器是一個抽象機,它是主體對客體進行所有訪問的中介,不但要確保主體擁有必要的訪問許可權,而且還要保護客體不被未授權訪問和破壞性更改。為了讓系統能夠獲得更高的信任級別,就必須要求主體(程序、用戶或進程)在訪問客體(文件、程序或資源)之前取得完全授權。在允許主體使用被請求的客體之前,必須確信主體已被賦予了訪問許可權。引用監控器是一個訪問控制概念,而不是實際的物理概念,因此通常被稱為「引用監控器概念」或「抽象機」。

我們用一個簡潔的類比來展示構成安全內核的進程、安全內核本身與引用監控器概念之間的關係。若干個人組成一個社會,個人代表進程,社會則代表安全內核。社會具有一定的生活標準,其成員必須以特定的方式進行交互,這就是我們需要法律的原因。法律代表引用監控器,它實施適當的活動。每個人都被要求不超出法律的界線,並且以特定的方式行事,從而使社會在整體上不會受到不利的影響,生活標準也不會遭到威脅。一個系統內部的組件必須不超出引用監控器法律的界線,以便它們不會對其他組件造成不利影響,也不會威脅這個系統的安全。

系統為了提供一個可以接受的信任級別,它所基於的架構必須能保護其自身不受不可信進程、有意或無意的威脅以及在系統不同層次上攻擊的影響。大多數的可信度評級機制都要求明確定義主體和客體的子集、顯式域以及進程的隔離,以便既可以控制對它們的訪問,又可以審計在它們上面執行的操作。

讓我們重新組織一下內容。我們知道一個系統的可信度是由它如何實施自己的安全策略來定義的。當針對特定的準則測試一個系統的時候,就會為該系統評定一個級別,這個評級供客戶、供應商和整個計算機行業使用。特定的準則將判斷安全策略是否得到正確的支持和實施。安全策略指出與系統如何管理、保護和發布敏感資源相關的規則和舉措。引用監控器概念提出,所有的主體必須具有適當的授權才能訪問客體,安全內核則實現了這個概念。安全內核是由按照系統安全策略監管系統活動的所有資源構成的,也是控制對系統資源進行訪問的操作系統部分。為了讓安全內核能夠正確發揮作用,各個進程必須相互隔離,並且要定義域來規定主體能夠使用哪些客體。

相關測試、答疑和更多學習資料和活動,請添加微信號 istudy1314 。

推薦閱讀:

淺談Night 未來發展
網路安全 | 不如做個腳本小子?
新聞時評 | 「艾澤拉斯兒女們」的兒女們也上網了
一個黑客會經歷怎樣的人生?
古代是怎麼通緝人員的?

TAG:網路安全 |