支立勛
淮安信息職業技術學院計算機與通信工程學院
基于網絡操作系統微內核思想對網絡協議模型的改進
支立勛
淮安信息職業技術學院計算機與通信工程學院
網絡操作系統的安全性在網絡安全中扮演著非常重要的角色,在很多網絡攻擊方法和技術中基本上都是從網絡操作系統的漏洞入手的。互聯網上用得最多的網絡操作系統就是Unix操作系統,其本身由于產生的歷史原因存在著先天的安全不足和漏洞,因此在隨后的幾十年直到現在仍有大量專家學者采用修修補補的方法來解Unix操作系統的安全問題。但是由于Unix本身系統結構的原因,這種修補方案效果很不理想。因此,本文提出了一種基于基于微內核的思想來從操作系統的內部結構來增加操作系統的安全性能,從而在根本上解決了Unix網絡操作系統的安全問題。
微內核結構;消息調度模塊;應用程序管理模塊
計算機網絡所面臨的威脅大體可分為兩種:一是對網絡中信息的威脅;二是對網絡中設備的威脅。影響計算機網絡的因素很多,有些因素可能是有意的,也可能是無意的;可能是人為的,也可能是非人為的;可能是外來黑客對網絡系統資源的非法使有,歸結起來,針對網絡安全的威脅主要有以下三方面,第一,人為的無意失誤:如操作員安全配置不當造成的安全漏洞,用戶安全意識不強,用戶口令選擇不慎,用戶將自己的帳號隨意轉借他人或與別人共享等都會對網絡安全帶來威脅。第二,人為的惡意攻擊:這是計算機網絡所面臨的最大威脅,敵手的攻擊和計算機犯罪就屬于這一類。此類攻擊又可以分為以下兩種:一種是主動攻擊,它以各種方式有選擇地破壞信息的有效性和完整性;另一類是被動攻擊,它是在不影響網絡正常工作的情況下,進行截獲、竊取、破譯以獲得重要機密信息。這兩種攻擊均可對計算機網絡造成極大的危害,并導致機密數據的泄漏。第三,網絡軟件的漏洞和“后門”:網絡軟件不可能是百分之百的無缺陷和無漏洞的,然而,這些漏洞和缺陷恰恰是黑客進行攻擊的首選目標,曾經出現過的黑客攻入網絡內部的事件,這些事件的大部分就是因為安全措施不完善所招致的苦果。另外,軟件的“后門”都是軟件公司的設計編程人員為了自便而設置的,一般不為外人所知,但一旦“后門”洞開,其造成的后果將不堪設想。
總之,網絡安全問題包括很多方面,任何一個方面一個環節出現問題,都會導致計算機網絡出現不安全的事情。但現階段不安全因素主要集中在網絡傳播介質及網絡協議的缺陷、密碼系統的缺陷、主機操作系統的缺陷。在現實中,密碼系統已經非常完善,各種密碼系統的健壯性也得到了證實。但是在網絡協議和網絡操作系統上,仍然有很多可被攻擊的入口及漏洞。現實中的網絡安全問題主要也確實集中在操作系統的漏洞上。由于Unix及類Unix網絡操作系統是現在Internet中非常普遍的網絡操作系統,其網絡服務和它的源代碼是公開的,所以在很多場合下使用者可以定制自己的Unix操作系統,使它更適合網絡相關的服務要求從而來提高網絡系統的安全性。也正是由于網絡協議是和操作系統獨立的,所以對網絡協議的改進是不影響網絡操作系統的,也為我們借鑒網絡操作系統的微內核思想來解決網絡安全問題奠定了實踐基礎。
在操作系統上,安全問題主要集中在多用戶的訪問權限上。系統特權用戶的權限非常大,他能夠做系統所能做的任何事情。在Unix系統中,很多系統服務級的后臺網絡服務程序都擁有系統用戶權限,然而,這些后臺程序的也是安全問題的最大隱患。Unix中很多系統級的服務都放在內核中。如果這些服務程序如果有編程問題,問題也同時帶到了內核級的權限中,這樣,攻擊者就有可能在內核級別進行惡意的操作了。另外,進行嚴格的應用程序堆棧檢查及堆管理,對安全問題上也十分重要。總之,如果操作系統能進行更嚴格的應用程序管理,就有可能使系統更安全。盡管不可能存在一個絕對安全的系統,但一個好的結構可以使一個系統很難被攻擊。在通常被攻擊的情況下,攻擊者總會想各種辦法盡量去獲得系統用戶權限。既然不可能有編寫完全無錯程序的辦法,那么能夠盡量少用系統權限程序去完成操作系統功能,是解決現實中有錯誤程序的一條可行之路從而盡可能地減少攻擊者得到系統權限的概率。基于操作系統微內核的思想就可以有效的解決這樣的問題。微內核是一種能夠提供必要服務的操作系統內核,其中這些必要的服務包括任務,線程,交互進程通信以及內存管理等等。所有服務(包括設備驅動)在用戶模式下運行,而處理這些服務同處理其他的任何一個程序一樣。因為每個服務只是在自己的地址空間運行。所以這些服務之間彼此之間都受到了保護在微內核結構下,系統的核心只有一個消息調度核心,所有的其他模塊通過消息與其他模塊互相聯系,而通信通過消息調度核心來傳輸。這樣,真正具有系統用戶權限的程序只有這個消息調度核心了,所有的其他系統服務,如文件系統、內存管理、進程調度都運行在它之上。
TCP及TP4等通用協議為連接管理、差錯控制和流量控制提供了復雜的控制機制,它們的優點是為大量應用提供標準的點到點傳輸服務,而付出的代價是協議性能。要增強性能主要解決三個問題:選擇合理的確認(Acknowledgement)機制,選擇合理的超時值,研究高效的擁擠控制算法。傳統的滑動窗口機制是由位于傳輸層的接收端發送ACK報文,通知發送方下一個期望的數據報文。因此,ACK的存在制約了數據的傳輸速度,同時增加了傳輸的額外開銷。后來TCP的研究者提出對數據報文的確認采用集中方式,即一次ACK同時確認多個報文,以推遲和減少ACK的發送。另一種改進方法是采用選擇重發機制,即發送方只需重新發送接收方確認已經丟失的報文。最新的機制稱為NACK,它已被XTP等協議吸收。NACK包含接收方明確的要求重發的語義,因而如果沒有嚴重的丟包現象,那么控制報文的數量大量減少,同時將差錯檢測的問題轉移到接收方,為實現多點投遞提供了更多便利。在傳輸層協議中有許多計時器用于連接管理和差錯檢測,特別是在超時機制中如果超時值選取不當,那么取值過大,不能迅速發現丟包;取值過小可能帶來許多“偽”差錯警報,進而引起無意義的重發。一般情況下最佳值由發送方和接收方之間的網絡迂回時間()計算而得。由于網絡負載、路由以及報文大小的影響,RTT不是固定的,因此要求傳輸層協議在實現計時器時將重發超時值設為RTT的一個函數,使它能根據網絡變化,適時地改變值的大小。研究者提出了多種解決方案,通過報文的發送時間和ACK返回時間的差值推算RTT的值。ACK和重發機制本身的復雜性,使根本問題仍不能解決,原因在于計時器永遠只能在本地估算外部事件,而不能獲得網絡全局特性。有人甚至建議在傳輸層傳輸控制中取消計時器。擁擠控制是為了有效共享網絡資源,避免出現信道擁擠。窗口機制習慣于使用大的窗口值,以填滿傳輸管道。然而一旦多個大窗口的連接共享一條低帶寬鏈路,那么必然引起報文排隊延遲的增長,導致無用的重發,進而在正反饋作用下帶來擁擠。在TCP協議中采用“慢啟動”算法,使得窗口大小根據ACK的接收情況(它能反映鏈路的工作狀態)進行動態調整,在總體上提高了協議的性能。由此我們可以看到,為了獲取較高的性能以適應網絡底層技術的進步以及高層應用的需求,傳統協議機制需要很多改進。而由于協議機制自身的約束,某些措施在實現上存在困難或者在理論上很難成立。
人們也開始從體系結構的角度重新審視OSI參考模型,主要焦點集中在分層對于性能的影響。協議處理包括兩個部分:控制功能和數據處理。控制功能主要涉及報頭和連接狀態處理;數據處理包括表示層編碼、校驗和計算、加密以及壓縮等。現代網絡的瓶頸是高層協議的數據處理,傳統性能優化的層次化約束了數據處理功能的整體效率。因此,在網絡協議模型中把前人提出的一下體系結構以及工程原則加入到了網絡模型中從而來改進網絡協議模型的安全性。
第一,ALF(Application Level Framing)的思想是將傳輸層數據單元(即協議處理數據單元)同應用層數據單元之間的距離縮小,應用發送對應用有意義的獨立的“幀”(ADU),而表示層和傳輸層在處理時保留該幀的邊界,并且不用關心幀的順序。幀的一致性由通信雙方應用維護,達到簡化數據處理的目的。
第二,ILP(Integrated Layer Processing)的思路是將數據處理功能集中在一兩個處理循環中,而不是像今天大多數協議那樣串行運行,以減少耗時的內存讀/寫操作次數。這種思想其實已經應用在一些傳統協議的實現中,有的被集成到操作系統核心的協議模塊里,試驗證明能夠獲得性能改善。
第三,主動網絡(Active network)的概念出現于移動編碼技術,使網絡服務動態更新成為可能以后,網絡層的互操作性不再依賴于傳統IP服務的標準報文格式和固定編碼,而是約定的程序編碼和計算環境,因而增加了網絡服務的靈活性,同時用戶和應用能夠控制服務的生成和使用。不過,這種方法為了實現靈活性,可能帶來路由器性能的下降。
微內核思想的引入可以保證網絡協議模型的模塊最少和代碼最安全,從而使得網絡協議系統的安全性也隨之增強。而且,由于各個模塊都比較簡單,所以在編碼上也不容易出錯,代碼維護也比傳統的網絡協議模型容易此外,在代碼精簡方面與容易編程方面采用微內核的優勢更加明顯。
[1]馮元等.計算機網絡安全基礎.北京:科學出版社,2003.10
[2]趙小敏,陳慶章.打擊計算機犯罪新課題——計算機取證技術. 網絡信息安全,2002.9
[3]曹天杰等編著.計算機系統安全.北京:高等教育出版社,2003.9
10.3969/j.issn.1001-8972.2012.10.067