国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

國產(chǎn)安全瀏覽器技術(shù)研究

2018-02-07 01:44張俊賢安曉江
信息安全研究 2018年1期
關(guān)鍵詞:沙箱插件桌面

張俊賢 汪 麗 安曉江

(北京海泰方圓科技股份有限公司 北京 100094) (junxian.zhang@haitaichina.com)

國家信息化建設(shè)依賴國外核心技術(shù)是極其危險的.在我國大力提倡自主可控發(fā)展的大環(huán)境下,信息系統(tǒng)的自主可控進程已經(jīng)納入國家戰(zhàn)略性發(fā)展部署.強力推進關(guān)鍵信息系統(tǒng)的國產(chǎn)自主化建設(shè),是國家和軍隊信息化發(fā)展戰(zhàn)略的大勢所趨,更是改革強軍的潮流所向.國產(chǎn)信息技術(shù)只有以自主可控[1-3]為前提,將自主研發(fā)的科技創(chuàng)新最新成果快速應(yīng)用于政府、企業(yè)和軍隊信息化,才能有效保障國家信息安全.

在國家需求的不斷推動下,從核心處理器到操作系統(tǒng)再到整機系統(tǒng)等核心關(guān)鍵領(lǐng)域的國產(chǎn)化替代進程正在加速.瀏覽器作為現(xiàn)代計算機系統(tǒng)的重要組成部分,承載著大量業(yè)務(wù)應(yīng)用,屬于核心軟件系統(tǒng).研發(fā)新的、技術(shù)上自主可控的國產(chǎn)化瀏覽器,以支持國產(chǎn)CPU處理器微體系結(jié)構(gòu)和國產(chǎn)操作系統(tǒng),是整體國產(chǎn)化替代進程中的重要環(huán)節(jié),有著重大現(xiàn)實意義.國產(chǎn)化瀏覽器必須保證瀏覽器內(nèi)核代碼在國產(chǎn)CPU指令系統(tǒng)上完整編譯通過,編譯結(jié)果在國產(chǎn)操作系統(tǒng)之上正確運行,瀏覽器軟件功能完備,瀏覽器軟件運行過程穩(wěn)定.

目前,絕大多數(shù)信息系統(tǒng)如信息管理系統(tǒng)、辦公系統(tǒng)等,皆采用BS架構(gòu).為保衛(wèi)我國網(wǎng)絡(luò)空間主權(quán),保證關(guān)鍵信息系統(tǒng)自主可信、安全可控,實現(xiàn)國產(chǎn)化替代是當(dāng)務(wù)之急,作為BS技術(shù)架構(gòu)的客戶端軟件,研究并開發(fā)面向國產(chǎn)平臺的瀏覽器軟件是對國產(chǎn)化進程的強有力支持.

1 問題與挑戰(zhàn)

1.1 國內(nèi)外現(xiàn)狀

瀏覽器是一種可以顯示網(wǎng)頁服務(wù)器或者文件系統(tǒng)的HTML文件內(nèi)容,并讓用戶與這些文件交互的軟件,該軟件主要通過HTTP協(xié)議與網(wǎng)頁服務(wù)器交互并獲取網(wǎng)頁,這些網(wǎng)頁由URL指定,文件格式通常為HTML,并由MIME在HTTP協(xié)議中指明.

渲染引擎是瀏覽器的核心部件,一般也稱為瀏覽器內(nèi)核,主要負責(zé)對網(wǎng)頁語法進行解釋并渲染.渲染引擎決定了瀏覽器如何顯示網(wǎng)頁的內(nèi)容以及頁面的格式信息.主要渲染引擎包括Trident,Gecko,Presto,Webkit,Blink等.常見的國外瀏覽器有Internet Explorer,F(xiàn)irefox,Chrome,Opera,Safari等.主要廠商包括微軟、Mozilla、谷歌、歐朋、蘋果等.國內(nèi)有360瀏覽器、獵豹瀏覽器、搜狗瀏覽器和UC瀏覽器等.主要廠商包括奇虎、 金山、搜狐和阿里等.瀏覽器是接入互聯(lián)網(wǎng)的入口,因此各瀏覽器廠商主要是互聯(lián)網(wǎng)廠商.這一客觀現(xiàn)實決定了大部分瀏覽器的市場定位主要面向一般互聯(lián)網(wǎng)用戶,對軍隊、政府、企事業(yè)單位的需求考慮較少,對以上各類單位的特殊業(yè)務(wù)場景考慮較少.現(xiàn)實條件下,各瀏覽器在實際業(yè)務(wù)應(yīng)用場景中往往存在較多問題亟待解決.

1.2 問題與挑戰(zhàn)

瀏覽器是基礎(chǔ)核心軟件,是互聯(lián)網(wǎng)系統(tǒng)生態(tài)環(huán)境的重要一環(huán),是用戶訪問互聯(lián)網(wǎng)服務(wù)的主要手段和主要入口,是承載各種網(wǎng)絡(luò)應(yīng)用的主要平臺,也是最常使用的客戶端軟件.目前我國信息環(huán)境中使用的瀏覽器主要來自國外,由此產(chǎn)生了一系列重大安全問題.這些安全問題主要包括以下2個方面:

1) 瀏覽器使用國外的密碼算法;不兼容國產(chǎn)密碼算法;不支持我國網(wǎng)絡(luò)信任體系;不符合我國關(guān)于密碼的相關(guān)標(biāo)準(zhǔn)規(guī)范;不能對我國的金融、政務(wù)等基礎(chǔ)性應(yīng)用提供必要的安全支撐.

2) 瀏覽器缺乏對國產(chǎn)化平臺的支持.國產(chǎn)CPU、國產(chǎn)操作系統(tǒng)平臺、國產(chǎn)文字處理軟件、數(shù)據(jù)庫軟件和計算環(huán)境等構(gòu)成了我國的國產(chǎn)化體系.目前,絕大部分瀏覽器需運行于國外操作系統(tǒng),并不支持國產(chǎn)CPU指令系統(tǒng)和國產(chǎn)操作系統(tǒng)平臺,基本不支持我國的國產(chǎn)化體系.

瀏覽器技術(shù)多年來保持高速發(fā)展,新生技術(shù)與標(biāo)準(zhǔn)層出不窮,不同廠商的瀏覽器對這些技術(shù)與標(biāo)準(zhǔn)的支持程度存在較大差異,瀏覽器兼容性問題十分突出.在處理一個相同的頁面時,不同瀏覽器的表現(xiàn)行為存在一定差異,某些情況下,程度較為嚴(yán)重,影響正常業(yè)務(wù)運行.主要原因在于各瀏覽器使用了不同的內(nèi)核,對HTML標(biāo)準(zhǔn)規(guī)范的支持和實現(xiàn)程度并不一致.國產(chǎn)化瀏覽器應(yīng)提供較好的兼容性,有效支持多種在線辦公和數(shù)據(jù)展示插件和HTML5等最新技術(shù),只有如此才能有效確保將現(xiàn)有應(yīng)用系統(tǒng)順利移植到國產(chǎn)系統(tǒng)平臺之上.

HTML5是最新一代的HTML標(biāo)準(zhǔn),它不僅擁有HTML中所有的特性,而且增加了許多實用的特性,如視頻、音頻、畫布(canvas)等.HTML5可以更好地促進用戶于網(wǎng)站間的互動情況,多媒體網(wǎng)站可以獲得更多的改進.目前多數(shù)瀏覽器對HTML5支持并不全面,導(dǎo)致基于該技術(shù)開發(fā)的應(yīng)用存在較大兼容性問題.

2 安全瀏覽器技術(shù)體系

2.1 關(guān)鍵技術(shù)體系

國產(chǎn)化安全瀏覽器的研發(fā)應(yīng)立足于我國國產(chǎn)化戰(zhàn)略需求,針對國產(chǎn)信息化支撐中存在的Web應(yīng)用安全、瀏覽器軟件系統(tǒng)安全、交互服務(wù)實時可靠性等挑戰(zhàn)性問題進行研究.在此基礎(chǔ)上,應(yīng)結(jié)合瀏覽器前沿技術(shù),研究適合我國國產(chǎn)密碼算法的自主信任體系及相關(guān)關(guān)鍵技術(shù),突破虛擬國產(chǎn)密碼技術(shù)、信任鏈技術(shù)、虛擬計算技術(shù)、安全沙箱技術(shù)等關(guān)鍵技術(shù)難題,研發(fā)基于國產(chǎn)密碼算法的自主信任服務(wù)體系與自主可控平臺核心軟件,形成示范應(yīng)用.為我國國產(chǎn)信息化領(lǐng)域提高自主創(chuàng)新水平、提升產(chǎn)業(yè)能力,為國產(chǎn)密碼關(guān)鍵領(lǐng)域提供技術(shù)支撐.

如圖1所示,國產(chǎn)化自主可控安全瀏覽器以國產(chǎn)密碼算法[4]和虛擬技術(shù)等多項技術(shù)研發(fā)為主攻目標(biāo),重點對以下4個方面的研究內(nèi)容開展工作:證書鏈技術(shù)、國產(chǎn)平臺適配技術(shù)、虛擬計算技術(shù)、安全沙箱技術(shù)和瀏覽器兼容的技術(shù)方案.其中涉及密碼算法的證書鏈技術(shù)和虛擬技術(shù)中使用國產(chǎn)密碼算法,并支持國產(chǎn)算法的相關(guān)證書標(biāo)準(zhǔn).除非特別說明,在本文中提及的數(shù)字證書均為支持國產(chǎn)密碼算法的SM2簽名證書或SM2加密證書.

圖1 基于國產(chǎn)密碼算法的海泰安全瀏覽器關(guān)鍵技術(shù)體系

2.2 基于國密算法的自主信任體系

網(wǎng)絡(luò)信任體系就是在網(wǎng)絡(luò)上建立的信任關(guān)系,它將所有活動的實體通過信任關(guān)系連接起來,記錄各實體的歷史表現(xiàn),并維護這種信任關(guān)系.在網(wǎng)絡(luò)中進行信息交流時,首先要了解對方的相關(guān)情況,這是一個建立初始信任的過程.在這個過程中可能會用到第三方提供的信息,如身份證件等.在建立初始信任以后還需要查閱對方所在單位、職務(wù)、權(quán)限和資信等情況,建立起可靠的信任關(guān)系,在這個過程中會再次用到第三方提供的信息,如權(quán)限證明等.最后是在這種信任關(guān)系之上進行信息交流,同時解決交流過程中出現(xiàn)的糾紛及安全事件.

在瀏覽器中建設(shè)支撐信任體系,應(yīng)以國產(chǎn)密碼算法支持為前提,具體地,應(yīng)在瀏覽器中預(yù)植我國權(quán)威信任機構(gòu)的根證書,同時支持對合規(guī)數(shù)字證書的解析,支持國產(chǎn)密碼算法的TLS協(xié)議標(biāo)準(zhǔn).通過上述機制建設(shè),瀏覽器用戶可以有能力甄別服務(wù)端的身份屬性,同服務(wù)端建立安全的通信信道,保證通信的安全,最終建立對Web應(yīng)用服務(wù)端的數(shù)字身份信任.

瀏覽器為建立信息安全和信任體系必須全面支持國產(chǎn)密碼算法,進而才能支持?jǐn)?shù)字證書和SSL通信.主要包括:

1) 支持SM2算法[5],實現(xiàn)的功能包括SM2加密、SM2解密、SM2簽名、SM2簽名驗證、SM2密鑰交互、SM2算法Z值計算等.

2) 支持SM3算法[6],實現(xiàn)的功能包括SM3散列算法、基于SM3算法的HMAC功能等.

3) 支持SM4分組算法[7],實現(xiàn)的功能包括SM4加密、SM4解密、基于SM4算法的MAC計算等.

瀏覽器為了原生支持我國權(quán)威機構(gòu)的根證書,需要實現(xiàn)的相關(guān)技術(shù)包括:

1) 支持內(nèi)置我國權(quán)威機構(gòu)數(shù)字證書的預(yù)加載和檢查機制;

2) 支持合規(guī)的國產(chǎn)算法數(shù)字證書的導(dǎo)入;

3) 支持基于國產(chǎn)算法的可信時間權(quán)威TSA的數(shù)字證書;

4) 支持基于信任鏈的網(wǎng)上數(shù)字身份判定機制;

5) 支持基于合規(guī)SSL協(xié)議的信道安全;

6) 支持基于國產(chǎn)算法的數(shù)字證書的解析技術(shù).

證書鏈本質(zhì)上是一組安裝順序排列的數(shù)字證書,又稱認(rèn)證鏈或證書路徑.證書鏈證明證書的合法性.若證書鏈合法,則可以相信證書中所宣稱的某個主體擁有某個可以表明身份的密鑰.

在瀏覽器中內(nèi)置證書容器,每個容器作為一條證書鏈的載體.瀏覽器系統(tǒng)提供對于單個容器的完整性檢查機制,并對容器總體同樣建立核查機制.通過對證書鏈的安全防護建立瀏覽器網(wǎng)上數(shù)字身份信任的基礎(chǔ).

在建立SSL鏈接以進行基于瀏覽器的安全交易時,在使用內(nèi)置數(shù)字證書之前必須完成對容器整體和對應(yīng)證書鏈的安全檢查.安全檢查涉及到2個方面:一方面是容器和容器總體的安全報文檢查,該檢查使用SM3散列算法并安裝HMAC協(xié)議進行;另一方面為證書鏈環(huán)節(jié)檢查.

證書鏈由2個環(huán)節(jié)組成:信任錨(CA證書)環(huán)節(jié)和已簽名證書環(huán)節(jié).自我簽名的證書僅有一個環(huán)節(jié)的長度,信任錨環(huán)節(jié)就是已簽名證書本身.

證書鏈可以有任意環(huán)節(jié)的長度,所以在證書鏈中信任錨證書CA環(huán)節(jié)可以對中間證書簽名,中間證書的所有者可以用自己的私鑰對另一個證書簽名.CertPath API 可以用來遍歷證書鏈以驗證有效性,也可以用來構(gòu)造這些信任鏈.

Web瀏覽器已預(yù)先配置了一組瀏覽器自動信任的根CA證書.來自其他證書授權(quán)機構(gòu)的所有證書都必須附帶證書鏈,以檢驗這些證書的有效性.證書鏈?zhǔn)怯梢幌盗蠧A證書發(fā)出的證書序列,最終以根CA證書結(jié)束.

證書最初生成時是一個自簽名證書.自簽名證書是其簽發(fā)者(簽名者)與主題(其公共密鑰由該證書進行驗證的實體)相同的證書.如果擁有者向CA發(fā)送證書簽名請求CSR,然后輸入響應(yīng),自簽名證書將被證書鏈替換.鏈的底部是由CA發(fā)布的、用于驗證主題的公共密鑰的證書(回復(fù)).鏈中的下一個證書是驗證CA的公共密鑰的證書.通常,這是一個自簽名證書并且是鏈中的最后一個證書.其中的自簽名證書是來自CA的用于驗證其自身的公共密鑰的證書.

其他情況下,CA會返回一個證書鏈.鏈的底部證書是由相同CA簽發(fā)的證書,用于驗證密鑰條目的公共密鑰.鏈中的第2個證書是由其他CA簽發(fā)的證書,用于驗證向其發(fā)送了CSR的CA的公共密鑰.鏈中的下一個證書是用于驗證第2個CA密鑰的證書,依此類推,直至到達自簽名的根證書.因此,鏈中除了第一證書之外,每個證書都需要驗證鏈中前一個證書的簽名者的公共密鑰.

2.3 國產(chǎn)平臺支持

龍芯CPU和中標(biāo)麒麟操作系統(tǒng)是我國信息系統(tǒng)國產(chǎn)平臺的重要成果.目前只有少數(shù)瀏覽器能較好支持國產(chǎn)平臺.本文以龍芯3號CPU[8-9]和中標(biāo)麒麟操作系統(tǒng)[10]作為目標(biāo)國產(chǎn)平臺,介紹海泰安全瀏覽器的國產(chǎn)平臺適配編譯技術(shù)研究,包括本地編譯和交叉編譯技術(shù).主要工作包括:通過對面向國產(chǎn)CPU處理器微體系結(jié)構(gòu)的瀏覽器內(nèi)核代碼適配技術(shù)進行研究,實現(xiàn)瀏覽器內(nèi)核代碼在國產(chǎn)CPU指令系統(tǒng)上成功編譯,編譯結(jié)果在國產(chǎn)操作系統(tǒng)之上能夠正確運行,并通過充分測試,確保瀏覽器軟件功能完整且運行過程穩(wěn)定.

如圖2所示,基于龍芯處理器的中標(biāo)麒麟操作系統(tǒng)對Linux內(nèi)核經(jīng)過了大規(guī)模剪裁,這為本地編譯環(huán)境的建立增加了困難程度.為了面向國產(chǎn)平臺的瀏覽器源代碼成功編譯,首先需要獲取安裝軟件包所必須的工具和文件,最終完成編譯環(huán)境的搭建.

圖2 基礎(chǔ)支撐軟件平臺模塊結(jié)構(gòu)圖

瀏覽器是大型軟件系統(tǒng),源代碼規(guī)模龐大,并且國產(chǎn)CPU與X86架構(gòu)CPU的性能存在一定差距.編譯速度是影響開發(fā)和調(diào)試新功能的關(guān)鍵短板,如何有效提高瀏覽器源代碼在龍芯CPU上的編譯速度,有重要現(xiàn)實意義.本文采用 GCC for MIPS來建立本地編譯環(huán)境,基于高性能X86計算機系統(tǒng)搭建交叉編譯環(huán)境,有效提高編譯速度.

作為Linux平臺下最常用的編譯器,GCC 提供了強大的編譯能力和良好的平臺通用性,GCC 可以根據(jù)處理器的結(jié)構(gòu)特性在編譯中對代碼進行有針對性的編排組合,以更加高效地運行于目標(biāo)平臺.到目前為止,龍芯平臺上 GCC編譯環(huán)境只能選擇與龍芯平臺兼容的 GCC for MIPS來實現(xiàn).

圖3 創(chuàng)建本地環(huán)境流程圖

如圖3所示,龍芯3號CPU采用MIPS指令系統(tǒng),因此需要特定的編譯器后端支持,以實現(xiàn)產(chǎn)生的二進制指令可在龍芯CPU上正確運行.本文采用 GCC for MIPS來建立本地編譯環(huán)境.通過實踐發(fā)現(xiàn),系統(tǒng)附帶的交叉編譯工具本身存在一定問題,無法通過利用交叉編譯工具編譯源碼的方式來添加 GCC for MIPS到系統(tǒng)中.只有采取直接安裝 GCC for MIPS二進制軟件包的方式來建立本地編譯環(huán)境.

本地編譯環(huán)境的建立也有2種方式:一種是直接在Linux內(nèi)核基礎(chǔ)上通過系統(tǒng)命令安裝已經(jīng)編譯好的二進制 GCC 工具軟件包;另外一種則是通過交叉編譯器從源碼開始編譯GCC 工具鏈.相比而言,前者的效率更高,但是需要相關(guān)支持工具.由于Linux內(nèi)核中的一些系統(tǒng)命令程序是不完整的,必須要先在一個與龍芯平臺兼容的平臺上安裝一個Linux操作系統(tǒng),然后獲取相關(guān)系統(tǒng)工具添加到開發(fā)環(huán)境中,才能夠完成本地編譯環(huán)境的安裝.這個兼容平臺可以通過2種方式實現(xiàn):一種是硬件平臺,由于Linux系統(tǒng)支持MIPS架構(gòu),而龍芯平臺與MIPS架構(gòu)兼容,因此在1臺MIPS架構(gòu)的計算機系統(tǒng)中可以直接安裝已經(jīng)開發(fā)好的Linux操作系統(tǒng),然后獲取相關(guān)系統(tǒng)工具并添加到龍芯平臺開發(fā)環(huán)境中;另外一種是通過模擬器軟件模擬1臺MIPS架構(gòu)的計算機系統(tǒng),然后同樣在系統(tǒng)中安裝Linux操作系統(tǒng),獲取并添加相關(guān)系統(tǒng)工具到龍芯平臺開發(fā)環(huán)境中.

交叉編譯器是整個交叉開發(fā)環(huán)境的核心模塊,在由該模塊負責(zé)完成應(yīng)用程序的編譯后,應(yīng)用程序才能在特定的硬件平臺上運行.交叉編譯器工具鏈由一套用于編譯、匯編和連接內(nèi)核及應(yīng)用程序的組件組成.龍芯公司增強、移植了GNU開發(fā)環(huán)境,為用戶提供了2套交叉編譯工具鏈:一套是基于GNU GCCBinutils的工具鏈,供用戶開發(fā)擴展操作系統(tǒng)功能以及應(yīng)用程序使用;另一套是 SDE-MIPS工具鏈,主要是提供給進行系統(tǒng)軟件開發(fā)的用戶開發(fā)專用 Firmware使用.

需要注意的是,在交叉編譯環(huán)境建立過程中,應(yīng)用程序二進制接口(ABI)存在兼容性問題.一方面,為了編譯64 b內(nèi)核,交叉編譯環(huán)境所包含的庫文件應(yīng)該是64 b的,而開發(fā)環(huán)境附帶的交叉編譯環(huán)境所提供的庫文件是32 b的;另一方面,要使交叉編譯環(huán)境中對目標(biāo)文件進行操作的應(yīng)用程序能夠正常運行,宿主機中也必須提供相應(yīng)的應(yīng)用程序運行支撐庫以及其他庫文件.為了能夠編譯生成64 b內(nèi)核,需要將交叉編譯環(huán)境中的32 b庫文件重新編譯生成新的64 b庫文件.

2.4 安全虛擬桌面架構(gòu)

虛擬桌面[11]是典型的云計算應(yīng)用,它能夠為用戶提供遠程的計算機桌面服務(wù).服務(wù)提供者在云端運行用戶所需的操作系統(tǒng)和應(yīng)用軟件,然后用桌面顯示協(xié)議將操作系統(tǒng)桌面視圖以圖像的方式傳送到用戶端設(shè)備上.同時,服務(wù)器對用戶端的輸入進行處理,并隨時更新桌面視圖的內(nèi)容.

虛擬桌面技術(shù)具有多方面優(yōu)勢,能夠提供隨時訪問能力,支持多樣化接入設(shè)備選擇,可以有效降低軟硬件的管理維護成本,提高用戶的數(shù)據(jù)安全保護水平,這使得虛擬桌面具有廣闊的應(yīng)用前景.

VDI架構(gòu)是虛擬桌面技術(shù)采用的主流架構(gòu).在該架構(gòu)中,用戶的客戶端請求信息被虛擬桌面交付控制器接收,并通過它連接到資源池,資源池對多個虛擬桌面實例進行統(tǒng)一管理.虛擬桌面最終通過ICA協(xié)議傳輸?shù)接脩舻目蛻舳擞枰燥@示,供用戶使用.安全虛擬桌面管理系統(tǒng)部署圖如圖4所示:

圖4 安全虛擬桌面管理系統(tǒng)部署圖

以Web瀏覽器作為客戶端實現(xiàn)基于VDI架構(gòu)的安全虛擬桌面是一種可行方案,如海泰安全瀏覽器,以Websocket協(xié)議為基礎(chǔ)設(shè)計底層通道,既保持了瀏覽器跨平臺和易支持移動客戶端的優(yōu)點,又降低了虛擬桌面?zhèn)鬏斶^程中的傳輸流量和時延.

用戶可以通過PC、平板、手機等多種終端接入.安全網(wǎng)關(guān)在用戶接入時提供加密服務(wù),屏蔽內(nèi)部設(shè)備的IP地址.虛擬桌面管理系統(tǒng)接收用戶請求信息,并將請求發(fā)送到連接服務(wù)器.連接服務(wù)器向虛擬桌面用戶管理中心發(fā)送請求,對用戶提供的登錄信息進行校驗,以確認(rèn)是否提供連接到虛擬桌面管理中心的服務(wù).用戶選擇需要連接的桌面之后,連接服務(wù)器控制虛擬機管理中心創(chuàng)建或連接到該虛擬桌面所在的桌面池,最后由桌面池將用戶要連接的桌面信息返回到用戶的客戶端上顯示.

虛擬桌面系統(tǒng)采用瘦客戶端,系統(tǒng)中所有的計算處理均在虛擬機服務(wù)器上完成.以不影響用戶對虛擬桌面的使用體驗為前提,虛擬桌面管理系統(tǒng)對每個虛擬桌面運行的程序和性能狀態(tài)進行實時監(jiān)控.對虛擬桌面系統(tǒng)采用統(tǒng)一的監(jiān)控能夠更好地為虛擬桌面系統(tǒng)提供升級維護服務(wù),由于虛擬桌面系統(tǒng)的管理是不間斷的,而且虛擬桌面運行時的負載情況也相對不固定,隨著不同的時間段、不同的地點、不同的使用者都會發(fā)生變化,所以對支撐虛擬桌面系統(tǒng)的底層硬件設(shè)施系統(tǒng)要求相對較高.考慮到這些因素,對虛擬桌面系統(tǒng)的管理模塊必須盡可能簡化,以減輕對硬件設(shè)施造成的壓力,但是又必須能夠保證具有基本的管理功能.對企業(yè)來說,一旦虛擬桌面出現(xiàn)故障,維護人員必須第一時間就能夠清楚知道問題所在,更好地為用戶解決問題.

管理系統(tǒng)運行于虛擬桌面管理系統(tǒng)上,與安全網(wǎng)關(guān)、連接服務(wù)器以及桌面池相連.用戶通過網(wǎng)關(guān)鑒權(quán)登錄,管理系統(tǒng)處理請求,向連接服務(wù)器發(fā)出信息,最后由桌面向管理系統(tǒng)發(fā)出響應(yīng)動作,管理系統(tǒng)共包括5個功能模塊,分別是桌面管理、配置管理、系統(tǒng)監(jiān)控、性能統(tǒng)計、告警管理.

2.5 安全沙箱

伴隨著互聯(lián)網(wǎng)的飛速發(fā)展,網(wǎng)絡(luò)攻擊事件與日俱增,攻擊手段繁雜多樣,這使得瀏覽器用戶極易遭受安全威脅.為瀏覽器引入安全沙箱機制能夠有效緩解這一問題.

沙箱技術(shù)是一種常用的安全機制.安全沙箱為來源不可信、具備破壞力或無法判定其意圖的程序提供了隔離化的執(zhí)行環(huán)境[12],以確保運行于沙盒中的進程不會對主機造成破壞.為實現(xiàn)這一目的,沙箱以虛擬化磁盤、虛擬的內(nèi)存空間,以及虛擬化網(wǎng)絡(luò)資源組成虛擬執(zhí)行環(huán)境,并將不可信程序置于其間運行.虛擬執(zhí)行環(huán)境對被隔離的程序而言是完全透明的,這種隔離機制使得沙箱技術(shù)具備良好的易控制、易恢復(fù)、高安全性,因此經(jīng)常用于安全軟件、瀏覽器等應(yīng)用中.目前,國內(nèi)主流安全瀏覽器廠商,如海泰方圓等均在其瀏覽器產(chǎn)品中實現(xiàn)了沙箱機制.

沙箱技術(shù)一般通過過濾和重定技術(shù)實現(xiàn),主要利用Hook技術(shù).在不同層面實現(xiàn)Hook,能夠得到不同層面的沙箱,盡管原理相似,但實現(xiàn)方式和安全性能卻有著較大的差異.以海泰安全瀏覽器為例,瀏覽器沙箱利用重定向技術(shù),將程序生成和修改的文件定向到自身文件夾中.當(dāng)程序試圖發(fā)揮作用時,安全軟件可以強制其在沙箱中運行,如果含有惡意行為,則禁止程序的進一步運行,以防止其對系統(tǒng)造成任何危害.

圖5 沙箱系統(tǒng)的總體架構(gòu)

圖5為沙箱系統(tǒng)的總體架構(gòu).首先選擇關(guān)鍵數(shù)據(jù)(data)放進沙箱內(nèi)進行保護,然后采用相關(guān)的技術(shù)將這些關(guān)鍵數(shù)據(jù)虛擬到沙箱外,使得沙箱內(nèi)的數(shù)據(jù)與此虛擬數(shù)據(jù)形成映射關(guān)系.當(dāng)網(wǎng)頁腳本訪問相關(guān)數(shù)據(jù)時,腳本能夠讀取到沙箱內(nèi)的數(shù)據(jù),若腳本為不可靠程序時,可以采用干預(yù)系統(tǒng)調(diào)用的方式,將該系統(tǒng)調(diào)用的默認(rèn)訪問方式以及訪問路徑更改為其他方式與路徑,將對關(guān)鍵數(shù)據(jù)的操作映射到這些數(shù)據(jù)對應(yīng)的虛擬數(shù)據(jù)上,系統(tǒng)調(diào)用的操作結(jié)果會作用到虛擬數(shù)據(jù)上,網(wǎng)頁腳本對關(guān)鍵數(shù)據(jù)的操作最終被重定向到虛擬數(shù)據(jù)上,即圖5內(nèi)在沙箱外數(shù)據(jù)內(nèi)的方形部分.

當(dāng)系統(tǒng)需要運行未知程序時,為了保護系統(tǒng)資源完整性不受未知程序破壞,可以采用沙箱技術(shù)來執(zhí)行這些未知程序.沙箱用到一些干涉技術(shù)或者是限制技術(shù),如果程序運行時出現(xiàn)了非法訪問行為,沙箱系統(tǒng)可以阻止這些訪問,進而保證系統(tǒng)資源的安全.

Web瀏覽器安全沙箱可用來保護瀏覽網(wǎng)頁時真實系統(tǒng)的安全,也可以用來清除上網(wǎng)、運行程序的痕跡.在沙箱進程中下載的文件可以隨著沙箱的清空而刪除.在Web瀏覽器內(nèi)構(gòu)造這樣一個獨立的虛擬空間,所有網(wǎng)頁程序都將密閉在此空間內(nèi)運行,這有效保證了網(wǎng)頁上任何木馬、病毒、惡意程序的攻擊均被限制于沙箱中,而無法對物理主機系統(tǒng)產(chǎn)生破壞.

為瀏覽器引入沙箱技術(shù),目的在于降低瀏覽器通過腳本訪問服務(wù)端資源時給主機系統(tǒng)帶來的傷害.當(dāng)瀏覽器沙箱運行時運行的線程有嚴(yán)格的運行權(quán)限,因此可以阻止惡意腳本的非法訪問.當(dāng)腳本超出所允許的權(quán)限時沙箱將阻止進程的運行,以有效保護主機資源.

通過沙箱系統(tǒng)來分析一些未知網(wǎng)頁腳本的行為特性,檢測網(wǎng)頁腳本是否具有惡意行為特征,這樣在執(zhí)行這些惡意網(wǎng)頁腳本時,可有效抵御惡意腳本對系統(tǒng)的影響.

通過對惡意行為的分析與分類,提取惡意行為特征碼,將這些特征碼應(yīng)用到沙箱保護策略中,可以有效地阻止和預(yù)防惡意網(wǎng)頁腳本的破壞行為.當(dāng)在沙箱中加入惡意行為特征碼后,可以以此為標(biāo)志,網(wǎng)頁腳本在沙箱中執(zhí)行時,可以通過對應(yīng)用程序的監(jiān)視判斷其是否含有特征碼特征,以判斷繼續(xù)運行程序還是終止程序,達到保護系統(tǒng)的目的.

2.6 兼容性保障

海泰安全瀏覽器通過對HTML5[13]標(biāo)準(zhǔn)支持技術(shù)和NPAPI[14]等瀏覽器插件兼容技術(shù)進行研究,以提供對多種在線辦公和數(shù)據(jù)展示插件,包括流式辦公插件、版式辦公插件、SVG矢量圖插件和三維VRML插件等的支持.

通過對HTML5標(biāo)準(zhǔn)規(guī)范深入研究,海泰瀏覽器充分掌握了HTML5標(biāo)準(zhǔn)規(guī)范的詳細細節(jié).通過對瀏覽器的源代碼深入分析,解析其內(nèi)部結(jié)構(gòu),確定其對HTML5標(biāo)準(zhǔn)規(guī)范的具體支持方式,并對源代碼進行優(yōu)化,使其充分支持HTML5標(biāo)準(zhǔn)規(guī)范.

插件技術(shù)是大量現(xiàn)有應(yīng)用系統(tǒng)的技術(shù)基礎(chǔ),對插件技術(shù)的有效支持是Web應(yīng)用系統(tǒng)正確運行的必要前提.現(xiàn)實情況下,由于國產(chǎn)平臺瀏覽器對插件支持不夠完善,導(dǎo)致大量歷史應(yīng)用系統(tǒng)無法正常運行.海天瀏覽器研發(fā)團隊針對典型流式辦公插件、版式辦公插件、SVG矢量圖插件和三維VRML插件進行分析,通過實際調(diào)試,確定導(dǎo)致插件不能正常運行的原因.具體為瀏覽器插件機制對一部分接口的實現(xiàn)不完備,通過補足未實現(xiàn)的接口,為其提供具體實現(xiàn)功能代碼,確保對以上插件的完整支持.

插件接口使用NPAPI接口標(biāo)準(zhǔn).NPAPI提供2類接口:一類以NPP開頭,接口由插件來實現(xiàn),被瀏覽器調(diào)用,主要功能包括插件創(chuàng)建、初始化、關(guān)閉、銷毀、信息查詢及事件處理、數(shù)據(jù)流、窗口設(shè)置和訪問URL等.另一類接口以NPN開頭,由瀏覽器來實現(xiàn),并被插件所調(diào)用,主要包括圖形繪制、數(shù)據(jù)流處理、瀏覽器信息查詢、內(nèi)存分配和釋放、瀏覽器的插件設(shè)置和訪問URL等.

插件模塊采用安全模型設(shè)計,每一種類型的plugin只有一個進程,如果有2個或者多個網(wǎng)頁進程同時使用同一個插件,那么該插件會共享同一個進程.

插件解析過程如下:

瀏覽器打開一個包括embed標(biāo)簽的網(wǎng)頁時,瀏覽器會響應(yīng)以下行為:

1) 檢測帶有MIME類型的插件;

2) 加載插件代碼到內(nèi)存中;

3) 初始化插件;

4) 創(chuàng)建插件的實例.

瀏覽器引擎可以加載同一插件的多個實例在一個網(wǎng)頁上,或者同時在幾個打開的窗口.當(dāng)網(wǎng)頁或瀏覽器關(guān)閉窗口,插件實例被刪除.當(dāng)最后一個實例被刪除,插件代碼從內(nèi)存中卸載.

3 未來工作

3.1 惡意腳本檢測技術(shù)

隨著Web網(wǎng)站的普及和互動性的增強,統(tǒng)計顯示W(wǎng)eb網(wǎng)頁上加載的惡意腳本已成為互聯(lián)網(wǎng)的最大安全隱患,傳統(tǒng)的惡意腳本包括:病毒、蠕蟲、特洛伊木馬和攻擊性腳本,Javas攻擊小程序和危險的ActiveX控件.在未來的工作中,本文擬采用基于機器學(xué)習(xí)的方法實現(xiàn) Web瀏覽器惡意腳本檢測,主要是在靜態(tài)分析和利用安全沙箱動態(tài)分析腳本的基礎(chǔ)上,提取腳本的代碼特征,利用樸素貝葉斯(Native Bayes)、支持向量機(SVM)、K-最近鄰(KNN)、決策樹、線性回歸等分類算法及劃分聚類算法、層次聚類算法、密度聚類算法等聚類算法,通過對檢測樣本的學(xué)習(xí)和訓(xùn)練,自動化地識別出惡意腳本,一旦檢測出惡意腳本,就會給用戶發(fā)出提示并自動阻斷惡意腳本的加載和運行,體現(xiàn)出Web安全瀏覽器在惡意腳本檢測方面的智能化和腳本加載運行方面的可控可管.另一方面,根據(jù)不同的應(yīng)用場景,采用高效的機器學(xué)習(xí)算法,可提高惡意腳本檢測的效率和準(zhǔn)確率,體現(xiàn)了Web安全瀏覽器的人工智能化.

3.2 瀏覽器加速技術(shù)

本文在下一步工作中,擬采用基于緩存的Web瀏覽器網(wǎng)頁加速和基于GPU硬件的Web瀏覽器網(wǎng)頁加速技術(shù),通過采用緩存的方式壓縮網(wǎng)頁數(shù)據(jù),并采用運算能力強大的GPU硬件加速的方式快速加載網(wǎng)頁數(shù)據(jù).

4 結(jié)束語

瀏覽器是基礎(chǔ)核心軟件,作為信息系統(tǒng)生態(tài)環(huán)境的重要環(huán)節(jié),瀏覽器是用戶訪問網(wǎng)絡(luò)服務(wù)的重要手段和主要入口,承載著大量網(wǎng)絡(luò)應(yīng)用及信息系統(tǒng),也是最常使用的客戶端軟件.目前我國信息環(huán)境中使用的瀏覽器主要來自國外,存在一系列重大安全問題.

近幾年來,為發(fā)展自主可控軟硬件系統(tǒng)國產(chǎn)化進程,國內(nèi)一些企業(yè)進行了積級的探索,典型地,如以“龍芯”為代表的自主CPU芯片以及以中標(biāo)軟件為代表的“中標(biāo)麒麟”國產(chǎn)操作系統(tǒng)企業(yè),國產(chǎn)化信息平臺建設(shè)取得了長足的發(fā)展,國產(chǎn)化替代有著巨大的發(fā)展空間.

伴隨著整個國家信息化建設(shè)進程中國產(chǎn)化替代的速度逐步提升,自主可控成為國產(chǎn)化過程中的重要目標(biāo).自主就意味著必須要擁有完整知識產(chǎn)權(quán),依靠國內(nèi)力量自身的研發(fā)設(shè)計,全面掌握產(chǎn)品核心技術(shù),實現(xiàn)信息系統(tǒng)從硬件到軟件的自主研發(fā)、生產(chǎn)、升級、維護的全程自主可控.

國產(chǎn)平臺瀏覽器是對國產(chǎn)化進程的有力支持,可以廣泛應(yīng)用于基于國產(chǎn)化軟硬件平臺的信息管理系統(tǒng)、辦公系統(tǒng)等使用BS架構(gòu)的應(yīng)用系統(tǒng).

[1]倪光南. 采用自主可控軟件是保障信息安全的前提[J]. 中國信息安全, 2010 (9): 1-2

[2]鐘博. 自主可控戰(zhàn)略下信息安全產(chǎn)業(yè)發(fā)展壯大的思考[J]. 信息安全與通信保密, 2015 (1): 36-37

[3]劉權(quán). 我國自主可控信息產(chǎn)業(yè)發(fā)展對策[J]. 信息安全與通信保密, 2014 (9): 42-42

[4]趙宇亮, 胡威, 張冰, 等. 國家商用密碼算法綜述[C] //2016電力行業(yè)信息化年會論文集. 天津: 大眾用電, 2016: 132-134

[5]汪朝暉, 張振峰. SM2橢圓曲線公鑰密碼算法綜述[J]. 信息安全研究, 2016, 2(11): 972-982

[6]王小云, 于紅波. SM3密碼雜湊算法[J]. 信息安全研究, 2016, 2(11): 983-994

[7]呂述望, 蘇波展, 王鵬, 等. SM4分組密碼算法綜述[J]. 信息安全研究, 2016, 2(11): 995-1007

[8]袁勝. “芯”安體健,從根本做起——龍芯打造自主可控“中國芯”[J]. 中國信息安全, 2011 (6): 38-40

[9]胡偉武, 高燕萍, 陳天石. The godson processors: Its research, development, and contributions [J]. Journal of Computer Science and Technology, 2011, 26(3): 363-372

[10]吳慶波, 戴華東, 吳泉源. 麒麟操作系統(tǒng)層次式內(nèi)核設(shè)計技術(shù)[J]. 國防科技大學(xué)學(xué)報, 2009, 31(2): 76-80

[11]孟強. 虛擬桌面基礎(chǔ)架構(gòu)的設(shè)計與開發(fā)[D]. 上海: 復(fù)旦大學(xué), 2014

[12]趙長林. 面向瀏覽器的沙盒系統(tǒng)的分析與設(shè)計[D]. 北京: 北京郵電大學(xué), 2012

[13]Pilgrim M. HTML5: Up and Running[M]. Sebastopol, CA: O’Reilly Media, Inc, 2010

[14]鄒強. 基于NPAPI的移動應(yīng)用瀏覽器插件的設(shè)計與實現(xiàn)[D]. 西安: 西安電子科技大學(xué), 2011

猜你喜歡
沙箱插件桌面
基于APP在線控制雙擠出頭FDM桌面3D打印機的研制
桌面云技術(shù)在鐵路行業(yè)中的應(yīng)用
自編插件完善App Inventor與樂高機器人通信
Removing a stone
巧用沙箱檢測文件安全
桌面裝忙
文件檢測方法及沙箱
基于jQUerY的自定義插件開發(fā)
基于Revit MEP的插件制作探討
沙箱技術(shù)研究綜述