趙正旭 徐博賢 溫晉杰
摘 要: 近年來,“棱鏡門事件”、“XP 停服”等網絡安全事件頻發,各國深感信息安全面臨巨大威脅,國外操作系統的安全性遭到質疑。為落實信息安全自主可控戰略,推動航天領域信息安全建設,文章結合中標麒麟系統,利用Qt技術,完成了探月工程遙操作系統國產化遷移。實驗結果表明,所使用的移植方案是可行的,可為航天領域其他信息系統的移植提供可行的現實依據,有助于航天領域科技成果知識產權的保護。
關鍵詞: 探月工程; 遙操作系統; 國產化; 系統移植; 自主可控; 信息安全
中圖分類號:TP311.5 文獻標志碼:A 文章編號:1006-8228(2018)11-27-04
Abstract: In recent years, with the outbreak of a series of major events such as the “PRISM” and “XP Stop Service”, all countries in the world are deeply concerned that information security is facing a huge threat, which also makes the security of foreign operating systems suffer to question. To implement the autonomous and controllable strategy of information security and promote the construction of information security in the aerospace field, this paper migrates the teleoperation system in lunar exploration missions from Windows to NeoKylin by using Qt technology. The results show this scheme is feasible. The transplantation of this system provides a viable practical basis for the transplantation of other information systems in the aerospace field, thus contributing to the protection of scientific and technological achievements in the aerospace field.
Key words: lunar exploration; teleoperation system; nationalization; system migration; autonomous and controllable; information safety
0 引言
操作系統作為計算機最重要的組成部分,管理著硬件、軟件和數據信息,為用戶和計算機之間的交互提供了一個圖形化界面,不僅可以提高使用者的工作效率,也為程序開發及運行提供基本環境[1]。
操作系統是保障信息安全的基石。近年來,“棱鏡門事件”、“XP系統停服”等一系列與系統安全有關的大事相繼發生,使得國產操作系統再度成為關注的焦點,然而,國內操作系統市場目前為微軟等跨國公司壟斷,國產操作系統的發展嚴重滯后,這嚴重威脅著我國的信息安全[2]。
在我國,航天任務具有投資多、風險大、任務重、涉及廣、可靠性和安全性要求高等特點,在實施與執行的過程中,不僅要想方設法減少成本,更重要的是需要多個專業領域的研究人員積極配合,嚴格遵守保密須知,保證任務的成功,這是一項極具挑戰性的復雜系統工程[3]。目前航天部門大多使用Windows系列的系統進行研發,然而,微軟被曝利用壟斷地位賺取暴利,竊取機密數據。因此,實現關鍵技術國產化,減少對外國技術的依賴,保護科技成果知識產權迫在眉睫。本文在參與研發嫦娥探月工程遙操作系統的基礎上,針對目前信息安全方面存在的安全隱患,實現遙操作系統的國產化。
1 背景
隨著全球信息產業的發展,網絡信息安全問題越來越突出。然而,全球網絡信息安全事件頻繁發生,嚴重威脅各國經濟社會的安全和穩定。2013年6月曝光的“棱鏡門”事件,使得用戶被監控,信息數據被竊取;2014年,微軟對XP系統停服,企圖利用XP系統的安全隱患強迫用戶支付高額費用升級系統;Win8、Win10可信計算框架的嵌入,微軟加強了對用戶的控制[4]。2015年4月,社保信息安全漏洞,設計人員多達數千萬。2017年5月,WannaCry勒索病毒席卷全球,短短數小時數十個國家均受到攻擊。這些網絡安全事件不僅影響到了互聯網使用者的利益,更重的是危害到了國家的安全和穩定。
中國作為互聯網大國,是受到網絡攻擊最頻繁的國家之一[5]。圖1表明了從2013年到2017年網絡安全漏洞新增數量。
從圖1中可以看出,我國新增信息安全數量從2013年的七千多件增加到2017年的一萬六千多件,短短五年時間網絡安全事件的增長速度呈上升走勢。
根據以上數據以及現狀分析,互聯網安全事件頻繁發生,網絡安全形勢依然嚴峻。為了維護國家的信息安全,實現信息技術產業,尤其是對安全要求嚴格的政府部門以及相關企業,完成科技成果自主可控刻不容緩。
2 遙操作系統移植方案分析與設計
2.1 遷移平臺分析
遙操作系統是嫦娥探月工程中的一款可視化軟件,它為其余航天軟件的通信提供了一個交互接口,集圖像預處理、地形建立 、視覺定位、任務規劃、規劃驗證于一體,協助完成嫦娥探月工程發射任務。鑒于其專用性、重要性,選擇一款穩定、安全級別高的遷移平臺是必要的。
本文選擇中標麒麟操作系統。這款操作系統是國產操作系統中比較成熟、穩定,應用也比較廣泛的操作系統。最重要的是它能滿足政府、國防、金融、涉密等領域的安全需求,取得了公安部四級、軍B+級安全認證,從而可以防止關鍵數據被篡改被竊取,系統免受攻擊[6]。在移植過程中主要考慮Windows和Linux操作系統的差異。比如采用何種集成開發環境,依賴庫以及代碼會有哪些差異。下面對移植方案進行分析。
2.2 方案設計
根據上述對遷移平臺的分析,實現對遙操作系統的移植可分為如圖2所示的幾個步驟。
對圖2的說明如下。
⑴ 遙操作系統采用Visual Studio 2008+Qt 4.7.4平臺開發,主體采用C++語言。首先采用可跨平臺的Qt Creator替代VS2008。重新編譯庫文件,Windows和Linux所使用的第三方動態庫文件格式不一致,Windows系統上使用的庫是基于VS編譯器所生成的
.lib文件,而麒麟系統要使用基于GCC編譯器所生成的
.so文件。
⑵ 配置項目開發環境,主要工作包括Qt Creator的環境配置(選擇Qt版本,GCC作為編譯器),編寫PRO文件,鏈接以上編譯的庫文件,利用PRO文件將項目導入IDE。
⑶ 修改程序代碼,因為不同的操作系統支持的接口函數和數據類型可能不同,這一部分需要一一對比,手動修改。
⑷ 修改調試過程中的錯誤。在移植過程中可能出現其他不可預知的錯誤,這就需要根據調試信息進行修改。
3 系統移植核心技術研究與實現
3.1 軟件安裝與庫的編譯
遙操作系統是基于Windows 7操作系統研發的,Windows 7內核采用Windows NT系列,而中標麒麟采用Linux內核,表1比較遙操作系統在兩款操作系統上開發環境的不同。
通過表格分析,遙操作系統的開發環境,只是將Visual Studio 2008改成了Qt Creator,其余的軟件并未更改。VS2008是美國微軟公司開發的基于Windows系統的軟件開發工具,不具移植性。Qt Creator是跨平臺Qt IDE,支持Linux系統。因此,本文采用Qt Creator替代VS。由此種情況可以看出,移植前遙操作業平臺的研發與運行都依賴美國微軟的關鍵技術,完成此信息系統的國產化,將避免類似美國政府禁止技術支持或實施類似“棱鏡門”計劃所造成的威脅,減小對信息安全所造成的沖擊。
從上述表格可以看出,大部分的軟件都提供了Windows版的安裝包,而對于中標麒麟系統必須采用源碼安裝方式,這追根究底還是因為國產操作系統的發展還沒有形成完整的生態鏈,很多第三方軟件并沒有提供對國產操作系統的支持[7]。然而,中標麒麟卻提供了一系列軟件維護工具,本文使用yum管理軟件包,比如安裝Qt時,執行yum install libX*命令安裝所依賴的lib庫。對于企業級用戶,包括企事業單位以及政府機關乃至軍隊等部門來說,電腦升級新系統更要考慮很多關鍵因素,比如安全問題和穩定性,在這方面,國產操作系統有其獨特的優勢。比如在安裝軟件時必須在root用戶下才可執行,這是因為中標麒麟操作系統是一個多用戶多任務操作系統,就是可以在系統上建立多個用戶,而多個用戶可以在同一時間內登錄同一系統執行不同的任務,而互不影響,這種用戶權限的劃分是系統安全的基礎[8]。當然麒麟系統也可以通過命令改變文件或目錄的讀、寫及可執行權限,比如在安裝Qt Creator時必須通過chmod命令改變安裝包的可執行權限[9]。
3.2 功能代碼分析與實現
功能代碼移植主要是考慮兩種開發環境的差異性,即Linux與Windows C++編程的不同之處,表2總結了在移植過程中碰到的問題以及解決辦法:
C++跨Linux與Windows編程的差異之處有很多,以上提到的這些僅是其中的一小部分,在不同的移植過程中遇到的問題也不盡相同,需要具體問題具體分析。
3.3 程序調試與問題解決
在遷移過程中,除了以上所提及的由于不同系統、不同編譯器引起的問題外,在調試階段還出現了其他問題。
3.3.1 線程問題
問題詳情如:[xcb]Unknown request in queue while dequeuing…,采取的解決辦法是在main.cpp中加頭文件#include
3.3.2 libpng版本不匹配
問題詳情如:libpng error: Incompatible libpng version in application and library,問題產生的原因是gdal所用的libpng版本是1.2.56,qt所用的libpng版本是1.5.4。解決方案:重新編譯gdal,所用的命令依次是:./configure(后面加上--with-png,以便指明libpng-1.5.4的路徑)、make、make install。
3.3.3 數據庫驅動問題
問題詳情:QSqlDatabase:QODBC driver not loaded…,問題顯示項目數據庫驅動加載錯誤。解決辦法:安裝unixODBC,命令依次為:./configure、gmake、gmake install,還需重新編譯qt,執行configure 命令時要加的參數為:-qt-sql-odbc -I+ unixODBC頭文件的路徑。
3.4 應用效果
無調試錯誤之后,系統可成功運行,圖3為圖像預處理窗口成功加載圖像的示意圖。圖像預處理主要增強圖像中有關信息并消除圖像中的無關信息,從而獲取圖像有用的真實數據。處理過程包括數字化、歸一化、平滑、復原和增強等步驟。
圖4為圖像匹配窗口操作界面。圖像匹配主要功能是根據所提出的匹配方法對衛星和月球車的對地序列圖像進行特征點匹配,并根據特征點的像素坐標在圖像上進行顯示,同時支持手動編輯匹配特征點。
4 經驗總結
4.1 操作系統遷移
通過本次實驗,對比Windows與中標麒麟操作系,就桌面布局來說,設計風格類似于Windows系列操作系統,最大程度的滿足了用戶對易用性的需求[13]。從項目開發來看,中標麒麟桌面操作系統提供了良好的開發環境,包括開發工具、編譯器、圖形IDE等,支持大多數主流的編程語言,極大地方便了用戶在此平臺下進行應用移植和開發。在本次實驗中采用源碼安裝Qt,因依賴問題曾多次重復安裝,但是從Qt5開始已經有了支持Linux平臺的安裝包,安裝過程更加簡單[10]。從安全角度出發,中標麒麟系統采用全方位的保護機制,更重要的是它屬于我國自主研發的操作系統,在安全、穩定性方面有很多的主動權[11]。從這些方面來看,中標麒麟系統的推出為實現操作系統領域“自主可控”的戰略目標奠定了基礎。
4.2 代碼變更及庫的遷移
遙操作系統采用C++語言編寫,中標麒麟對這種語言全面支持,根據遙操作系統相應的技術文檔以及國產操作系統和Windows C++編程的差異性,只需對部分項目文件進行修改。庫的遷移工作就是在麒麟系統下重新編譯所使用的庫,主要參照OSG庫以及GDAL庫在Linux系統編譯安裝的方法就可順利完成。
雖然在本次國產化遷移遇到了一些問題,但在開發人員及時提供技術支持的情況下,認真分析后研究出適配性處理方案,有效地解決了這些問題。通過本次實驗的觀察對比可發現,中標麒麟系統在安全、易用性、穩定性、兼容性方面優勢明顯,已經具備了應用于特定領域有特定用途的計算機本的條件,這里主要指航天可視化領域。
5 結束語
本文分析了當前信息安全現狀,在參與嫦娥探月工程遙操作系統研發的基礎上,提出了一種基于中標麒麟的遙操作系統移植方案。該方案充分驗證了國產操作系統性能的可靠穩定以及其在航天可視化領域的適用性,對于推進信息系統的國產化和知識產權保護具有重要的意義。今后的工作將圍繞通過其他編譯環境解決信息系統移植問題展開。
參考文獻(References):
[1] 陶智,趙正旭,劉世洋.基于國產操作系統應用軟件部署對策的探討[J].微型機與應用,2016.35(18):16-18
[2] 底潔.操作系統“國家隊”的邊路突圍[J].IT經理世界,2016.13:15-17
[3] 王濤,杜莎,邢宏偉,陳清華.基于國產自主可控平臺的三維圖形顯示技術研究[J].地理信息世界,2016.23(4):106-110
[4] 張厚明.國產操作系統發展滯后的成因與對策[J].中國國情國力,2015.10:56-58
[5] 蔣佳霖,徐聰.計算機行業周報:全國網信工作會議召開,國產化及網絡安全領域再迎政策利好[EB/OL]. [2018-04-15].https://wallstreetcn.com/articles/3281059.
[6] 陳光.基于中標麒麟平臺對達夢數據庫訪問技術研究[J].計算機技術與發展,2017.27(12):201-204
[7] 趙正旭,解衛靜,陶智[J].信息技術與信息化,2016.7:126-129
[8] 趙正旭.麒麟操作系統使用與推廣[M].科學出版社,2014.
[9] 舒然.J2EE應用系統的國產化遷移探討[J].金融科技時代,2016.8:29-31
[10] 姜家文,許榮勝,胡振宇.中標麒麟環境下基于Qt的神通數據庫編程淺析[J].軟件工程,2017.20(3):18-20
[11] 吳金才,張辛,吳勇軍,李智.國產操作系統的技術特點及應用范圍研究[J].電腦知識與技術,2015.11(4):94-95