可容忍代碼錯(cuò)誤的專用計(jì)算機(jī)系統(tǒng)模型_第1頁(yè)
可容忍代碼錯(cuò)誤的專用計(jì)算機(jī)系統(tǒng)模型_第2頁(yè)
可容忍代碼錯(cuò)誤的專用計(jì)算機(jī)系統(tǒng)模型_第3頁(yè)
可容忍代碼錯(cuò)誤的專用計(jì)算機(jī)系統(tǒng)模型_第4頁(yè)
可容忍代碼錯(cuò)誤的專用計(jì)算機(jī)系統(tǒng)模型_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、可容忍代碼錯(cuò)誤的專用計(jì)算機(jī)系統(tǒng)模型    論文摘要:提出一種新的計(jì)算機(jī)體系結(jié)構(gòu)模型超內(nèi)核系統(tǒng)模型,使專用系統(tǒng)可以容忍代碼錯(cuò)誤,提高可生存性。并且實(shí)現(xiàn)了一個(gè)超內(nèi)核系統(tǒng)開發(fā)平臺(tái),完成了網(wǎng)絡(luò)防火墻原型系統(tǒng)。該網(wǎng)絡(luò)防火墻原型系統(tǒng)在同樣的硬件平臺(tái)上比優(yōu)化的Linux防火墻包轉(zhuǎn)發(fā)延時(shí)少大約20。論文關(guān)鍵詞:計(jì)算機(jī)系統(tǒng)模型,容錯(cuò)機(jī)制,超內(nèi)核1.概述專用計(jì)算機(jī)系統(tǒng)是指針對(duì)具體應(yīng)用開發(fā)的、完成某一專門任務(wù)的計(jì)算機(jī)系統(tǒng),其運(yùn)行的程序是固定的,通常也不需要在運(yùn)行中增加新的程序。在很多領(lǐng)域都需要使用專用計(jì)算機(jī)系統(tǒng),比如網(wǎng)絡(luò)安全設(shè)備、工業(yè)自動(dòng)化領(lǐng)域監(jiān)測(cè)、控制用計(jì)算機(jī)系統(tǒng)等。專用計(jì)

2、算機(jī)系統(tǒng)雖然對(duì)通用性和靈活性要求低于通用計(jì)算機(jī)系統(tǒng),但是對(duì)于可生存性和安全性的要求比較高。這是因?yàn)椋紫葘S糜?jì)算機(jī)系統(tǒng)經(jīng)常處于無人看守的狀態(tài),比如工業(yè)自動(dòng)化領(lǐng)域中的自動(dòng)監(jiān)控系統(tǒng),這就要求它有一定的錯(cuò)誤容忍能力,在某些程序或者某個(gè)硬件出現(xiàn)問題的情況下,要能夠保證整個(gè)系統(tǒng)還可以運(yùn)轉(zhuǎn),不會(huì)徹底無法工作而造成監(jiān)控完全失效;其次,專用計(jì)算機(jī)系統(tǒng)通常在整個(gè)應(yīng)用環(huán)境中起到至關(guān)重要的作用,例如網(wǎng)絡(luò)安全設(shè)備用于維護(hù)和保證網(wǎng)絡(luò)系統(tǒng)安全,通常處在整個(gè)計(jì)算機(jī)和網(wǎng)絡(luò)系統(tǒng)中特殊位置,各種各樣的網(wǎng)絡(luò)數(shù)據(jù)都會(huì)首先到達(dá)網(wǎng)絡(luò)安全設(shè)備,它本身可能是受攻擊最多的地方。設(shè)備本身的抗攻擊能力是網(wǎng)絡(luò)安全設(shè)備的一項(xiàng)重要性能。如果自身安全性得

3、不到保證,網(wǎng)絡(luò)安全系統(tǒng)設(shè)備就無法保證被保護(hù)的網(wǎng)絡(luò)和系統(tǒng)的安全。目前,專用計(jì)算機(jī)系統(tǒng)通常采用微內(nèi)核結(jié)構(gòu)的通用嵌入式操作系統(tǒng)。現(xiàn)有的各種嵌入式操作系統(tǒng)并不是專門為專用系統(tǒng)設(shè)計(jì)的,其安全機(jī)制和對(duì)錯(cuò)誤的容忍性不能很好地滿足專用系統(tǒng)的需要。通用的嵌入式操作系統(tǒng)為分層的體系結(jié)構(gòu),下層為上層提供服務(wù),上層通過接口對(duì)下層進(jìn)行功能調(diào)用。比如,許多采用Linux的防火墻都具有“硬件資源一內(nèi)核一操作系統(tǒng)一安全應(yīng)用”的4層結(jié)構(gòu)。由于層與層之間有依賴關(guān)系,層與層之間的安全性能就會(huì)互相影響,應(yīng)用之間也難以實(shí)現(xiàn)徹底隔離。只有對(duì)系統(tǒng)進(jìn)行錯(cuò)誤容忍的設(shè)計(jì),為系統(tǒng)提供內(nèi)置的保護(hù),才能使系統(tǒng)具有較強(qiáng)的可生存能力,提供持續(xù)服務(wù)。本文針

4、對(duì)現(xiàn)有操作系統(tǒng)在實(shí)現(xiàn)專用系統(tǒng)安全功能和維護(hù)自身安全上存在的問題,提出了一種新的面向?qū)S孟到y(tǒng)的體系結(jié)構(gòu)模型:超內(nèi)核系統(tǒng)模型。超內(nèi)核系統(tǒng)模型針對(duì)專用系統(tǒng)功能單一,固定,對(duì)可生存性和安全性要求比較高的特點(diǎn),實(shí)現(xiàn)了面向數(shù)據(jù)的系統(tǒng)結(jié)構(gòu)和運(yùn)行代碼錯(cuò)誤容忍機(jī)制,通過對(duì)應(yīng)用子系統(tǒng)進(jìn)行監(jiān)控以及對(duì)應(yīng)用子系統(tǒng)之間進(jìn)行隔離和通信控制,避免系統(tǒng)因?yàn)槟硞€(gè)應(yīng)用程序的錯(cuò)誤就引起崩潰,防止系統(tǒng)長(zhǎng)時(shí)間處于拒絕服務(wù)狀態(tài),尤其適合應(yīng)用在對(duì)安全性要求高的專用系統(tǒng),比如網(wǎng)絡(luò)防火墻、路由器等。同時(shí),通過實(shí)驗(yàn)證明,在同一個(gè)硬件平臺(tái)上,基于超內(nèi)核的網(wǎng)絡(luò)防火墻性能要優(yōu)于linux2.4內(nèi)核自帶iptables防火墻。第2節(jié)介紹現(xiàn)有通用操作系統(tǒng)的

5、結(jié)構(gòu)和現(xiàn)有系統(tǒng)的錯(cuò)誤容忍機(jī)制;第3節(jié)描述超內(nèi)核模型;第4節(jié)介紹基于超內(nèi)核模型實(shí)現(xiàn)的網(wǎng)絡(luò)防火墻原型系統(tǒng)以及性能測(cè)試;最后總結(jié)全文。2.相關(guān)工作情況2.1微內(nèi)核結(jié)構(gòu)的專用系統(tǒng)模型目前,專用計(jì)算機(jī)系統(tǒng)一般采用通用的嵌入式操作系統(tǒng)。比較經(jīng)常使用在專用系統(tǒng)中的嵌入式操作系統(tǒng)有WindowsCE、VxWorks、QNX¨1、pSOS怛1、LynxOS¨等,這些操作系統(tǒng)的內(nèi)核模型都是微內(nèi)核結(jié)構(gòu)。微內(nèi)核H1是20世紀(jì)80年代產(chǎn)生的,由Richard Rashid在卡內(nèi)基梅隆大學(xué)開發(fā)Mach操作系統(tǒng)時(shí)提出的。微內(nèi)核結(jié)構(gòu)由一個(gè)非常簡(jiǎn)單的硬件抽象層和一組比較關(guān)鍵的原語(yǔ)或系統(tǒng)調(diào)用組成,這些原語(yǔ)僅僅

6、包括了建立一個(gè)系統(tǒng)必需的幾個(gè)部分,如線程管理,地址空間和進(jìn)程間通信等,把其他功能(如:文件管理等)移出內(nèi)核,在用戶空間控制和管理。然而,基于微內(nèi)核的專用系統(tǒng)的體系結(jié)構(gòu)同普通的計(jì)算機(jī)設(shè)備的設(shè)計(jì)一致,采用的是“硬件資源一操作系統(tǒng)一應(yīng)用”的層次結(jié)構(gòu)。通用操作系統(tǒng)的體系結(jié)構(gòu)及其安全機(jī)制適用于很多應(yīng)用,但是,它們并不是專門為專用系統(tǒng)設(shè)計(jì)和建立的,針對(duì)專用系統(tǒng)的要求還存在以下幾個(gè)方面的問題。(1)現(xiàn)有系統(tǒng)架構(gòu)帶來的安全問題使用通用操作系統(tǒng)的專用系統(tǒng)都必須接受現(xiàn)有的操作系統(tǒng)的體系結(jié)構(gòu)。比如,許多采用Linux的防火墻都具有“硬件資源一內(nèi)核一操作系統(tǒng)一安全應(yīng)用”的4層結(jié)構(gòu)。由于層與層之問有依賴關(guān)系,層與層之間

7、的安全性能就會(huì)互相影響。比如,不安全的內(nèi)核可能會(huì)導(dǎo)致操作系統(tǒng)的不安全。在這種結(jié)構(gòu)中,只要任何一個(gè)層面出現(xiàn)安全問題,整個(gè)安全系統(tǒng)就可能會(huì)崩潰。由于硬件、內(nèi)核、操作系統(tǒng)和安全應(yīng)用各層是由不同的廠家開發(fā)研制的,安全的不一致性非常明顯。比如,上層應(yīng)用很安全,但操作系統(tǒng)卻漏洞百出。現(xiàn)有的分層結(jié)構(gòu)使得應(yīng)用之間的隔離不徹底。這種不徹底也會(huì)導(dǎo)致安全問題。網(wǎng)絡(luò)安全設(shè)備可能會(huì)針對(duì)不同的網(wǎng)絡(luò)或協(xié)議運(yùn)行多個(gè)不同的安全應(yīng)用。當(dāng)多個(gè)應(yīng)用共同運(yùn)行在操作系統(tǒng)之上時(shí),某一應(yīng)用的漏洞會(huì)導(dǎo)致攻擊者獲得操作系統(tǒng)權(quán)限或者影響操作系統(tǒng)功能,進(jìn)而影響到其他的所有應(yīng)用,這種攻擊就會(huì)很快擴(kuò)散至整個(gè)系統(tǒng)。例如Apache的漏洞導(dǎo)致攻擊者可以獲得

8、操作系統(tǒng)權(quán)限,輕易地影響到系統(tǒng)中其他應(yīng)用.基于微內(nèi)核的設(shè)計(jì)在一定程度上解決了這一問題。微內(nèi)核將操作系統(tǒng)分為多個(gè)相對(duì)獨(dú)立的部分,相互之間進(jìn)行一定的隔離,在一定程度上可以減少攻擊影響的擴(kuò)散。但系統(tǒng)中由服務(wù)到應(yīng)用,由應(yīng)用到設(shè)備,由服務(wù)到設(shè)備等之間有大量的消息需要通過內(nèi)核傳送,內(nèi)核很難對(duì)這樣大量的消息進(jìn)行監(jiān)控,也就沒有能力保證應(yīng)用之間的相互影響了。(2)通用操作系統(tǒng)導(dǎo)致安全問題由于通用操作系統(tǒng)的功能比較全面,代碼量較大,從工程上無法保證其中沒有安全漏洞。Kaspersky實(shí)驗(yàn)室的專家在一篇報(bào)告陸1中提到,經(jīng)常用于嵌入式系統(tǒng)的Windows CE的安全漏洞能夠被應(yīng)用程序利用來獲取操作系統(tǒng)函數(shù)的訪問權(quán)限,

9、從而攻擊者可以進(jìn)行接收和發(fā)送文件等操作;另外,根據(jù)Coverity的檢查,Linux 2.6.9內(nèi)核代碼也存在多個(gè)Bug。現(xiàn)有系統(tǒng)安全模型建立在可信計(jì)算基(TCB)的理念上,認(rèn)為只有軟件如特權(quán)管理服務(wù)和內(nèi)核才能提供安全的服務(wù)。事實(shí)上,操作系統(tǒng)和支撐系統(tǒng)的軟件難以為應(yīng)用軟件提供安全保障機(jī)制,它們本身就存在安全漏洞和設(shè)計(jì)隱患。有的黑客的攻擊就是面對(duì)設(shè)備本身的,比如網(wǎng)絡(luò)安全設(shè)備。他們利用安全設(shè)備本身的脆弱性,安全設(shè)備所使用的操作系統(tǒng)的安全漏洞以及安全機(jī)制的缺陷,繞過了現(xiàn)有的防護(hù)機(jī)制。2.2外內(nèi)核結(jié)構(gòu)由于傳統(tǒng)內(nèi)核實(shí)現(xiàn)的功能比較復(fù)雜。不可避免的漏洞為系統(tǒng)帶來很多安全隱患,于是外內(nèi)核被開發(fā)出來。外內(nèi)核的目

10、標(biāo)是允許應(yīng)用層做所有的決定,并且讓應(yīng)用程序靈活地訪問硬件。19941995年外內(nèi)核由MIT開發(fā)出來,它不為應(yīng)用程序提供抽象。外內(nèi)核的目標(biāo)是直接導(dǎo)出硬件資源,它唯一的任務(wù)是保證資源被安全地復(fù)用。然而。外內(nèi)核并非可以如其所愿的那樣安全、高效地導(dǎo)出硬件資源。外內(nèi)核把導(dǎo)出的硬件資源和相應(yīng)的應(yīng)用程序進(jìn)行安全綁定,安全綁定的硬件機(jī)制需要適當(dāng)硬件的支持,所以實(shí)現(xiàn)起來有很大的局限性。安全綁定也可以通過軟件實(shí)現(xiàn),一些應(yīng)用層代碼能夠被下載到內(nèi)核中歸J.然而,這會(huì)導(dǎo)致錯(cuò)誤不能隔離的問題。另外,為了提高靈活性,外內(nèi)核把硬件資源劃分為很多部分,這就使得綁定、回收和放棄資源的管理很復(fù)雜,外內(nèi)核中需要設(shè)定大量的機(jī)制來判斷每

11、部分資源該如何分配、如何回收等等,還要通過判斷不同應(yīng)用的重要性來幫助決定資源如何分配。2.3錯(cuò)誤容忍機(jī)制針對(duì)系統(tǒng)的錯(cuò)誤容忍問題,國(guó)內(nèi)外已經(jīng)有一些相關(guān)研究。Michael M.等提出的Nooks方案¨刨是一種不改變系統(tǒng)結(jié)構(gòu)情況下的增強(qiáng)措施,它在已有的操作系統(tǒng)中安裝一個(gè)子系統(tǒng)用于隔離驅(qū)動(dòng)程序和內(nèi)核,Nooks把每個(gè)驅(qū)動(dòng)程序構(gòu)建為一個(gè)保護(hù)域(protection domain),并且監(jiān)控每個(gè)保護(hù)域和內(nèi)核之間的交互。對(duì)于異常的驅(qū)動(dòng),Nooks對(duì)其進(jìn)行自動(dòng)恢復(fù)。QNX software的Paul N.等人提出進(jìn)程組劃分的方法¨¨,進(jìn)程被劃分人不同組,CPU時(shí)間片按照比例分給

12、不同的組,某個(gè)組內(nèi)的進(jìn)程只能在給定的時(shí)間片內(nèi)運(yùn)行,這樣使得一個(gè)組中的進(jìn)程遭受DOS攻擊時(shí),不至于耗盡整個(gè)系統(tǒng)資源。微軟2005年底發(fā)布的Singularity嵌入式操作系統(tǒng)¨定義了“獨(dú)立軟件進(jìn)程(SIPs)”的概念,它有一個(gè)前提iSingularity的核心代碼全部是安全代碼,并且其他部分代碼也都是可驗(yàn)證的。各部分代碼(設(shè)備驅(qū)動(dòng)、系統(tǒng)進(jìn)程或應(yīng)用程序)被邏輯隔離在不同的SIPs中執(zhí)行,SIP之間的邊界通過對(duì)代碼進(jìn)行語(yǔ)言安全檢查和強(qiáng)制靜態(tài)檢查來建立。如果對(duì)某個(gè)SIP中的代碼驗(yàn)證失敗,則內(nèi)核會(huì)終止這個(gè)SIP并回收資源。上述這些改進(jìn)措施本質(zhì)上仍然是邏輯隔離。Nooks能夠在一個(gè)驅(qū)動(dòng)失效的情況

13、下對(duì)它復(fù)位,但這不能阻止此驅(qū)動(dòng)的錯(cuò)誤影響到系統(tǒng)其他部分,所以仍未明顯改善可生存性問題;QNX方案對(duì)于防范DOS攻擊有顯著效果,但同樣不能阻止一個(gè)應(yīng)用的錯(cuò)誤導(dǎo)致全盤失效,因?yàn)橄到y(tǒng)中的資源和設(shè)備仍對(duì)所有應(yīng)用可見;Singularity操作系統(tǒng)則對(duì)代碼提出了很高的要求,例如內(nèi)核代碼絕對(duì)安全、其他代碼可驗(yàn)證等,這在相當(dāng)程度上依賴于代碼的質(zhì)量,而非系統(tǒng)提供的隔離措施。綜上所述,現(xiàn)有的通用計(jì)算機(jī)體系結(jié)構(gòu)和容錯(cuò)機(jī)制,不適用于專用計(jì)算機(jī)系統(tǒng)安全性和可生存性的要求。通用的計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)由內(nèi)核管理和調(diào)配硬件資源,為上層應(yīng)用提供統(tǒng)一接121,這有利于多個(gè)應(yīng)用程序方便和靈活地操作硬件,但是內(nèi)核的漏洞有可能被惡意的程序

14、利用造成整個(gè)系統(tǒng)的崩潰。3.容忍代碼錯(cuò)誤的計(jì)算機(jī)系統(tǒng)模型針對(duì)現(xiàn)有計(jì)算機(jī)系統(tǒng)中存在的問題,一種方法是頻繁地為已知漏洞打補(bǔ)丁;另一種是根據(jù)安全需求重新設(shè)計(jì)系統(tǒng)。前一種方法需要在攻擊成功,漏洞被成功檢測(cè)到后才能進(jìn)行修補(bǔ),并且不能解決體系結(jié)構(gòu)的缺陷帶來的問題。本文考慮采用后一種方法,即系統(tǒng)整體結(jié)構(gòu)通過重新設(shè)計(jì)和構(gòu)建,安全系統(tǒng)平臺(tái)和它所需完成的功能結(jié)合成一個(gè)整體,為計(jì)算機(jī)系統(tǒng)提供較為完整的安全性,并提高自身系統(tǒng)的可生存能力。3.1超內(nèi)核系統(tǒng)結(jié)構(gòu)基于超內(nèi)核的計(jì)算機(jī)系統(tǒng)由可以獨(dú)立完成一定功能的應(yīng)用子系統(tǒng)與一個(gè)很小的超內(nèi)核構(gòu)成。如圖1所示,應(yīng)用子系統(tǒng)由應(yīng)用程序以及該應(yīng)用程序需要訪問的服務(wù)程序鏈接而成,可以獨(dú)立

15、地完成一定功能。比如網(wǎng)絡(luò)防火墻系統(tǒng)中,數(shù)據(jù)包過濾程序和網(wǎng)卡驅(qū)動(dòng)程序鏈接為數(shù)據(jù)包過濾子系統(tǒng)。另外,根據(jù)功能和需要,應(yīng)用子系統(tǒng)被分配給相應(yīng)的硬件資源,每個(gè)子系統(tǒng)可以也只能控制和管理分配給它的硬件資源,并且占據(jù)獨(dú)立的內(nèi)存空聞。應(yīng)用子系統(tǒng)本身不對(duì)外提供接口,也不調(diào)用其他子系統(tǒng)的函數(shù),如果要與其他子系統(tǒng)進(jìn)行通信,必須通過超內(nèi)核的消息傳遞來實(shí)現(xiàn)。因?yàn)閷S孟到y(tǒng)和通用計(jì)算機(jī)系統(tǒng)不同,其功能比較單一和固定。因此,一些應(yīng)用程序只對(duì)特定的硬件訪問頻繁,而很少需要訪問其他硬件。所以,在超內(nèi)核系統(tǒng)中,應(yīng)用程序和需要頻繁訪問的硬件綁定在一起,獨(dú)立完成一定的功能。當(dāng)一個(gè)應(yīng)用子系統(tǒng)需要訪問其他子系統(tǒng)綁定的硬件時(shí),通過消息傳遞

16、與相應(yīng)的子系統(tǒng)進(jìn)行通信。由于應(yīng)用子系統(tǒng)只需要頻繁訪問自己綁定的硬件,各個(gè)子系統(tǒng)間只需要較少的通信。比如,網(wǎng)絡(luò)防火墻系統(tǒng)中,進(jìn)行數(shù)據(jù)包過濾的子系統(tǒng)只需要對(duì)網(wǎng)卡頻繁地訪問,這樣就可以把過濾子系統(tǒng)和網(wǎng)卡進(jìn)行綁定。子系統(tǒng)間通信次數(shù)減小,也有利于對(duì)整個(gè)系統(tǒng)進(jìn)行安全監(jiān)控,提高系統(tǒng)的安全性。超內(nèi)核只負(fù)責(zé)處理子系統(tǒng)間基于消息的通信,并且對(duì)各個(gè)子系統(tǒng)進(jìn)行調(diào)度。雖然在本系統(tǒng)中內(nèi)核依然是整個(gè)系統(tǒng)的核心,但是它不管理任何硬件和軟件資源,完成的功能也很簡(jiǎn)單,代碼量很小,易于維護(hù)。另外,每個(gè)應(yīng)用子系統(tǒng)運(yùn)行時(shí)分別占據(jù)隔離的內(nèi)存資源,當(dāng)一個(gè)子系統(tǒng)出錯(cuò)時(shí),錯(cuò)誤被限制在子系統(tǒng)內(nèi)部。3.2超內(nèi)核超內(nèi)核是整個(gè)系統(tǒng)的核心部分,負(fù)責(zé)處理

17、消息傳遞和各個(gè)應(yīng)用子系統(tǒng)的調(diào)度,不對(duì)硬件進(jìn)行監(jiān)管和訪問,功能簡(jiǎn)單并且代碼量很小,易于維護(hù)。超內(nèi)核的結(jié)構(gòu)如圖2所示。超內(nèi)核主要由以下幾部分構(gòu)成:·消息緩存隊(duì)列應(yīng)用子系統(tǒng)之間通過消息傳遞進(jìn)行通信,被發(fā)送的消息首先緩存在超內(nèi)核的這個(gè)隊(duì)列中,等待過濾檢查。·調(diào)度單元通過一定的調(diào)度機(jī)制來決定哪個(gè)子系統(tǒng)獲得CPU,進(jìn)行數(shù)據(jù)處理。可以根據(jù)應(yīng)用子系統(tǒng)待處理數(shù)據(jù)的多少來決定哪個(gè)子系統(tǒng)獲得CPU,比如待處理消息隊(duì)列長(zhǎng)的子系統(tǒng)優(yōu)先執(zhí)行;或者當(dāng)一個(gè)子系統(tǒng)對(duì)一個(gè)數(shù)據(jù)處理時(shí)間過長(zhǎng)時(shí),使其停止處理當(dāng)前數(shù)據(jù)而進(jìn)行下一個(gè)數(shù)據(jù)的處理。·消息傳遞單元對(duì)應(yīng)用子系統(tǒng)提供SEND MESSAGE和RECEI

18、VE MESSAGE系統(tǒng)調(diào)用,從源子系統(tǒng)接收消息,以及把消息發(fā)送到目的子系統(tǒng)。當(dāng)應(yīng)用子系統(tǒng)需要發(fā)送消息時(shí)調(diào)用SEND MESSAGE,消息從應(yīng)用子系統(tǒng)發(fā)送到超內(nèi)核的消息緩存隊(duì)列;當(dāng)應(yīng)用子系統(tǒng)接收消息時(shí)調(diào)用RECEIVE MESSAGE,從超內(nèi)核的消息接收隊(duì)列取走消息。·過濾單元緩存隊(duì)列中所有的消息在存儲(chǔ)到接收隊(duì)列之前都要進(jìn)行檢查。盡管每個(gè)應(yīng)用子系統(tǒng)都能相對(duì)獨(dú)立地完成一定功能,但是子系統(tǒng)間的消息交換也是必要的。超內(nèi)核為每個(gè)應(yīng)用子系統(tǒng)提供一個(gè)過濾單元,當(dāng)一個(gè)消息發(fā)送到超內(nèi)核之后,它必須經(jīng)過相應(yīng)過濾單元的驗(yàn)證。首先,過濾單元要檢查消息的格式以確保接收子系統(tǒng)能夠識(shí)別該消息;另外,過濾單元還執(zhí)

19、行一定的通信控制機(jī)制。根據(jù)專用系統(tǒng)的功能和實(shí)際需要,某些不可信的子系統(tǒng)禁止發(fā)送消息到安全性要求高的子系統(tǒng),比如用戶密碼管理子系統(tǒng)。另外,過濾單元還可以對(duì)相應(yīng)子系統(tǒng)的接收隊(duì)列進(jìn)行監(jiān)控,當(dāng)發(fā)現(xiàn)這個(gè)子系統(tǒng)的接收消息隊(duì)列溢出后,便可判斷該子系統(tǒng)未在正常的時(shí)間內(nèi)從接收隊(duì)列取走消息,從而判斷它出現(xiàn)異常。過濾單元進(jìn)而對(duì)出現(xiàn)異常的子系統(tǒng)進(jìn)行恢復(fù)。·消息接收隊(duì)列隊(duì)列由每個(gè)應(yīng)用子系統(tǒng)需要接收的消息構(gòu)成。緩存隊(duì)列中的消息經(jīng)過過濾單元檢查通過后就存到接收隊(duì)列中,應(yīng)用子系統(tǒng)從接收隊(duì)列取走發(fā)送給自己的消息。過濾單元監(jiān)測(cè)消息接收隊(duì)列中每個(gè)應(yīng)用子系統(tǒng)未處理的消息數(shù)目,如果在一定的時(shí)間參數(shù)內(nèi)某個(gè)應(yīng)用子系統(tǒng)未能從接收隊(duì)

20、列中取走消息,則超內(nèi)核就認(rèn)為該子系統(tǒng)出現(xiàn)異常,并且對(duì)它進(jìn)行恢復(fù)。超內(nèi)核是模型的核心,負(fù)責(zé)應(yīng)用子系統(tǒng)之間的調(diào)度和子系統(tǒng)間消息傳遞,它的錯(cuò)誤會(huì)造成系統(tǒng)無法運(yùn)行。但是,在超內(nèi)核模型中,超內(nèi)核完成的功能簡(jiǎn)單,僅僅是調(diào)度和消息傳遞,而不像傳統(tǒng)內(nèi)核那樣還要對(duì)硬件進(jìn)行監(jiān)管和訪問,所以超內(nèi)核的代碼量很小。以基于超內(nèi)核模型開發(fā)的防火墻原型系統(tǒng)為例,包括注釋和空行在內(nèi)的內(nèi)核程序總共870行C和c+以及匯編代碼。簡(jiǎn)單的功能和很小的代碼量可以使得超內(nèi)核程序容易做到?jīng)]有代碼漏洞,另外維護(hù)簡(jiǎn)單。因?yàn)槌瑑?nèi)核非常小,可以大大減少出錯(cuò)的可能性,所以也不容易造成整個(gè)系統(tǒng)的崩潰。3.3 容錯(cuò)設(shè)計(jì)系統(tǒng)不論在何種情況下出現(xiàn)錯(cuò)誤,都必須

21、滿足2個(gè)條件:一個(gè)是系統(tǒng)中必須含有有缺陷的代碼;另一個(gè)是系統(tǒng)中的這些代碼必須要處理惡意或非惡意地引起系統(tǒng)錯(cuò)誤的數(shù)據(jù)。任何一個(gè)條件不滿足都不至于引起系統(tǒng)出錯(cuò)。現(xiàn)在的計(jì)算機(jī)體系結(jié)構(gòu)中錯(cuò)誤是面向代碼的,即認(rèn)為系統(tǒng)中的錯(cuò)誤是由某些代碼設(shè)計(jì)缺陷或者編碼錯(cuò)誤引起的。而數(shù)據(jù)只作為某個(gè)代碼模塊的資源進(jìn)行處理,代碼出錯(cuò)是引起系統(tǒng)錯(cuò)誤的主動(dòng)因素,而數(shù)據(jù)在任何情況下都是被動(dòng)的。這樣的體系結(jié)構(gòu)帶來的處理方式是:人們不斷對(duì)代碼進(jìn)行修補(bǔ),對(duì)體系結(jié)構(gòu)進(jìn)行改進(jìn)甚至重新設(shè)計(jì)。在系統(tǒng)運(yùn)行時(shí),代碼引起不安全情況后,系統(tǒng)無法自動(dòng)處理。系統(tǒng)中的每一個(gè)進(jìn)程是獨(dú)立的單元,它處理的數(shù)據(jù)和操作系統(tǒng)無關(guān),進(jìn)程代碼正常或非正常地都有可能占據(jù)全部的

22、虛擬資源,而操作系統(tǒng)本身卻無法對(duì)這種情況進(jìn)行分辨和制約,這樣引起的后果往往是整個(gè)系統(tǒng)的崩潰。如果引起系統(tǒng)的錯(cuò)誤是面向數(shù)據(jù)的,就可以認(rèn)為系統(tǒng)中的代碼在運(yùn)行時(shí)是正確的,或者人們不關(guān)心代碼本身的對(duì)錯(cuò),認(rèn)為引起系統(tǒng)出錯(cuò)的原因是某個(gè)數(shù)據(jù)。這樣,系統(tǒng)開始運(yùn)行后,通過對(duì)系統(tǒng)中各個(gè)部分處理數(shù)據(jù)的情況進(jìn)行監(jiān)控和檢查,可以獲得系統(tǒng)運(yùn)行狀態(tài)的信息。系統(tǒng)某個(gè)模塊進(jìn)行數(shù)據(jù)處理時(shí),如果出現(xiàn)非正常現(xiàn)象,就拋棄該數(shù)據(jù)塊,該模塊回到初始的起點(diǎn)重新運(yùn)行。這樣可以保證系統(tǒng)不會(huì)出現(xiàn)崩潰現(xiàn)象,拋棄數(shù)據(jù)塊的結(jié)果是保持系統(tǒng)提供持續(xù)的服務(wù),最多引起性能的平穩(wěn)降級(jí)。超內(nèi)核系統(tǒng)的錯(cuò)誤容忍機(jī)制設(shè)計(jì)中,應(yīng)用子系統(tǒng)被看做是數(shù)據(jù)處理單元,接收并處理來自

23、系統(tǒng)外部或者其他子系統(tǒng)的數(shù)據(jù)。開發(fā)完成的超內(nèi)核系統(tǒng)不依賴于代碼的完全正確性,系統(tǒng)中的代碼即使有錯(cuò),也不會(huì)引起系統(tǒng)大范圍的性能降級(jí)或者系統(tǒng)崩潰,錯(cuò)誤會(huì)被制約在某一個(gè)單元內(nèi),整個(gè)系統(tǒng)的功能可以很快恢復(fù)。超內(nèi)核系統(tǒng)中基于數(shù)據(jù)的錯(cuò)誤容忍機(jī)制由2部分構(gòu)成。首先,超內(nèi)核通過監(jiān)控應(yīng)用子系統(tǒng)處理數(shù)據(jù)的情況對(duì)子系統(tǒng)進(jìn)行調(diào)度、異常判斷和恢復(fù),具體有以下3個(gè)方面:·調(diào)度超內(nèi)核負(fù)責(zé)監(jiān)控各應(yīng)用子系統(tǒng)的狀態(tài),根據(jù)數(shù)據(jù)流向調(diào)配和調(diào)度子系統(tǒng)的行為,包括運(yùn)行、等待、掛起等等,決定由哪個(gè)子系統(tǒng)獲得當(dāng)前CPU的運(yùn)行權(quán)。·異常判斷超內(nèi)核中保留所有應(yīng)用子系統(tǒng)運(yùn)行的起始點(diǎn)和間隔多長(zhǎng)時(shí)間對(duì)此子系統(tǒng)進(jìn)行狀態(tài)監(jiān)測(cè)的時(shí)間參數(shù)

24、,此參數(shù)由很多因素來確定,如系統(tǒng)策略、該子系統(tǒng)功能與性質(zhì)、正常處理數(shù)據(jù)的時(shí)間等等。當(dāng)某個(gè)應(yīng)用子系統(tǒng)經(jīng)過超內(nèi)核的調(diào)配和調(diào)度獲得CPU運(yùn)行權(quán)以后,超內(nèi)核還會(huì)保留此子系統(tǒng)的ID和當(dāng)時(shí)正在處理的數(shù)據(jù),并按照對(duì)它設(shè)定的時(shí)間參數(shù)進(jìn)行定時(shí)監(jiān)測(cè)。如果內(nèi)核發(fā)現(xiàn)某一個(gè)子系統(tǒng)在時(shí)間參數(shù)所定的范圍內(nèi),沒有對(duì)輸入的數(shù)據(jù)做足夠的處理,得到正常的結(jié)果,就認(rèn)為它處于非正常狀態(tài)。·恢復(fù)超內(nèi)核復(fù)位處于非正常狀態(tài)的子系統(tǒng),使其重新處理下一數(shù)據(jù)。超內(nèi)核系統(tǒng)錯(cuò)誤容忍機(jī)制的另一方面是,應(yīng)用子系統(tǒng)的錯(cuò)誤被限制在子系統(tǒng)內(nèi)部,不會(huì)影響到其他子系統(tǒng)。具體有以下2個(gè)方面:·應(yīng)用子系統(tǒng)之間在內(nèi)存空間上是完全隔離的。整個(gè)系統(tǒng)采用線

25、性內(nèi)存管理方式,某塊線性內(nèi)存一旦在系統(tǒng)創(chuàng)建時(shí)分配給某個(gè)子系統(tǒng),該子系統(tǒng)就獨(dú)占這塊內(nèi)存,不存在與其他子系統(tǒng)共享的問題,減少了數(shù)據(jù)更替時(shí)相互干擾的可能性。·應(yīng)用子系統(tǒng)之間的通信是可被監(jiān)控的。應(yīng)用子系統(tǒng)不對(duì)外提供調(diào)用的接口,它們之間通過消息傳遞進(jìn)行通信。而且發(fā)送的消息必須由超內(nèi)核進(jìn)行傳遞和檢查過濾。檢查可以分為2部分,首先超內(nèi)核要檢查消息的格式,以使礙該消息可以被接收方子系統(tǒng)識(shí)別;另外,超內(nèi)核還要執(zhí)行一定的應(yīng)用子系統(tǒng)之間通信控制機(jī)制,根據(jù)專用系統(tǒng)的實(shí)際功能和安全需求,禁止某些不可信的應(yīng)用子系統(tǒng)向安全要求高的子系統(tǒng)發(fā)送消息。這樣,超內(nèi)核通過對(duì)數(shù)據(jù)的監(jiān)控調(diào)度各應(yīng)用子系統(tǒng),可以及時(shí)發(fā)現(xiàn)系統(tǒng)內(nèi)錯(cuò)誤

26、的部分,保持系統(tǒng)性能,防止系統(tǒng)崩潰,長(zhǎng)時(shí)間處于拒絕服務(wù)狀態(tài)。由于超內(nèi)核系統(tǒng)的架構(gòu)決定了應(yīng)用子系統(tǒng)不需要頻繁使用其他子系統(tǒng)管理的硬件,因此子系統(tǒng)間只需要比較少的通信,不會(huì)引起系統(tǒng)性能的下降。另外,某個(gè)應(yīng)用子系統(tǒng)的錯(cuò)誤通過內(nèi)存隔離機(jī)制和消息過濾機(jī)制被限制在子系統(tǒng)內(nèi)部,不會(huì)引起整個(gè)系統(tǒng)的崩潰。4.原型系統(tǒng)實(shí)現(xiàn)4.1開發(fā)平臺(tái)為了開發(fā)原型系統(tǒng),我們建立了一個(gè)開發(fā)環(huán)境,它由4個(gè)部分組成:編譯器(compiler)、鏈接器(1inker)、燒寫器(writer)、裝載器(10ader)。編譯器把c或者C+源文件編譯成目標(biāo)文件;鏈接器把目標(biāo)文件轉(zhuǎn)換為一個(gè)特定格式的磁盤映象文件。這個(gè)磁盤映象文件包含配置信息、超

27、內(nèi)核代碼、應(yīng)用模塊的可執(zhí)行代碼以及數(shù)據(jù)。燒寫器把上述磁盤影響文件和裝載代碼寫入IDE磁盤。這樣,帶有這個(gè)IDE磁盤的計(jì)算機(jī)就成為了一個(gè)超內(nèi)核系統(tǒng)。我們的開發(fā)環(huán)境是在微軟的windows操作系統(tǒng)下使用微軟Visual Studio編譯器編譯出來的。為了簡(jiǎn)單性,這個(gè)開發(fā)環(huán)境只適用于Intel386處理器和其后續(xù)兼容處理器。裝載器由683行匯編代碼構(gòu)成,鏈接器由3544行C+代碼構(gòu)成,燒寫器由300行C+代碼構(gòu)成。編譯器采用的是微軟公司c+編譯器。4.2原型系統(tǒng)實(shí)現(xiàn)使用上述開發(fā)環(huán)境,我們開發(fā)出一個(gè)防火墻原型系統(tǒng)。這個(gè)防火墻原型系統(tǒng)的硬件平臺(tái)包括:IntelPentium3 1GI-Iz處理器,512

28、M DDR內(nèi)存,2個(gè)82559 10100Mbps自適應(yīng)網(wǎng)卡和1個(gè)串口。系統(tǒng)軟件包括:超內(nèi)核、串口應(yīng)用模塊和網(wǎng)絡(luò)應(yīng)用模塊。系統(tǒng)每1118產(chǎn)生1次時(shí)鐘中斷,中斷產(chǎn)生后超內(nèi)核把收到的消息放入目的應(yīng)用模塊的消息隊(duì)列中,并且給需要調(diào)度的模塊分配時(shí)間片。從一個(gè)應(yīng)用模塊切換到另一個(gè)應(yīng)用模塊是通過CPU的任務(wù)門實(shí)現(xiàn)的。網(wǎng)絡(luò)應(yīng)用模塊包括3個(gè)任務(wù):2個(gè)任務(wù)處理來自2個(gè)網(wǎng)卡的中斷,1個(gè)主任務(wù)負(fù)責(zé)消息和網(wǎng)絡(luò)數(shù)據(jù)的處理。一個(gè)模塊內(nèi)所有的任務(wù)使用同樣的地址空間,這樣可以方便同一個(gè)模塊內(nèi)所有任務(wù)共享數(shù)據(jù)。防火墻原型系統(tǒng)幾乎全部由C和C+語(yǔ)言開發(fā),只有大約15的代碼使用匯編語(yǔ)言,其中90是與機(jī)器硬件相關(guān)的部分。包括注釋和空

29、行,內(nèi)核程序包括870行C和C+以及匯編代碼;網(wǎng)絡(luò)模塊程序包括1100行C和C+以及匯編代碼;串口模塊程序包括300行c和C+以及匯編代碼。4.3性能測(cè)試為了測(cè)評(píng)超內(nèi)核防火墻原型系統(tǒng)的性能,我們建立了一個(gè)Linux防火墻作為比較,超內(nèi)核防火墻和Linux防火墻建立在同樣的硬件平臺(tái)上。我們刪除了V2.4.28 Linux內(nèi)核中不必要的組件,并且對(duì)其進(jìn)行優(yōu)化,使其適合做一個(gè)以太網(wǎng)橋。Window XP也被用在同樣的硬件平臺(tái)上進(jìn)行測(cè)試。因?yàn)樗y以進(jìn)行優(yōu)化,所以性能遠(yuǎn)不及超內(nèi)核防火墻。例如,測(cè)試表明,它的包轉(zhuǎn)發(fā)延時(shí)達(dá)到700tts.所以,Window XP的測(cè)試結(jié)果不在此進(jìn)行比較。包轉(zhuǎn)發(fā)延時(shí)是防火墻的

30、一個(gè)重要指標(biāo),它顯示了防火墻的實(shí)時(shí)性,吞吐率是另一個(gè)性能特性。我們按照RFC 2544標(biāo)準(zhǔn)進(jìn)行系統(tǒng)包轉(zhuǎn)發(fā)延時(shí)和吞吐率的測(cè)試。我們使用SmaxtBits 6000B操作測(cè)試,它和SmartApplications軟件一起自動(dòng)完成符合RFC 1242和RFC2544定義的工業(yè)標(biāo)準(zhǔn)性能測(cè)試。(1)包轉(zhuǎn)發(fā)延時(shí)使用存儲(chǔ)轉(zhuǎn)發(fā)(store and forward)方式來測(cè)試每個(gè)數(shù)據(jù)包的轉(zhuǎn)發(fā)延時(shí),也就是從數(shù)據(jù)包輸入時(shí)的最后一個(gè)比特到達(dá)接收網(wǎng)121算起,直到這個(gè)數(shù)據(jù)包的第一個(gè)比特到達(dá)發(fā)送網(wǎng)口為止的間隔時(shí)間。一個(gè)測(cè)試數(shù)據(jù)流的傳輸率是10Mbps,在120s時(shí)間內(nèi)對(duì)每個(gè)數(shù)據(jù)包進(jìn)行轉(zhuǎn)發(fā)延時(shí)測(cè)試,再計(jì)算平均值作為一次測(cè)

31、試的結(jié)果。測(cè)試重復(fù)進(jìn)行20次。在10Mbps的傳輸率下,超內(nèi)核系統(tǒng)的包轉(zhuǎn)發(fā)延時(shí)比Linux系統(tǒng)少大約20,這表明超內(nèi)核系統(tǒng)比優(yōu)化的Linux效率更高。對(duì)于比較小的數(shù)據(jù)包,超內(nèi)核系統(tǒng)的吞吐率優(yōu)于Linux系統(tǒng),這表明超內(nèi)核系統(tǒng)的調(diào)度效率更高。然而,對(duì)于比較大的數(shù)據(jù)包超內(nèi)核的吞吐率稍遜色于Linux系統(tǒng),原因是我們的網(wǎng)絡(luò)驅(qū)動(dòng)沒有優(yōu)化為適應(yīng)高傳輸率,這會(huì)導(dǎo)致一些數(shù)據(jù)包的丟失。經(jīng)過測(cè)試,發(fā)現(xiàn)超內(nèi)核系統(tǒng)的性能比Linux系統(tǒng)更加穩(wěn)定。4.4容錯(cuò)性測(cè)試為了測(cè)試超內(nèi)核系統(tǒng)的容錯(cuò)性,我們?cè)诔瑑?nèi)核防火墻原型系統(tǒng)中進(jìn)行了2項(xiàng)實(shí)驗(yàn),用來測(cè)試應(yīng)用子系統(tǒng)之間控制權(quán)轉(zhuǎn)移;以及出現(xiàn)異常的子系統(tǒng)能夠被超內(nèi)核重啟。(1)控制權(quán)

32、轉(zhuǎn)移測(cè)試在超內(nèi)核原型系統(tǒng)中,每個(gè)應(yīng)用子系統(tǒng)在Link階段被分配獨(dú)立的代碼段、數(shù)據(jù)段,且代碼段和數(shù)據(jù)段是相互隔離的;不同應(yīng)用子系統(tǒng)的代碼段、數(shù)據(jù)段占據(jù)不同的物理內(nèi)存空間。網(wǎng)絡(luò)防火墻原型系統(tǒng)中,利用Intel x86架構(gòu)CPU的特權(quán)級(jí)機(jī)制(特權(quán)級(jí)共4級(jí),0為最高特權(quán)級(jí),3為最低特權(quán)級(jí))對(duì)應(yīng)用子系統(tǒng)之間控制權(quán)轉(zhuǎn)移進(jìn)行保護(hù):把最高的特權(quán)級(jí)別分配給最重要的數(shù)據(jù)段和最可信任的代碼段,具有最高特權(quán)級(jí)別的數(shù)據(jù),只能由最可信任的代碼來訪問;給最不重要的數(shù)據(jù)和一般的代碼段分配較低的特權(quán)級(jí)別,具有最低特權(quán)級(jí)別的數(shù)據(jù),可被具有任何特權(quán)級(jí)別的代碼訪問。為了測(cè)試原型系統(tǒng)是否實(shí)現(xiàn)了控制權(quán)無法從低級(jí)別子系統(tǒng)轉(zhuǎn)移到更高級(jí)子系統(tǒng)

33、,我們進(jìn)行了如下實(shí)驗(yàn):·在Linker中,創(chuàng)建網(wǎng)絡(luò)應(yīng)用子系統(tǒng)代碼段描述符時(shí),在描述符中填入,代碼段的起始地址為Ox4100000,段界限是1M.即網(wǎng)絡(luò)應(yīng)用子系統(tǒng)代碼段在內(nèi)存中被分配的空間為0x41000000x4200000.在網(wǎng)絡(luò)應(yīng)用子系統(tǒng)代碼段描述符屬性域中,把特權(quán)級(jí)DPL(descriptor privilege level)設(shè)為2.·在Linker中,創(chuàng)建串El應(yīng)用子系統(tǒng)代碼段描述符時(shí),在描述符中填人,代碼段的起始地址為Ox5100000,段界限是1M.即網(wǎng)絡(luò)應(yīng)用子系統(tǒng)代碼段在內(nèi)存中被分配的空間為Ox51000000x5200000.在網(wǎng)絡(luò)應(yīng)用子系統(tǒng)代碼段描述符屬性

34、域中,把特權(quán)級(jí)DPL設(shè)為1(級(jí)別高于網(wǎng)絡(luò)應(yīng)用子系統(tǒng))。·在網(wǎng)絡(luò)應(yīng)用子系統(tǒng)代碼中插入一條指令,跳轉(zhuǎn)到串口應(yīng)用子系統(tǒng)執(zhí)行,該指令為:jmp fword ptr wTaskgateAddrwTaskgateAddr為目標(biāo)串El子系統(tǒng)任務(wù)狀態(tài)段的16位選擇子這是x86架構(gòu)保護(hù)模式下的一種間接跳轉(zhuǎn)方式,指令中含有指向包含目標(biāo)地址指針的任務(wù)狀態(tài)段描述符的指針。·系統(tǒng)運(yùn)行時(shí),當(dāng)網(wǎng)絡(luò)應(yīng)用子系統(tǒng)程序執(zhí)行到這條jmp指令時(shí),跳轉(zhuǎn)無法實(shí)現(xiàn),網(wǎng)絡(luò)子系統(tǒng)無法繼續(xù)運(yùn)行,只能等待超內(nèi)核將其重啟。這就表示,在超內(nèi)核系統(tǒng)中,控制權(quán)無法從低級(jí)別子系統(tǒng)向更高級(jí)子系統(tǒng)轉(zhuǎn)移。(2)異常應(yīng)用子系統(tǒng)的恢復(fù)超內(nèi)核系統(tǒng)容錯(cuò)性的一個(gè)重要方面是,某個(gè)應(yīng)用子系統(tǒng)的異常可以被及時(shí)發(fā)現(xiàn),并且被恢復(fù),從而保證系統(tǒng)的穩(wěn)定性。網(wǎng)絡(luò)防火墻原型系統(tǒng)采用了任務(wù)機(jī)制,每個(gè)子系統(tǒng)包含一個(gè)或者多個(gè)任務(wù)。Linker為每個(gè)任務(wù)創(chuàng)建TSS(任務(wù)狀態(tài)段),并且在GDT(全局描述符表)中填入TSS的描述符項(xiàng)。TSS是每個(gè)任務(wù)的“現(xiàn)場(chǎng)”記錄,保存任務(wù)現(xiàn)場(chǎng)各寄存器狀態(tài)的完整映象等。網(wǎng)絡(luò)防火墻原型系統(tǒng)初始化時(shí),TSS段中的內(nèi)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論