信息技術(shù)保障組件開發(fā)(ADV)、組合(ACO)、保障組件依賴關(guān)系的交叉引用_第1頁
信息技術(shù)保障組件開發(fā)(ADV)、組合(ACO)、保障組件依賴關(guān)系的交叉引用_第2頁
信息技術(shù)保障組件開發(fā)(ADV)、組合(ACO)、保障組件依賴關(guān)系的交叉引用_第3頁
信息技術(shù)保障組件開發(fā)(ADV)、組合(ACO)、保障組件依賴關(guān)系的交叉引用_第4頁
信息技術(shù)保障組件開發(fā)(ADV)、組合(ACO)、保障組件依賴關(guān)系的交叉引用_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、GB/T 18336.3XXXX (資料性)開發(fā)(ADV)ADV_ARC:安全架構(gòu)的補(bǔ)充材料概述本附錄包含輔助材料,為ADV:開發(fā)類的族中提出的話題做進(jìn)一步解釋和提供額外的例子。安全架構(gòu)是TSF所展示的一組屬性;這些屬性包括自保護(hù)、域分離和不可旁路。擁有這些屬性為 TSF 正在提供安全服務(wù)提供了信心。本附錄提供了關(guān)于這些屬性的附加材料,以及對安全架構(gòu)描述內(nèi)容的討論。本節(jié)首先解釋了這些屬性,然后討論了描述TSF 如何展示這些屬性所需的信息。安全架構(gòu)屬性“自保護(hù)”指的是 TSF 保護(hù)自己不受外部實體操縱的能力,這些操縱可能導(dǎo)致 TSF 的改變。如果沒有這些屬性,TSF 可能無法執(zhí)行其安全服務(wù)。通常

2、情況下,TOE 基于其他 IT 實體提供的服務(wù)或資源來執(zhí)行其功能(例如,依賴其底層操作系統(tǒng)的應(yīng)用程序)。在這些情況下,TSF 不能完全憑借自身保護(hù)自己,因為它依賴其他 IT 實體來保護(hù)其使用的服務(wù)。域分離是這樣一種屬性,TSF 為每個操作其資源的不可信活躍實體創(chuàng)建各自的安全域以對其資源進(jìn)行操作,并使這些域彼此分離,以便任何實體都不能在其他域中運(yùn)行。例如,操作系統(tǒng) TOE 為與不可信實體相關(guān)的每個進(jìn)程提供一個單獨的域(地址空間、進(jìn)程環(huán)境變量)。對于某些 TOE來說這樣的域是不存在的,因為所有不可信實體的操作都是由TSF 代理的。包過濾防火墻就是這種 TOE 的一個例子,它沒有不可信實體域;只有

3、TSF 維護(hù)的數(shù)據(jù)結(jié)構(gòu)。因此,域的存在取決于 1) TOE 的類型和 2) TOE 的安全功能要求。若TOE 確實為不可信實體提供單獨的安全域,本族要求這些域彼此隔離以防止一個域中的不可信實體篡改另一個不可信實體的域(不受 TSF 代理的影響)。不可旁路性是TSF(用SFR指定)安全功能經(jīng)常調(diào)用的一個屬性,并且對于特定機(jī)制它不會被旁路。例如,如果對文件的訪問控制被指定為 TSF 的一種能力,那么在調(diào)用TSF的訪問控制機(jī)制(通過原始磁盤訪問可能是這樣一個接口的例子)之前必須不能存在直接訪問此文件的接口。拿自保護(hù)做例子,有些TOE可能很自然地依賴它們所處的環(huán)境,在TSF的不可旁路性中發(fā)揮作用。例如

4、,某安全應(yīng)用TOE 要求它可由底層操作系統(tǒng)調(diào)用。類似的,防火墻依賴于這樣一個事實,即不存在內(nèi)部和外部網(wǎng)絡(luò)的直接連接通路,所以它們之間的通訊必須通過防火墻。安全架構(gòu)描述安全架構(gòu)的描述解釋了 TSF 如何展示上述屬性。它描述了域是如何定義的,以及 TSF 如何將它們分離。它描述了如何防止不可信進(jìn)程接觸到TSF并對其進(jìn)行修改。它描述了怎么確保 TSF 控制下的所有資源得到充分保護(hù),以及確保TSF所要滿足的SFR相關(guān)的所有行為。它解釋了所有情況下環(huán)境扮演的角色(例如,假設(shè)它被其底層環(huán)境正確地調(diào)用,它們的安全功能是如何被調(diào)用的?)。安全架構(gòu)描述以分解描述的方式呈現(xiàn)了 TSF 的自保護(hù)、域分離和不可旁路屬

5、性。此描述的級別與ADV_FSP、ADV_TDS 和 ADV_IMP 要求的 TSF 描述相當(dāng)。例如,如果僅在ADV_FSP中描述了TSF,那么,因無法從中獲取到TSF內(nèi)部工作的細(xì)節(jié),也就很難提供任何有意義的安全架構(gòu)描述。然而,如果可獲得TOE設(shè)計,即使是最基礎(chǔ)的級別 (ADV_TDS.1),也會有一些構(gòu)成 TSF 子系統(tǒng)的相關(guān)信息,并且會描述它們?nèi)绾喂ぷ饕詫崿F(xiàn)自保護(hù)、域分離和不可旁路。例如,也許所有用戶與 TOE 的交互都是通過一個代表該用戶的進(jìn)程來約束的,該進(jìn)程采用了用戶的所有安全屬性;安全架構(gòu)設(shè)計應(yīng)描述這樣的進(jìn)程是如何產(chǎn)生的,進(jìn)程的行為是如何被 TSF 約束的(所以它不會破壞 TSF),

6、進(jìn)程的所有行為是如何被 TSF 調(diào)控的(從而解釋為什么 TSF 不可被旁路),等等。如果可獲得的 TOE 設(shè)計更詳細(xì)(例如在模塊級),或?qū)崿F(xiàn)表示也可獲得,那么相應(yīng)的安全架構(gòu)設(shè)計的描述應(yīng)更詳細(xì),解釋用戶如何與TSF進(jìn)行交互的過程,TSF如何處理不同的請求,傳遞了哪些參數(shù),采用了哪些程序保護(hù)措施(防止緩沖區(qū)溢出、參數(shù)邊界檢查、核查時間/使用核查的時間等)。類似地,若在TOE的ST中聲明了ADV_IMP 組件,則應(yīng)加入實現(xiàn)表示相關(guān)的細(xì)節(jié)。安全架構(gòu)描述中提供的解釋應(yīng)足夠詳細(xì),以便測試其準(zhǔn)確性。也就是說,簡單的聲明(例如TSF實現(xiàn)域分離”)沒有提供有用的信息讓讀者確信TSF 的確創(chuàng)建并分離了域。域分離如

7、果TOE展現(xiàn)出的域分離完全由其本身實現(xiàn),應(yīng)就如何實現(xiàn)有一個明確描述。安全架構(gòu)描述應(yīng)解釋由 TSF 定義的不同種類的域,它們是如何被定義的(即哪些資源被分配到每個域),所有資源是如何被保護(hù)的,以及如何保持域的分離,以便一個域的活動實體不可以篡改另一個域的資源。對于 TOE 依賴其他 IT 實體實現(xiàn)域分離的情況,公用的角色必須明確說明。例如,某款應(yīng)用軟件 TOE 依賴于底層操作系統(tǒng)來正確實例化 TOE 定義的域;如果 TOE 為每個域定義了單獨的進(jìn)程空間、內(nèi)存空間等,那么它依賴于底層操作系統(tǒng)去正確和良好地執(zhí)行(例如,僅允許在 TOE 軟件申請的執(zhí)行空間中執(zhí)行進(jìn)程)。例如,實現(xiàn)域分離的機(jī)制(如內(nèi)存管

8、理、硬件提供的受保護(hù)的處理模式等)將被識別和描述。要么,TSF可以執(zhí)行軟件保護(hù)結(jié)構(gòu)或編碼習(xí)慣以有助于執(zhí)行軟件域分離,也可能通過將用戶地址空間從系統(tǒng)地址空間勾畫出來去實現(xiàn)域分離。脆弱性分析和測試(參見 AVA_VAN)活動可能包括嘗試通過使用監(jiān)控或直接攻擊 TSF 的方式來破壞所描述的 TSF 域分離。TSF 自保護(hù)如果TOE的自保護(hù)完全由其自身實現(xiàn),那么應(yīng)就如何實現(xiàn)自保護(hù)有一個明確的描述。應(yīng)識別并描述域分離機(jī)制,此機(jī)制應(yīng)識別并描述如何從其他(用戶)域中分離一個受TSF保護(hù)的域。對于 TOE 依賴其他 IT 實體來實現(xiàn)自保護(hù)的情況,公用的角色必須要明確說明。例如,某應(yīng)用軟件TOE,依賴于底層操作

9、系統(tǒng)才能正確、良性地運(yùn)行;應(yīng)用程序無法保護(hù)自身以免受惡意操作系統(tǒng)的破壞(例如,覆寫其可執(zhí)行代碼或 TSF 數(shù)據(jù))。安全架構(gòu)描述還包括 TSF 如何處理用戶輸入,以使 TSF 不會受到用戶輸入的破壞。例如,TSF 可執(zhí)行權(quán)限識別,并通過使用特權(quán)模式程序處理用戶數(shù)據(jù)以實現(xiàn)自保護(hù)。TSF 可以利用基于處理器的分離機(jī)制(例如特權(quán)級別或環(huán))將 TSF 代碼和數(shù)據(jù)與用戶代碼和數(shù)據(jù)進(jìn)行隔離。TSF可以執(zhí)行軟件保護(hù)結(jié)構(gòu)或編碼習(xí)慣有助于執(zhí)行軟件隔離,也可以通過劃分用戶地址空間和系統(tǒng)地址空間來實現(xiàn)。有些TOE以消減功能模式(例如,單用戶模式僅易于安裝者或者管理員進(jìn)入),接著轉(zhuǎn)變至經(jīng)評估之后的安全配置(不可信用戶能

10、夠登錄和使用TOE的服務(wù)和資源的模式),安全架構(gòu)描述也應(yīng)包括對TSF如何保護(hù)該初始化代碼不在評估后的配置模式下運(yùn)行的描述。對于這樣的 TOE,安全架構(gòu)描述應(yīng)解釋是什么防止了僅初始化過程中可使用的服務(wù)(例如,直接訪問資源)被評估后的配置所訪問。還應(yīng)解釋當(dāng)TOE正處于評估后的配置時,是什么防止了初始化代碼被運(yùn)行。還必須解釋可信初始化代碼是如何維護(hù) TSF(及其初始化過程)完整性的,以便初始化過程能夠檢測到任何會導(dǎo)致 TSF 被欺騙以相信它處于初始安全狀態(tài)的所有的修改。脆弱性分析和測試(參見 AVA_VAN)活動可能包括通過使用篡改、直接攻擊或監(jiān)控 TSF 的方式來破壞所描述的 TSF 自保護(hù)機(jī)制。

11、TSF 不可旁路不可旁路性與那些允許旁路執(zhí)行機(jī)制的接口有關(guān)。在大多數(shù)情況下與實現(xiàn)是有因果關(guān)系的,如果某程序員正在編寫一個接口去訪問或操作某對象時,針對這個對象的某些接口是安全功能要求機(jī)制的一部分,該程序員有責(zé)任使用這些接口,而不是試圖繞過這些接口。由于描述的是不可旁路性,那么有兩個方面是必須要覆蓋到的。首先是 SFR-執(zhí)行的接口。這些接口的屬性是它們當(dāng)中不能包含用于旁路 TSF 的操作或模式。 ADV_FSP 和 ADV_TDS 的證據(jù)可能在很大程度上可以用來做這個決定。因為不可旁路性關(guān)注的是,如果僅有可用在這些TSFI上的特定操作在文檔(因為他們是SFR-執(zhí)行)中作了聲明,其他操作均不可用,

12、開發(fā)者應(yīng)考慮是否額外的信息(在ADV_FSP和ADV_TDS中提出的信息)也有必要做出聲明,即SFR-支撐以及SFR-無關(guān)的TSFI的操作不會提供給一個不可信實體去旁路正在執(zhí)行的策略。如果此類信息是必要的,也應(yīng)被包括在安全架構(gòu)描述中。不可旁路性的第二個方面涉及那些與SFR-執(zhí)行無關(guān)的接口。依賴于ADV_FSP 和 ADV_TDS 組件的聲明,這些接口中的有些信息可能在功能規(guī)范和TOE設(shè)計文檔中,也可能不在其中。這樣的接口(或接口組)的描述信息應(yīng)充分,使得讀者能夠確定執(zhí)行機(jī)制不可被旁路(描述的詳細(xì)程度與ADV:開發(fā)類中提供的其他證據(jù)相當(dāng))。安全功能不能被旁路的屬性均應(yīng)被應(yīng)用于所有的安全功能。即設(shè)

13、計描述應(yīng)覆蓋安全功能要求保護(hù)下的目標(biāo)(例如FDP_*組件)和TSF所提供的功能(例如,審計)。這些描述也應(yīng)標(biāo)識出那些與安全功能相關(guān)聯(lián)的接口;也可以利用功能規(guī)范中使用的信息。該描述還應(yīng)包括所有設(shè)計構(gòu)件,例如目標(biāo)管理器,以及它們的使用方法。例如,如果程序是被用作一個標(biāo)準(zhǔn)的宏來處理一個審計記錄,該規(guī)定則是設(shè)計的一部分,促成了審計機(jī)制的不可旁路性。很重要的一個問題是,本文中不可旁路性不是嘗試回答此問題“如果是惡意的話,TSF執(zhí)行的某部分是否可旁路安全功能”,而是在文檔中描述如何去執(zhí)行不可旁路安全功能。脆弱性分析和測試(參見 AVA_VAN)活動可能包括試圖通過旁路 TSF來破壞所描述的不可旁路性。AD

14、V_FSP:功能規(guī)范的補(bǔ)充材料概述定義TSFI的目的是為進(jìn)行測試提供必要的信息;如果不知道與 TSF 交互的可能方式,就無法充分測試 TSF 的行為。要聲明TSFI的兩個方面:標(biāo)識它們和描述它們。由于TOE可能的多樣性,以及不同的TSF,沒有組成“TSFI”標(biāo)準(zhǔn)的接口集合。本附錄提供的指南是關(guān)于確定哪些接口是TSFI的要索。TSF接口的具體說明包括兩個部分:接口標(biāo)識和接口描述。由于 TOE 的多樣性以及其中不同的 TSF,因此沒有一套標(biāo)準(zhǔn)的接口構(gòu)成“TSFI”。本附錄提供關(guān)于確定TSF接口要素的指南。TOE 的非 TSF 部分TSF 包括用戶為了信任安全功能而必須依賴的 TOE的所有部分。換句

15、話說,那些不屬于 TSF 的 TOE 部分可以被攻擊者修改,但不會對 TOE 的安全功能產(chǎn)生任何影響。如果不是這種情況,則必須將 TOE 的這些部分包含在 TSF 中。如果定義了 TSF 和 TSF 實現(xiàn),那么就可以清楚判斷TOE是否存在非 TSF 部分。盡管這些部分不是 TSF 的一部分,但它們?nèi)允?TOE 的一部分。TOE 的 TSF 和非 TSF 部分之間的關(guān)系由它們的定義和 ARC 屬性給出,如下所示:非 TSF 部分不可旁路 TSF TSF部分實現(xiàn)自保護(hù)以免受篡改。不屬于 TSF 一部分的 TOE 子系統(tǒng)必須滿足以下條件(作為經(jīng)驗法則描述):即使該子系統(tǒng)被攻擊者惡意替換,它也不會對

16、TOE 產(chǎn)生任何安全影響。因此,在非 TSF 部分和 TSF 部分之間,有某種“分離機(jī)制”似乎是可取的,因為這種“分離機(jī)制”可以為評估非 TSF 部分對 TSF 部分沒有影響奠定基礎(chǔ)。這種“分離機(jī)制”可以由安全架構(gòu)實現(xiàn),也可以由實現(xiàn)的顯式實現(xiàn)部分實現(xiàn)(例如,TOE 的 TSF 和非 TSF 部分之間的防火墻)?!胺蛛x機(jī)制”的分析是脆弱性評估的對象,因為它必須根據(jù)評估的 VAN 級別承受相應(yīng)強(qiáng)度的攻擊者攻擊。開發(fā)者應(yīng)在其安全架構(gòu)描述中提供不可旁路和自保護(hù)的證據(jù),評估者應(yīng)在 ADV_ARC.1 子活動中分析此證據(jù),并評估脆弱性評定的有效性。TOE 設(shè)計文檔的目標(biāo)是提供足夠的信息來確定 TSF 邊界

17、,并描述 TSF 如何實現(xiàn)安全功能要求。需要進(jìn)一步注意的是,ADV_TDS 族只需要標(biāo)識 TOE 的非 TSF 子系統(tǒng)。ADV_FSP 或 ADV_TDS 中沒有為這些子系統(tǒng)提供接口描述。這些子系統(tǒng)的SFR-無關(guān)是開發(fā)者假設(shè)的,但開發(fā)者沒有相關(guān)證明,評估者也沒有詳細(xì)檢查。然而,從 TOE 設(shè)計的角度來看,只要上述分離機(jī)制到位并且脆弱性評估確認(rèn)其足夠強(qiáng)大,這一問題并不那么重要。因此,這種“分離機(jī)制”實現(xiàn)了 TSF 或執(zhí)行了ARC 屬性作為其安全特性。但是不可旁路性也可通過“純架構(gòu)屬性”來執(zhí)行。歸類為非 TSF 的 TOE 部分不得提供旁路 TSF 的方法(無論是使用TOE這部分的合法用戶還是攻擊

18、者)并且確保其不會構(gòu)成TSF 。開發(fā)者提供明確的證據(jù)并證實如何滿足此要求非常重要。因此,開發(fā)者應(yīng)證實且評估者應(yīng)檢查標(biāo)識為非TSF的TOE子系統(tǒng)(參見 ADV_TDS.x.1)是正確的,因此不需要對這些子系統(tǒng)進(jìn)行詳細(xì)描述。評估者應(yīng)檢查開發(fā)者提供的 ADV_ARC 文檔中描述的不可旁路和自保護(hù)屬性(請參閱上面的段落)。確定TSFI概述為了標(biāo)識TSF 的接口,必須首先識別組成 TSF 的 TOE 部分。這種識別實際上是 TOE 設(shè)計 (ADV_TDS) 分析的一部分,但針對 TOE 設(shè)計 (ADV_TDS) 未被包含在保障包的情況,開發(fā)者也會隱式執(zhí)行(通過TSFI的識別和描述)。在此分析中,如果 T

19、OE 的一部分有助于滿足 ST 中的SFR(全部或部分),則必須將其視為TSF 的一部分。例如,這包括 TOE 中用于TSF 運(yùn)行初始化的所有細(xì)節(jié),比如SFR的執(zhí)行沒有開始(例如啟動時)優(yōu)先于TSF運(yùn)行的軟件應(yīng)能夠?qū)崿F(xiàn)自保護(hù)。對于TSF 自保護(hù)、域分離和不可旁路的架構(gòu)原則提供支持的TOE所有部分也包含在TSF中(請參閱安全架構(gòu)(ADV_ARC))。一旦定義了TSF,也就表明了TSFI。TSF接口由外部實體(或?qū)儆赥OE但在 TSF 之外的主體)向 TSF 提供數(shù)據(jù)、從 TSF 接收數(shù)據(jù)和從 TSF 調(diào)用服務(wù)的所有方式組成。這些服務(wù)調(diào)用和響應(yīng)是穿越TSF 邊界的方法。雖然其中許多是顯而易見的,但

20、其他的可能不那么明顯。應(yīng)帶著以下問題來識別TSF 接口:“潛在攻擊者如何與 TSF 交互以試圖破壞SFR?”因此,從評估的角度來看,攻擊者是否可以濫用接口來訪問安全功能以破壞受 TSF 保護(hù)的資產(chǎn)也很重要。任何可能被攻擊者使用的 TSF 相關(guān)接口都屬于 TSF接口(無論進(jìn)一步分類為 SFR-執(zhí)行、SFR-支撐或SFR-無關(guān))。是否會從外部訪問 TSF 或 TSF 是否訪問外部資源(例如 TSF 調(diào)用平臺或用戶)并不重要。唯一的衡量標(biāo)準(zhǔn)是,是否存在來自外部的對TSF的潛在干擾。以下討論說明了TSFI定義在不同上下文中的應(yīng)用。電氣接口在諸如智能卡之類的 TOE 中,攻擊者不僅對 TOE 具有邏輯訪

21、問權(quán)限,而且對 TOE 具有完備的物理訪問權(quán)限,TSF 邊界就是物理邊界。因此,暴露的電氣接口被認(rèn)為是 TSF 接口,因為它們的操作會影響 TSF 的行為。因此,需要描述所有此類接口(電氣觸點):例如可以適用的各種電壓等。網(wǎng)絡(luò)協(xié)議棧TOE中執(zhí)行協(xié)議處理的TSF接口將是潛在攻擊者可直接訪問的那些協(xié)議層。這些接口不一定是整個協(xié)議棧,但也可能是。例如,如果 TOE 是某種網(wǎng)絡(luò)設(shè)備,潛在的攻擊者可能會影響協(xié)議棧的每一層(即發(fā)送任意信號、任意電壓、任意數(shù)據(jù)包、任意數(shù)據(jù)等),那么協(xié)議棧的每一層均為TSF 的邊界。因此,功能規(guī)范必須覆蓋堆棧的每一層中的每個協(xié)議。但是,如果 TOE 是保護(hù)內(nèi)部網(wǎng)絡(luò)免受互聯(lián)網(wǎng)攻

22、擊的防火墻,那么潛在的攻擊者將無法直接操縱電壓進(jìn)入 TOE;任何極端電壓都無法通過互聯(lián)網(wǎng)傳遞,也就是說,攻擊者只能訪問Internet層或以上的那些協(xié)議。TSF 邊界存在于堆棧的每一層。因此,功能規(guī)范應(yīng)只描述Internet層或以上的那些協(xié)議:它應(yīng)根據(jù)有可能出現(xiàn)在網(wǎng)路上的正常輸入描述防火墻所暴露的每個不同通信協(xié)議層,以及正常和惡意輸入所導(dǎo)致的后果。例如,Internet層協(xié)議將描述如何構(gòu)成一個格式良好的 IP 數(shù)據(jù)包,以及在接收到格式正確和格式錯誤的數(shù)據(jù)包時會發(fā)生什么。同樣,TCP層的描述應(yīng)包括如何建立TCP連接以及在成功建立連接和無法建立連接或異常丟棄時會發(fā)生什么。假設(shè)防火墻的目的是為了過濾

23、應(yīng)用層命令(如 FTP 或telnet),那么應(yīng)用層的描述應(yīng)包括防火墻能夠識別和過濾的應(yīng)用層命令,以及針對未知命令的處理結(jié)果。對這些層的描述可參考公開發(fā)布的正使用的通信標(biāo)準(zhǔn)(telnet、FTP、TCP 等),并注釋出所選擇的用戶定義選項。包裝器包裝器“包裝器”將一系列復(fù)雜的交互轉(zhuǎn)化為簡單的通用服務(wù),例如操作系統(tǒng)創(chuàng)建 API 供應(yīng)用程序使用(如圖 A.1所示)。無論TSF接口是系統(tǒng)調(diào)用還是依賴于應(yīng)用程序使用的API:如果應(yīng)用程序可以直接使用系統(tǒng)調(diào)用,那么系統(tǒng)調(diào)用就是TSFI接口。但是,如果禁止直接調(diào)用它們并要求通過 API 進(jìn)行所有通信,那么API將是TSFI。圖形用戶界面類接口也是類似的:它

24、在機(jī)器可理解的命令和用戶友好圖形界面之間進(jìn)行轉(zhuǎn)換。類似地,TSF接口可以是用戶有權(quán)限訪問的命令,也可以是用戶被限制使用的圖形界面(下拉菜單、復(fù)選框、文本字段)。值得注意的是,在這兩個例子中,如果用戶被禁止使用更原始的接口(即系統(tǒng)調(diào)用或命令),這種限制及其執(zhí)行的描述將被包括在安全架構(gòu)描述中(見A.1)。此外,包裝器將是 TSF 的一部分。不可訪問的接口對于給定的TOE,并非所有接口都可以訪問。也就是說,運(yùn)行環(huán)境(在ST中)的安全目的可能會阻止對這些接口的訪問或以幾乎不可訪問的方式限制訪問。此類接口不會被視為 TSF 接口。以下是一些例子:如果對于獨立防火墻運(yùn)行環(huán)境的安全目的規(guī)定陳述為:防火墻將在

25、只允許可信且經(jīng)過培訓(xùn)的人員才能進(jìn)入的機(jī)房環(huán)境中運(yùn)行,機(jī)房將配備可中斷的電源(防止斷電),那么物理和電源接口將是不可訪問的,因為可信且經(jīng)過培訓(xùn)的人員將不會試圖拆除防火墻和/或中斷電力供應(yīng)。如果對于軟件防火墻(應(yīng)用程序)運(yùn)行環(huán)境的安全目的規(guī)定陳述為:操作系統(tǒng)和硬件將為應(yīng)用程序提供一個安全域,防止其他程序的篡改,那么操作系統(tǒng)中可被其他應(yīng)用程序訪問防火墻的接口就應(yīng)是不可訪問接口(如刪除或修改防火墻的可執(zhí)行文件,直接讀寫防火墻的內(nèi)存空間),因為運(yùn)行環(huán)境的操作系統(tǒng)/硬件部分使得這種接口不可訪問。如果軟件防火墻運(yùn)行環(huán)境的安全目的還規(guī)定了,操作系統(tǒng)和硬件會如實地執(zhí)行 TOE 的命令,并且不會以任何方式篡改 T

26、OE,那么防火墻從操作系統(tǒng)和硬件獲得原始功能的接口(執(zhí)行機(jī)器代碼指令、操作系統(tǒng) API,如創(chuàng)建、讀取、寫入或刪除文件、圖形 API 等)將是不可訪問的,因為操作系統(tǒng)/硬件是唯一能夠訪問該接口的實體,并且它們是完全可信的。對上述示例,這些不可訪問的接口不是 TSF 接口。示例:復(fù)雜的 DBMS圖 A.2舉一個復(fù)雜 TOE的例子:一個依賴于 TOE邊界之外的硬件和軟件的數(shù)據(jù)庫管理系統(tǒng)(在本討論的其余部分被稱為IT 環(huán)境)。為簡化本示例,TOE 等同于 TSF 。陰影框代表 TSF,而無陰影框代表環(huán)境中的 IT 實體。TSF 包括數(shù)據(jù)庫引擎和管理用戶圖形界面(由標(biāo)記為DB的框表示)以及作為操作系統(tǒng)的

27、一部分運(yùn)行的執(zhí)行某些安全功能的內(nèi)核模塊(由標(biāo)記為PLG的框表示)。TSF 內(nèi)核模塊具有操作系統(tǒng)規(guī)范定義的入口點,操作系統(tǒng)將通過這些入口點來調(diào)用某些功能(這可能是設(shè)備驅(qū)動或身份驗證模塊等)。關(guān)鍵在于這個可嵌入內(nèi)核模塊提供了 ST 中功能要求描述的安全服務(wù)。DBMS 系統(tǒng)的接口IT 環(huán)境由操作系統(tǒng)本身(由標(biāo)記為OS的框表示)以及外部服務(wù)器(由標(biāo)記為SRV的框表示)組成。這個外部服務(wù)器和操作系統(tǒng)一樣,提供了 TSF 所依賴的服務(wù),因此也要被列為 IT 環(huán)境。圖中Ax 表示 TSF接口,Bx表示其他接口,這些接口將記錄在 ACO:組合中。以下將分別描述這些接口。接口組 A1 代表最直觀的TSF接口集。

28、這些是用戶用來直接訪問數(shù)據(jù)庫及其安全功能和資源的接口。接口組 A2 代表操作系統(tǒng)調(diào)用以獲得可嵌入模塊所提供功能的 TSF 接口。這些接口與接口組 B3 形成對比,后者代表可嵌入模塊為從 IT 環(huán)境中獲取服務(wù)而進(jìn)行的調(diào)用。接口組A3 代表通過 IT 環(huán)境的 TSF 接口。在這種情況下,DBMS 使用一個私有的應(yīng)用層協(xié)議進(jìn)行網(wǎng)絡(luò)通信。雖然 IT 環(huán)境負(fù)責(zé)提供多種支持協(xié)議(例如以太網(wǎng)、IP 、TCP),但用于從 DBMS 獲取服務(wù)的應(yīng)用層協(xié)議是 TSF 接口,必須在文檔中描述。虛線表示通過網(wǎng)絡(luò)連接從 TSF 返回的值/服務(wù)。標(biāo)記為Bx的接口代表 IT 環(huán)境中的功能接口。這些接口不是 TSF 接口,僅

29、當(dāng) TOE 作為與 ACO 類活動的一部分被用于組合評估時才需要討論并分析。功能規(guī)范實例概述以用于內(nèi)外網(wǎng)之間的防火墻為例,它驗證接收到的數(shù)據(jù)的源地址(以確保外部數(shù)據(jù)沒有試圖偽裝成來自內(nèi)部的數(shù)據(jù));如果它檢測到任何此類嘗試,它會將違規(guī)嘗試保存到審計日志中。通過建立一個從內(nèi)部網(wǎng)絡(luò)到防火墻的 telnet 連接,管理員可連接到防火墻。管理員行動包括鑒權(quán)、口令更改、審查審計日志、設(shè)置或更改內(nèi)部和外部網(wǎng)絡(luò)地址。例如,防火墻提供了以下內(nèi)部網(wǎng)絡(luò)接口:IP 數(shù)據(jù)報;管理員命令;為外部網(wǎng)絡(luò)提供以下接口:IP 數(shù)據(jù)報。接口描述:IP 數(shù)據(jù)報數(shù)據(jù)報采用 RFC791 中規(guī)定的格式。目的:將數(shù)據(jù)塊(數(shù)據(jù)報)從源主機(jī)傳

30、輸?shù)接晒潭ㄩL度地址確定的目的主機(jī);還提供了必要時對長數(shù)據(jù)報的分割和重新組合,以便通過小包網(wǎng)絡(luò)傳輸。使用方法:它們來自底層(例如,數(shù)據(jù)鏈路)協(xié)議。參數(shù):IP 數(shù)據(jù)報頭的以下字段:源地址、目的地址、分片標(biāo)志位。參數(shù)描述:如RFC791 中第 3.1 條(“Internet 報頭格式”)的定義。行動:傳輸非偽造的數(shù)據(jù)報;必要時對大數(shù)據(jù)報進(jìn)行分段;將分段數(shù)據(jù)重組形成數(shù)據(jù)報。錯誤消息:(無)。無法保證可靠性(由上層協(xié)議提供可靠性)丟棄無法傳遞的數(shù)據(jù)報(例如,必須對傳輸進(jìn)行分片,但設(shè)置了不分片標(biāo)志位)。接口描述:管理員命令管理員命令為管理員提供了一種與防火墻交互的方法。這些命令和響應(yīng)運(yùn)行在從內(nèi)部網(wǎng)絡(luò)上的任

31、何主機(jī)建立的 telnet (RFC854) 連接之上??捎玫拿钣校篜asswd目的:設(shè)置管理員密碼;使用方法:Passwd ;參數(shù):密碼;參數(shù)描述:新密碼的值;行為:將密碼更改為新提供的值。沒有任何限制;錯誤消息:無。Readaudit目的:將審計日志呈現(xiàn)給管理員;使用方法:Readaudit;參數(shù):無;參數(shù)描述:無;行為:提供審計日志文本;錯誤消息:無。Setintaddr目的:設(shè)置內(nèi)部網(wǎng)絡(luò)的地址。使用方法:Setintaddr參數(shù):address參數(shù)描述:IP 地址的前三個字段(如 RFC791中所定義)。例如:123.123.123;行為:更改定義內(nèi)部網(wǎng)絡(luò)的變量內(nèi)部值,該值用于判斷偽

32、裝嘗試;錯誤消息:-“address in use”:表示所識別出的內(nèi)部網(wǎng)絡(luò)與外部網(wǎng)絡(luò)地址相同。 Setextaddr目的:設(shè)置外部網(wǎng)絡(luò)地址;使用方法:Setextaddr;參數(shù):address;參數(shù)描述: - IP 地址的前三個字段(如 RFC791中所定義)。例如:123.123.123;行為:改變定義外部網(wǎng)絡(luò)的變量的內(nèi)部值。錯誤信息:“address in use”:表示所識別出的外部網(wǎng)絡(luò)與內(nèi)部網(wǎng)絡(luò)地址相同。ADV_INT:TSF 內(nèi)部的補(bǔ)充材料概述評估對象種類繁多,因此無法編纂出比“結(jié)構(gòu)合理”或“最小復(fù)雜度”更具體的任何內(nèi)容。對結(jié)構(gòu)和復(fù)雜度的判斷預(yù)計將從 TOE 使用的具體技術(shù)中得出。

33、例如,如果軟件表現(xiàn)出軟件工程學(xué)科中所提及的特征,就有可能被認(rèn)為是結(jié)構(gòu)合理。本附錄提供了用于評估 TSF 面向過程的軟件部分的結(jié)構(gòu)和復(fù)雜度補(bǔ)充材料。本材料是基于軟件工程文獻(xiàn)中現(xiàn)有的信息。對于其他種類的內(nèi)部結(jié)構(gòu)(如硬件、非過程化軟件如面向?qū)ο蟮拇a等),應(yīng)參考相應(yīng)的最佳實踐文獻(xiàn)。程序軟件的結(jié)構(gòu)概述程序軟件的結(jié)構(gòu)傳統(tǒng)上是根據(jù)其模塊化程度來評估的。用模塊化設(shè)計編寫的軟件,通過明確一個模塊對其他模塊的依賴性(耦合)以及在一個模塊中只包括相互之間有強(qiáng)關(guān)聯(lián)的任務(wù)(內(nèi)聚)實現(xiàn)可理解性。模塊化設(shè)計的使用減少了 TSF 元素之間的相互依賴性,從而降低了一個模塊中的更改或錯誤對整個 TOE 產(chǎn)生影響的風(fēng)險。模塊化設(shè)

34、計的使用增強(qiáng)了設(shè)計的清晰度,并為不發(fā)生非預(yù)期影響提供更多保障。模塊分解可取的附加屬性是減少了冗余或非必要代碼的數(shù)量。最小化 TSF 中的功能數(shù)量允許評估者和開發(fā)者只關(guān)注 SFR 實現(xiàn)所必需的功能,從而進(jìn)一步提高可理解性并降低設(shè)計或?qū)崿F(xiàn)錯誤的可能性。將模塊化分解、分層和最小化合并到設(shè)計和實現(xiàn)過程必須伴隨著合理的軟件工程考慮。一個實用的、有用的軟件系統(tǒng)通常會伴隨著模塊之間的一些不良耦合,一些模塊包括松散相關(guān)的功能,以及模塊設(shè)計中的一些微性或復(fù)雜之處。這些偏離模塊化分解的理想通常被認(rèn)為是實現(xiàn)某些目標(biāo)或約束的必要條件,可能與性能、兼容性、未來計劃的功能或其他一些因素有關(guān),并且可能是可以接受的,這取決于

35、開發(fā)者對它們的解釋。在應(yīng)用本類的要求時,必須適當(dāng)考慮合理的軟件工程原則;但是,內(nèi)部結(jié)構(gòu)的易理解性是必須達(dá)成的整體目標(biāo)。內(nèi)聚內(nèi)聚是指單個軟件模塊所執(zhí)行的任務(wù)相互關(guān)聯(lián)的方式和程度;內(nèi)聚的類型包括偶然內(nèi)聚、通信內(nèi)聚、功能內(nèi)聚、邏輯內(nèi)聚、順序內(nèi)聚和時間內(nèi)聚。下面描述了這些模塊內(nèi)聚類型的特征,以其可取性遞減的順序列出。功能內(nèi)聚:具有功能內(nèi)聚的模塊執(zhí)行與單一目的相關(guān)的活動。功能內(nèi)聚模塊將單一類型的輸入轉(zhuǎn)換為單一類型的輸出,例如堆棧管理器或隊列管理器。順序內(nèi)聚:具有順序內(nèi)聚的模塊包含多個功能,其中每個功能的輸出都是模塊中后續(xù)功能的輸入。順序內(nèi)聚模塊的一個示例是包含寫入審計記錄功能和維護(hù)特定類型審計違規(guī)累積次

36、數(shù)的實時計數(shù)功能模塊。通信內(nèi)聚:具有通信內(nèi)聚的模塊包含為模塊內(nèi)的其他功能產(chǎn)生輸出或使用來自模塊內(nèi)其他功能的輸出的功能。通信內(nèi)聚模塊的一個例子是包括強(qiáng)制性、自主性和能力驗證功能的訪問驗證模塊。時間內(nèi)聚:具有時間內(nèi)聚的模塊包含需要幾乎同時執(zhí)行的各類功能。時間內(nèi)聚模塊的示例包括初始化、恢復(fù)和關(guān)機(jī)模塊。邏輯(或程序)內(nèi)聚:具有邏輯內(nèi)聚的模塊在不同的數(shù)據(jù)結(jié)構(gòu)上執(zhí)行類似的活動。如果模塊的功能對不同的輸入執(zhí)行相關(guān)但不同的操作,則該模塊表現(xiàn)為邏輯內(nèi)聚。偶然內(nèi)聚:具有偶然內(nèi)聚的模塊執(zhí)行不相關(guān)或松散相關(guān)的活動。耦合耦合是軟件模塊之間相互依賴的方式和程度;耦合類型包括調(diào)用耦合、公共耦合和內(nèi)容耦合。下面描述了這些模塊

37、耦合類型的特征,以其可取性遞減的順序列出。調(diào)用耦合:如果兩個模塊嚴(yán)格通過調(diào)用其文檔說明的函數(shù)進(jìn)行通信,則這兩個模塊就是調(diào)用耦合;調(diào)用耦合的實例是數(shù)據(jù)、戳和控制,定義如下。數(shù)據(jù):如果兩個模塊嚴(yán)格通過使用表示單個數(shù)據(jù)項的調(diào)用參數(shù)進(jìn)行通信,則它們是數(shù)據(jù)耦合的。戳:如果兩個模塊嚴(yán)格通過使用包含多個字段或具有有意義的內(nèi)部結(jié)構(gòu)的調(diào)用參數(shù)進(jìn)行通信,則它們是戳耦合的??刂疲喝绻粋€模塊傳遞旨在影響另一個模塊內(nèi)部邏輯的信息,則它們是控制耦合的。公共耦合:如果兩個模塊共享公共數(shù)據(jù)區(qū)或公共系統(tǒng)資源,則它們是公共耦合的。全局變量標(biāo)明使用這些全局變量的模塊是公共耦合的。通過全局變量的公共耦合通常是被允許的,但只是在有限

38、的程度上。例如,只被一個模塊使用的變量放在全局區(qū)域是不合適的,應(yīng)刪除。在評估全局變量的適用性時需要考慮的其他因素是:修改全局變量的模塊數(shù)量:一般情況下,應(yīng)該只分配一個模塊來負(fù)責(zé)控制全局變量的內(nèi)容,但可以由第二個模塊共同承擔(dān)該職責(zé),在這種情況下,必須提供充分的論證。由兩個以上的模塊分擔(dān)此責(zé)任是不可接受的。(在進(jìn)行此評估時,應(yīng)注意確定實際負(fù)責(zé)變量內(nèi)容的模塊;例如,如果使用單個例行程序來修改變量,但該例行程序只是執(zhí)行其調(diào)用者請求的修改,則是調(diào)用模塊負(fù)責(zé),并且可能有多個這樣的模塊)。此外,作為復(fù)雜度確定的一部分,如果兩個模塊負(fù)責(zé)一個全局變量的內(nèi)容,則應(yīng)該清楚地說明它們之間如何協(xié)調(diào)修改。引用全局變量的模

39、塊的數(shù)量:雖然通常對引用全局變量的模塊數(shù)量沒有限制,但應(yīng)該檢查多個模塊進(jìn)行引用的情況的有效性和必要性。內(nèi)容耦合:如果一個模塊可以直接引用另一個模塊的內(nèi)部結(jié)構(gòu)(例如,修改另一個模塊的代碼或引用另一個模塊的內(nèi)部標(biāo)簽),則兩個模塊是內(nèi)容耦合的。內(nèi)容耦合的結(jié)果是一個模塊的部分或全部內(nèi)容將有效地包含在另一個模塊中。內(nèi)容耦合可以被認(rèn)為是使用未公開的模塊接口;這與調(diào)用耦合相反,后者只使用公開的模塊接口。程序軟件的復(fù)雜度復(fù)雜性是對代碼執(zhí)行的決策點和邏輯路徑的度量。軟件工程學(xué)將復(fù)雜度作為軟件的一個負(fù)面特征,因為它阻礙了對代碼邏輯和流程的理解。另一個阻礙理解代碼的因素是存在不必要的代碼,即它是未使用的或冗余的。使

40、用分層來分離抽象級別并最小化循環(huán)依賴以便更好地理解 TSF,從而更加保障TOE的SFR在實現(xiàn)中被準(zhǔn)確和完整地實例化。降低復(fù)雜度還包括減少或消除相互依賴性,這既適用于單個層中的模塊,也適用于不同層中的模塊。相互依賴的模塊可能互相依賴,以得到某單一的結(jié)果,這可能導(dǎo)致進(jìn)入死鎖狀態(tài),或者更糟糕的紊亂狀態(tài)(例如檢查時間vs使用時間問題),其最終的結(jié)論可能是不確定的,并且受特定時刻的計算環(huán)境的影響。設(shè)計復(fù)雜度最小化是參考驗證機(jī)制的一個關(guān)鍵特征,其目的是得出一個容易理解的 TSF,從而可以對其進(jìn)行完整地分析。(參考驗證機(jī)制還有其他重要特征,如 TSF 自保護(hù)和不可旁路性;這些其他特征被 ADV_ARC 族的

41、要求所覆蓋)。ADV_TDS:子系統(tǒng)和模塊概述本節(jié)提供了關(guān)于 TDS 族的附加指南,以及其對術(shù)語“子系統(tǒng)”和“模塊”的使用的額外指導(dǎo)。隨后討論了隨著有更多細(xì)節(jié)的要求的出現(xiàn),如何減少有較少細(xì)節(jié)的要求。子系統(tǒng)如圖 A.3所示,根據(jù)TSF的復(fù)雜度,設(shè)計可以從子系統(tǒng)和模塊維度來描述(子系統(tǒng)比模塊的抽象級別更高);或者也可僅從一個抽象級別進(jìn)行描述(例如,較低保障級別中的子系統(tǒng),較高保障級別中的模塊)。如果從低抽象級別(模塊)進(jìn)行描述,那么也默認(rèn)滿足了對高抽象級別(子系統(tǒng))的要求。這個概念在下面關(guān)于子系統(tǒng)和模塊的討論中得到進(jìn)一步的闡述。子系統(tǒng)和模塊開發(fā)者應(yīng)使用子系統(tǒng)來描述 TOE 的設(shè)計。術(shù)語“子系統(tǒng)”用

42、起來比較模糊,它可以用來指代適用于TOE的單元(例如,子系統(tǒng)、模塊)。子系統(tǒng)甚至可以在范圍上是不均勻的,只要滿足子系統(tǒng)描述的要求即可。子系統(tǒng)的第一個用途是區(qū)分TSF的邊界;即,包含TSF的TOE部分。一般而言,如果某個子系統(tǒng)具有影響任何 TSF 正確操作的能力(無論是通過設(shè)計還是實現(xiàn)),那么它就是TSF的一部分。例如,對于依賴不同硬件執(zhí)行模式來提供域隔離(見A.1)的軟件,其中 SFR-執(zhí)行代碼在一個域中執(zhí)行,那么在該域中執(zhí)行的所有子系統(tǒng)都將被視為 TSF 的一部分。同樣,如果該域外的一臺服務(wù)器實現(xiàn)了SFR(例如,對其管理的對象實現(xiàn)訪問控制策略),那么它也將被視為 TSF 的一部分。子系統(tǒng)的第

43、二個用途是提供一種描述 TSF 的結(jié)構(gòu),在描述 TSF 如何工作時,不一定包含模塊描述中的低層實現(xiàn)細(xì)節(jié)(稍后討論)。可對子系統(tǒng)進(jìn)行高級別描述(缺乏豐富的實現(xiàn)細(xì)節(jié))或細(xì)節(jié)層面描述(提供對實現(xiàn)的更多洞察)。為子系統(tǒng)提供的描述級別取決于該子系統(tǒng)對某SFR的實現(xiàn)程度。SFR-執(zhí)行子系統(tǒng)是提供執(zhí)行任何SFR元素的機(jī)制的子系統(tǒng),或直接支撐實現(xiàn)某個SFR 的子系統(tǒng)。如果一個子系統(tǒng)提供(實現(xiàn))一個 SFR-執(zhí)行TSFI,那么這個子系統(tǒng)就是 SFR-執(zhí)行的。子系統(tǒng)也可以被識別為SFR-支撐和SFR-無關(guān)子系統(tǒng)。SFR-支撐子系統(tǒng)受 SFR-執(zhí)行子系統(tǒng)依賴以實現(xiàn)SFR,但它不像 SFR-執(zhí)行子系統(tǒng)那樣直接發(fā)揮作用

44、。SFR-無關(guān)子系統(tǒng)是不依賴于支撐或執(zhí)行作用而實現(xiàn) SFR 的子系統(tǒng)。模塊模塊通常是一個相對較小的架構(gòu)單元,可以根據(jù) TSF 內(nèi)部結(jié)構(gòu) (ADV_INT) 中討論的屬性進(jìn)行表征。當(dāng) PP 或 ST 中同時存在 ADV_TDS.3 基礎(chǔ)模塊設(shè)計(或以上)要求和 TSF 內(nèi)部(ADV_INT)要求時,TOE 設(shè)計(ADV_TDS)要求中的“模塊”與TSF 內(nèi)部 (ADV_INT) 要求中的“模塊”是同一實體。與子系統(tǒng)不同,模塊很詳細(xì)地描述了實現(xiàn),可以指導(dǎo)對實現(xiàn)表示的評估。需要注意的是,基于TOE產(chǎn)品形態(tài),模塊和子系統(tǒng)可能為同一抽象層。對于 ADV_TDS.1 基礎(chǔ)設(shè)計和 ADV_TDS.2 結(jié)構(gòu)化

45、設(shè)計(不需要在模塊級別進(jìn)行描述),子系統(tǒng)描述提供了關(guān)于 TSF 的最低級別細(xì)節(jié)。對于 ADV_TDS.3 基礎(chǔ)模塊化設(shè)計(需要模塊描述),這些描述提供最低級別細(xì)節(jié),而子系統(tǒng)描述的詳細(xì)程度應(yīng)考慮(如果它們作為單獨的實體存在)上下文中的模塊描述。也就是說,如果存在模塊描述,則無需提供詳細(xì)的子系統(tǒng)描述。在足夠簡單的 TOE 中,不需要單獨的“子系統(tǒng)描述”;可以通過模塊提供的文檔來滿足要求。對于復(fù)雜的 TOE,子系統(tǒng)描述(關(guān)于TSF的)的目的是為讀者提供上下文,以便他們可以適當(dāng)?shù)鼐劢顾麄兊姆治?。這種差異如圖 A.3所示。SFR-執(zhí)行模塊是實現(xiàn)ST中完全或部分實現(xiàn)一個SFR的模塊。此類模塊可能會實現(xiàn) S

46、FR-執(zhí)行TSFI,但 SFR 中陳述的某些功能(例如,審計和客體重用功能)可能不會直接綁定到這一單個TSFI。與子系統(tǒng)的情況一樣,SFR-支撐模塊是SFR-執(zhí)行模塊所依賴的模塊,但不直接負(fù)責(zé)實現(xiàn)SFR。SFR-無關(guān)模塊是不直接或間接地處理SFR實現(xiàn)的那些模塊。需要注意的是,對“直接實現(xiàn)”的含義的確定有一定的主觀性。從狹義上來講,“直接實現(xiàn)”可以解釋為通過執(zhí)行類似“比較”、“歸零操作”等的一兩行代碼以實現(xiàn)某安全要求。從廣義上來講,它包括響應(yīng)SFR-執(zhí)行類TSFI所調(diào)用的模塊,以及該模塊可能依次調(diào)用的其他模塊(依此類推,直到調(diào)用完成)。這兩種解釋都不是特別令人滿意,因為第一種解釋的狹隘性可能導(dǎo)致

47、重要的模塊被錯誤地歸類為SFR-支撐模塊,而第二種解釋則可能導(dǎo)致實際上并非SFR-執(zhí)行的模塊被歸類為SFR-執(zhí)行。模塊的描述應(yīng)該可以根據(jù)模塊描述創(chuàng)建其實現(xiàn),且產(chǎn)生的實現(xiàn)將:1)在呈現(xiàn)的接口方面與實際的TSF實現(xiàn)相同,2)接口的使用與設(shè)計中提及的相同,3)功能與TSF模塊目的所描述的信息保持一致。例如,RFC793提供 TCP 協(xié)議的高層次描述。它必須是獨立實現(xiàn)的。雖然它提供大量細(xì)節(jié),但它不是一個合適的設(shè)計描述,因為它在實現(xiàn)方面不是具體的。在實際實現(xiàn)中,可以向 RFC 中規(guī)定的協(xié)議中添加內(nèi)容,且實現(xiàn)中的選擇(例如,在實現(xiàn)的各個部分中使用全局?jǐn)?shù)據(jù)與本地數(shù)據(jù))可能對執(zhí)行的分析產(chǎn)生影響。TCP 模塊的

48、設(shè)計描述會列出實現(xiàn)相關(guān)的接口(而不僅是RFC793中定義的接口),以及處理與實現(xiàn) TCP 模塊相關(guān)的算法描述(假設(shè)它是 TSF 的一部分)。在設(shè)計中,模塊的詳細(xì)描述包括:提供的功能(目的)、呈現(xiàn)的接口(當(dāng)標(biāo)準(zhǔn)要求時)、接口的返回值、調(diào)用的其他模塊接口(以及其他模塊調(diào)用的本模塊的接口),以及描述它們?nèi)绾问褂眠m合于實現(xiàn)模塊的技術(shù)方法來提供其功能。模塊的目的宜說明該模塊提供什么功能。描述宜足以讓讀者大致了解模塊在架構(gòu)中的功能。模塊提供的接口是其他模塊用來調(diào)用所提供的功能的那些接口。接口包括顯式接口(例如其他模塊調(diào)用的調(diào)用序列)和隱式接口(例如模塊操作的全局?jǐn)?shù)據(jù))。接口通過其調(diào)用方式和返回值來進(jìn)行描述

49、。接口描述應(yīng)包括參數(shù)列表及對這些參數(shù)的描述。如果一個參數(shù)被要求從一組值中取值(例如,“flag”參數(shù)),則要描述該參數(shù)會影響模塊處理的取值的全集。同樣,描述數(shù)據(jù)結(jié)構(gòu)的參數(shù),要標(biāo)識和描述數(shù)據(jù)結(jié)構(gòu)的每個字段。對全局?jǐn)?shù)據(jù)的描述信息要確??衫斫馄淠康?。全局?jǐn)?shù)據(jù)結(jié)構(gòu)所需的描述等級需要與模塊接口的描述水平相同,其中輸入?yún)?shù)和返回值對應(yīng)于數(shù)據(jù)結(jié)構(gòu)中的各個字段及其可能的值。全局?jǐn)?shù)據(jù)結(jié)構(gòu)可與操作或讀取它們的模塊分開描述,只要模塊的設(shè)計中包含關(guān)于全局?jǐn)?shù)據(jù)結(jié)構(gòu)更新的足夠信息或從全局?jǐn)?shù)據(jù)結(jié)構(gòu)中提取的信息即可。請注意,不同的編程語言可有額外不明顯的“接口”;例如 C+中的重載運(yùn)算符/函數(shù),這種“隱式接口”也將作為模塊設(shè)

50、計的一部分描述。請注意,盡管一個模塊可僅呈現(xiàn)一個接口,但更常見的情況是一個模塊呈現(xiàn)一小組相關(guān)接口。當(dāng)需要描述一個模塊所使用的接口時,必須在模塊的設(shè)計描述或被調(diào)用模塊的目的中明確此類接口,以及期望從被調(diào)用模塊中得到什么服務(wù)。例如,如果模塊 A 被描述,并且它使用模塊 B 的冒泡排序程序,那么模塊之間交互的描述必須說明為什么調(diào)用模塊 B 的冒泡排序程序以及這個調(diào)用對SFR的實現(xiàn)有什么貢獻(xiàn)。模塊B 的冒泡排序程序接口和目的必須作為模塊 B接口的一部分進(jìn)行描述(提供ADV_TDS的級別和模塊B的分類需要一個對它的接口的描述),基于此,模塊 A 只需要識別需要使用此程序進(jìn)行排序的數(shù)據(jù)。一個適當(dāng)?shù)拿枋鍪牵?/p>

51、“模塊 A 調(diào)用模塊 B 的接口double_bubble()按字母順序?qū)τ脩裘M(jìn)行排序”。請注意,如果用戶名的這種排序?qū)τ趫?zhí)行任何 SFR 并不重要(例如,它只是為了提升性能,并且模塊 A 的算法實現(xiàn)也可以避免對用戶名進(jìn)行排序),使用模塊B 的冒泡排序程序不是SFR-執(zhí)行,在模塊 A 的描述中充分解釋用戶名按字母順序排序是為了提升性能即可。模塊 B 可僅被歸類為“SFR-支撐”,選擇的 ADV_TDS 級別會明確是否需要描述 SFR-支撐模塊的接口,或僅描述模塊 B 的目的即可。如前所述,模塊的算法描述應(yīng)該以算法的方式描述模塊的實現(xiàn)。這可以在偽代碼中完成,通過流程圖,或(在ADV_TDS.3

52、基礎(chǔ)模塊設(shè)計)非正式文本。它討論了如何使用模塊的輸入和調(diào)用的函數(shù)來完成模塊的功能。它記錄了模塊產(chǎn)生的全局?jǐn)?shù)據(jù)、系統(tǒng)狀態(tài)以及返回值的變化?;谶@些細(xì)節(jié)層面的描述,可以得出一個與TOE實際實現(xiàn)非常相似的實現(xiàn)。需要注意的是,源代碼不符合模塊文檔要求。雖然模塊設(shè)計描述了實現(xiàn),但它并不是真正的實現(xiàn)。如果源代碼中的注釋對源代碼含義進(jìn)行了解釋,那么這些注釋可能是足夠的文檔說明。僅僅說明每行代碼是做什么的行內(nèi)注釋是無用的,因為它們沒有解釋該模塊旨在完成什么。在下面的元素中,為子系統(tǒng)和模塊討論的標(biāo)簽(SFR-執(zhí)行、SFR-支撐和SFR-無關(guān))用于描述開發(fā)者需要提供的信息的數(shù)量和類型。這些元素已被結(jié)構(gòu)化了,因此不

53、要期望開發(fā)者僅提供特定的信息,也就是說,如果開發(fā)者的 TSF 文檔提供了以下要求中的信息,則開發(fā)者不會更新他們的文檔并將子系統(tǒng)和模塊標(biāo)記為 SFR-執(zhí)行、SFR-支撐、SFR-無關(guān)。這種標(biāo)記的主要目的是允許使用不太成熟開發(fā)方法(以及相關(guān)構(gòu)件如詳細(xì)的接口和設(shè)計文檔)的開發(fā)者在不產(chǎn)生不必要成本的情況下提供必要的證據(jù)。分級方法由于確定什么是SFR-執(zhí)行與SFR-支撐(以及在某些情況下,甚至確定什么是SFR-無關(guān))帶有主觀性,在本族中采用下面的范例。在本族的早期組件中,開發(fā)者提供適當(dāng)?shù)男畔⒁哉f明子系統(tǒng)分類為SFR-執(zhí)行等,并且很少有額外的證據(jù)提供給評估者用于檢查這種分類的正確性。隨著所需保障級別的增加

54、,在開發(fā)者確定分類的同時,評估者也獲得了越來越多的證據(jù)用于確認(rèn)開發(fā)者的分類。為了將評估者的分析集中在 TOE中與SFR相關(guān)的部分,尤其是在較低保障級別中,對族的組件進(jìn)行了分級,以便最初只需要對 SFR-執(zhí)行架構(gòu)實體進(jìn)行最詳細(xì)的描述。隨著保障級別增加,SFR-支撐和(最終)SFR-無關(guān)的實體也需要提供更多的信息。應(yīng)該注意的是,即使需要完整的信息,也不要求對所有這些信息進(jìn)行相同程度的詳細(xì)分析。在所有情況下,重點應(yīng)放在是否已提供和分析了必要的信息。表 A.1總結(jié)了本族每個組件所需的用于描述結(jié)構(gòu)實體的信息。分級詳細(xì)描述TSF 子系統(tǒng)TSF 模塊SFR-執(zhí)行SFR -支撐SFR 無關(guān)SFR -執(zhí)行SFR

55、 -支撐SFR 無關(guān)ADV_TDS.1 基礎(chǔ)設(shè)計(非形式化陳述)結(jié)構(gòu)、SFR-執(zhí)行行為概述、交互指定支撐指定支撐ADV_TDS.2 結(jié)構(gòu)化設(shè)計(非形式化陳述)結(jié)構(gòu)、SFR-執(zhí)行行為詳細(xì)描述、。行為、其他行為的概述、交互結(jié)構(gòu)、其他行為的概述、交互指定支撐、交互ADV_TDS.3 基礎(chǔ)模塊設(shè)計(非形式化陳述)描述、交互描述、交互描述、交互目的、SFR接口b交互、目的交互、目的ADV_TDS.4 半形式化模塊設(shè)計(半形式化陳述)描述、交互描述、交互描述、交互目的、SFR 接口目的、SFR 接口交互、目的ADV_TDS.5 完全半形式化模塊設(shè)計(半形式化陳述)描述、交互描述、交互描述、交互目的、所有接

56、口c目的、所有接口目的、所有接口ADV_TDS.6 帶形式化高層設(shè)計表示的完全半形式化模塊設(shè)計(半形式化陳述、附加的形式化陳述)描述、交互描述、交互描述、交互目的、所有接口目的、所有接口目的、所有接口a指定支撐意味著只需要提供足以支持子系統(tǒng)/模塊分類的文檔。b SFR 接口意味著模塊描述包含每個SFR-相關(guān)接口的返回值和調(diào)用的其他模塊的接口。c所有接口意味著模塊描述包含每個接口的返回值和調(diào)用的其他模塊的接口。安全相關(guān)性GB/T 18336系列將描述、證據(jù)和分析集中在TOE的安全功能上。這需要對 TOE 的功能和物理部分的安全相關(guān)性進(jìn)行表征。接口、子系統(tǒng)和模塊可(隱式或顯式)分類為“SFR-執(zhí)行

57、”、“SFR-支撐”或“SFR-無關(guān)”。開發(fā)者的證據(jù)和評估分析均與 TOE 相關(guān),并側(cè)重于 TSF 及其 SFR-執(zhí)行和 SFR-支撐的實現(xiàn)。安全架構(gòu)描述應(yīng)證實已識別的 TOE 的非-TSF 子系統(tǒng)無法旁路 TSF,并且 TSF自保護(hù)機(jī)制可免受非-TSF 代碼或?qū)嶓w的破壞。開發(fā)者應(yīng)在 TOE 設(shè)計中描述SFR-無關(guān)的接口、子系統(tǒng)和模塊,并證實它們不會因為其目的、交互或資源分離而干擾TSF。接口、子系統(tǒng)或模塊可劃分為SFR-執(zhí)行,如果它直接實現(xiàn)某個SFR。SFR-支撐,如果SFR的正常功能實現(xiàn)依賴于它的功能的正確運(yùn)行。SFR-無關(guān),如果它與SFR的實現(xiàn)無關(guān)。對安全執(zhí)行和安全支撐功能的關(guān)注點是需要

58、證明其他功能為SFR-無關(guān)的。即使是正確實現(xiàn)的安全執(zhí)行功能和安全機(jī)制也可能被旁路、規(guī)避、停用、破壞或直接攻擊。無干擾意味著TSF不能被濫用,并且阻止其(或不可能)對TSF實現(xiàn)的資源進(jìn)行未授權(quán)訪問。因此,如果對安全相關(guān)的接口、子系統(tǒng)和模塊進(jìn)行了分類,并且此分類用于脆弱性分析中時,那么TOE的安全架構(gòu)具備不可旁路和自保護(hù)機(jī)制是至關(guān)重要的。TSF自保護(hù)是安全架構(gòu)屬性,由此TSF不會被非TSF代碼或?qū)嶓w破壞。這包括TOE的非-TSF子系統(tǒng)和IT產(chǎn)品的非TOE部分。它類似于SFR-無關(guān)子系統(tǒng)/模塊的證據(jù)。安全域是由TSF提供的,供不可信實體使用的環(huán)境,其實現(xiàn)方式是將這些環(huán)境相互隔離并相互保護(hù)。因此,評估

59、期間對無關(guān)的分析需要檢查TOE (ADV_ARC)的安全架構(gòu),并且可能需要更多關(guān)于非TSF子系統(tǒng)的信息,而不僅僅是停留在為ADV_TDS.x.1所提供的TOE子系統(tǒng)層面的信息。開發(fā)者應(yīng)提供邏輯依據(jù)以說明TSF的定義是正確的,并從SFR-無關(guān)模塊的目的和與其他模塊的交互方面進(jìn)行分析。目的:模塊如何提供其功能,不需要進(jìn)一步的設(shè)計決策。交互:子系統(tǒng)或模塊進(jìn)行通信的原因,并表征所傳遞的信息(無需描述到接口層面)。在評估期間,應(yīng)將無關(guān)類的分析作為功能規(guī)范和TOE設(shè)計檢查以及脆弱性分析的一部分。將接口、子系統(tǒng)和模塊分類為SFR-執(zhí)行、SFR-支撐、SFR-無關(guān)意味著需要對功能規(guī)范、設(shè)計和測試進(jìn)行具體檢查。

60、將TSFI解釋為所有可訪問TSF的外部接口將有助于此分析。所有TSF子系統(tǒng)(從 ATE_DPT.1 開始)和所有TSF模塊(ATE_DPT.3 及更高級別)的功能測試宜為其分類的正確性提供證據(jù)。形式化方法補(bǔ)充材料形式化方法提供了 TSF 及其行為的數(shù)學(xué)表示,并且是 ADV_SPM.1(形式化TOE安全策略模型)、ADV_FSP.6(附加形式化描述的完備的半形式化功能規(guī)范)和 ADV_TDS.6(帶形式化高層設(shè)計表示的完全半形式化模塊設(shè)計)組件中所要求的。在GB/T 30270:20XX,附錄C評估技術(shù)和工具中,提供了關(guān)于形式化方法的補(bǔ)充材料。圖 A.4說明了 ADV_SPM.1 中規(guī)定的 SP

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論