蔡 誼 劉東生
(西三環中路19號 北京 100841)
隨著信息技術的不斷發展,軍隊信息化建設也在穩步向前推進。當前,已有越來越多的機關及下屬各單位,部署了OA(辦公自動化)系統。OA系統有力地矯正了行政管理中,可能會出現的隨意和混亂現象,實現了辦公的流程化與標準化,有效提高了相關人員的辦事效率。
OA系統的主要功能包括:通知通告的公示、電子郵件的收發、公文的流轉以及其它一些在線服務等。現有OA系統過多地強調了功能的多樣性與復雜性,對自身的安全性有所忽視,主要表現在:OA系統一般基于Web服務,對用戶身份認證的安全強度不高;對合法用戶沒有進行嚴格的訪問控制,可以進行越權訪問[1];安全機制集中于系統的應用層,與底層操作系統結合不緊,存在被旁路的危險,因此不能從根本上保證應用系統的安全[2~4]。
針對上述問題,本文以OA系統的典型應用—公文流轉為例,對其中存在的脆弱性問題進行了分析和研究。在此基礎上,給出了OA應用安全增強系統的設計方案,并通過實際的安全應用部署,證明了方案的可行性以及系統實現的可靠性。
公文流轉是OA系統最為主要和典型的應用,公文流轉的整體過程由OA系統的管理員,根據相應的規章制度進行配置。公文流轉過程配置完成后,—般不會再輕易做出改動,相關人員會遵循固定流程,完成公文的逐級上報與審批。
現有的OA系統大多是基于B/S構架,用戶在客戶端通過瀏覽器登錄OA服務器,然后根據OA系統管理員所制定的公文流轉過程,進行公文的接收與發送,實現辦公應用的規范化操作。下面,以某單位的公文接收過程為例,分析公文的流轉過程,其流程如圖1所示。

圖1 典型公文流轉過程
上述公文流轉的過程,由各單位根據公文的知悉范圍和相關的保密規定所制定,是一個相對固定的流程。如果違反相應的規章制度,對流轉過程進行篡改,就會導致公文的安全性面臨威脅。對公文流轉過程進行篡改,可以利用OA系統管理員的權限來達到目的,也可以通過對相關數據包的修改來實現。下面,分別對這兩種方式的具體實現加以說明。
在OA系統中,OA管理員的身份認證大多是基于用戶名和口令式的,安全強度不高。一旦攻擊者竊取或破譯了OA管理員的密碼,就可以修改公文流轉的過程,使得公文流向發生變化,破壞OA系統的安全性。另外,OA管理員自身也可能會存在違規操作,未經批準,擅自修改固定流程。利用OA管理員身份,針對上述公文流轉過程進行篡改后的流程如圖2所示。

圖2 基于系統管理員身份的流程篡改
從圖2中可見,以OA管理員身份登錄OA系統后,在流程的第五步和第六步之間添加了一個新的“收文辦理”環節。按照新的工作流程,工作人員A能夠直接將收文發送給工作人員C辦理。但在實際工作中,這一違規流程將擴大公文的知悉范圍,造成對公文的越權訪問,應當是被禁止的。
對公文流轉過程進行篡改,另外一種間接的方法,是對相關數據包進行截獲分析,并對數據包進行修改,以達到攻擊目的。為達到相同的攻擊效果,攻擊者會攔截第五步提交的數據包,并對其中的內容進行修改,修改后流程如圖3所示。

圖3 基于數據包分析的流程篡改
在實際攻擊中,假設攻擊者已經獲知工作人員C的用戶名和密碼,并在網絡上截獲了工作人員A提交公文所對應的數據包,對其中的路徑內容做如下修改:
Javascript:eWorksDoc.Form.selectedUserlDs.value=
工作人員C賬號;
eWorksDoc.Form.selectedFlowlD.value=目標流向ID;
eWorksDoc.Form.sendMode.value=1;
eWorksDoAction(‘complete’)。
修改完成后,公文流轉的過程也會發生相應的變化,使得本應該只流向工作人員B的公文,同時流向了工作人員C。
綜上所述,現有OA系統的脆弱性主要表現在兩個方面:首先,OA管理員和一般用戶的身份認證強度不夠,使得用戶身份存在被冒充的可能性:其次,現有的安全機制位于應用層,存在被旁路的危險。這些因素都會直接或間接導致公文流轉的應用流程被惡意篡改。
針對現有OA系統在典型應用中存在的脆弱性,本文設計了OA應用安全增強系統。該系統是在OA服務器的前端,以橋接模式透明接入前置機,實現對OA服務器請求數據包的分析與過濾,防止非法訪問,確保相關信息流的安全。前置機所使用的強制訪問控制策略由安全管理員在安全管理中心上進行配置,并以在線的方式下發到前置機上。OA應用安全增強系統總體拓撲結構如圖4所示。

圖4 OA應用安全增強系統拓撲結構
OA應用安全增強系統在運行中,首先需要由安全管理中心給合法用戶配發相應的 身 份 鑰 匙,即 USBKEY:接著在安全管理中心,由安全管理員對OA服務器中的資源進行歸類,并對其中的主客體信息進行標記,設定相應的范疇、敏感度及可信度[5~7],然后將這些信息作為安全策略,下發到前置機:前置機上的安全內核模塊,會對辦公終端訪問OA服務器的請求數據包進行截獲與分析,提取相關的主客體信息,同時根據安全管理中心下發的安全策略,實現操作系統內核級的強制訪問控制。
OA應用安全增強系統利用硬件USB KEY,通過專用的身份認證協議和鑒別機制,實現對登錄到OA系統的用戶身份雙因子認證,提高了認證的安全強度;利用前置機的操作系統內核增強模塊,對終端請求的數據包進行截獲、分析和判斷,能保證安全機制不會被旁路。

圖5 OA應用安全增強系統模塊組成
OA應用安全增強系統由兩大功能組件構成:安全管理中心和前置機安全內核增強模塊。安全管理中心由動態網頁、后臺數據庫與安全代理構成;前置機的安全內核增強模塊可以分為數據包分析模塊、安全代理模塊、訪問控制模塊以及審計模塊。上述模塊的作用及其相互之間的關系,如圖5所示。
安全管理中心用于對合法用戶進行身份注冊,配發相應的USBKEY;根據主客體信息的范疇、敏感度與可信度,下發相應的安全策略給前置機安全內核增強模塊;同時,安全管理中心還會根據制定好的審計規則,接收由前置機安全內核上傳的相關審計信息,以便于安全管理員進行查看和分析。
前置機安全內核增強模塊用于透明接管終端用戶的訪問請求,對OA系統的網絡數據流進行分析和控制,過濾掉非法請求,確保OA系統的安全性。安全內核增強模塊的構成及其相互間關系是:
1)安全代理模塊:接收由安全管理中心下發的安全策略,將安全策略傳遞給訪問控制模塊;接收由審計模塊產生的審計信息,將審計信息上報給安全管理中心。
2)數據包分析模塊:根據OA系統的應用協議對終端發出的請求數據包進行分析,從用戶登錄數據包中提取主體信息,從URL串中提取客體資源信息,并將這些主客體信息傳遞給訪問控制模塊。
3)訪問控制模塊:接收由數據包分析模塊傳遞的主客體信息,根據安全管理中心下發的安全策略,對主體的訪問權限進行控制,防止非法用戶的非授權訪問以及合法用戶的越權訪問。
4)審計模塊:用于記錄所有用戶對OA服務器的操作信息,以及錯誤信息,便于安全管理員進行統計和分析,利于事后審查與追蹤。
OA應用安全增強系統核心模塊的功能主要包括:安全策略的下載以及操作系統內核級的強制訪問控制[8~9]。
1)安全策略下載
前置機的安全代理模塊讀取本地網絡配置文件,獲取安全管理中心的IP地址和端口,向安全管理中心進行注冊。在注冊成功后,請求并接收安全管理中心下發的安全策略。策略下載流程如圖6所示。

圖6 策略下載流程
前置機安全代理將接收到的安全策略存入緩沖區,在接收完成后,安全代理會在本地計算安全策略的hash值,并將其與安全管理中心下發的hash值相比較,驗證安全策略的完整性。如果策略下載完整,則安全策略保存到本地磁盤,否則給出相應的提示并退出。
2)強制訪問控制
前置機的安全內核在實現強制訪問控制時,首先需要在操作系統內核中加載鉤子函數[10],對數據包進行分析和過濾,提取所需的主客體相關信息。然后根據下載的安全策略,決定是否轉發數據包。強制訪問控制的具體流程如圖7所示。
安全內核中的鉤子函數對截獲的數據包進行分析,判斷當前用戶的操作行為是否與公文流轉相關,如果不相關則讓數據通過。如果相關,則記錄下當前登錄用戶的SSID,并將SSID寫入對應主體鏈表節點內。
分析用戶發起的是公文流轉,還是公文瀏覽。如果是公文的流轉,則查找目的用戶,比較源用戶和目的用戶是否在同一范疇內,如果在同一范疇,則允許數據包通過,如果出現越級現象,則進行審計并丟棄數據包。

圖7 強制訪問控制流程
如果用戶進行的是公文瀏覽操作,則記錄當前公文的標識。接著,以安全管理中心下發的安全策略為依據,比較用戶及公文的可信度、敏感度與范疇,如果滿足安全策略,則允許數據包通過,否則進行審計并丟棄數據包。
本文通過對現有OA系統的脆弱性進行分析,有針對性的增強了用戶身份認證機制,使得用戶的身份不易被竊取和冒充。同時,在前置機的操作系統內核層實現強制訪問控制,確保用戶無法進行違規操作。
在實際應用部署中,OA應用安全增強系統無需對應用服務器進行修改,由安全管理中心進行安全策略配置,所有訪問服務器的數據都要經過前置機,實施內核級的強制訪問控制。測試表明,該系統在不影響OA服務器正常工作的前提下,能夠較好實現對上層應用的安全透明支撐與保障。
[1]沈昌祥.基于積極防御的安全保障框架[J].中國信息導報,2003(10):50-51.
[2]D.Baker.Building Upon Sand[J].Proceedings of the New Security Paradigms Workshop,1996:25-27.
[3]Peter A.Loscocco,Stephen D.Smalley,Patrick A.Muckelbauer,et al.The Inevitability Of Failure:The Flawed Assumption of Security in Modern Computing Environment[C]//Proceedings of the 21st National Information Systems Security Conference,1998:303-314.
[4]沈昌祥.關于加強信息安全保障體系的思考[J].信息安全與通信保密,2002(24):11-14.
[5]D.E.Bell,L.J.LaPadula.Secure Computer System:Mathematical Foundation[EB/OL].http://citeseer.ist.psu.edu/548063.html,2002,6.
[6]M.Abrams,L.Lapadula,K.Eggers,et al.A Generalized Framework for Access Control:an Informal Description[C]//Proceedings of the 13hNational Computer Security Conference,1990:134-143.
[7]蔡誼,沈昌祥,鄭志蓉.多級安全策略的二維標識模型[J].計算機學報,2004(5):619-624.
[8]S.Jajodia,P.Samarati,V.Subrahmanian,et al.A Unified Framework for Enforcing Multiple Access Control Policies[C]//Proceedings of SIGMOD,1997:474-485.
[9]Ray Spencer,Stephen Smalley,Peter Loscacco,et al.The Flask Security Architecture:System Support for Diverse Security Policies[C]//Proceedings of the 8th USENIX Security Symposium,1999:242-247.
[10]Chirs Wright,Crispin Cowan,et al.Linux Security Module Framework[J].Proceedings of the 2002Ottawa Linux Symposium,2002:303-314.