文獻(xiàn)標(biāo)識(shí)碼: A
DOI: 10.19358/j.issn.2096-5133.2020.09.006
引用格式: 魯振,,胡堅(jiān)升,李名揚(yáng). 一種多架構(gòu)應(yīng)用軟件開(kāi)發(fā)及運(yùn)行方法研究與實(shí)現(xiàn)[J].信息技術(shù)與網(wǎng)絡(luò)安全,,2020,,39(9):28-33.
1 背景介紹
1.1 現(xiàn)狀分析
近年來(lái),以自主CPU+OS為核心的國(guó)產(chǎn)基礎(chǔ)軟硬件生態(tài)體系不斷發(fā)展和完善,,但仍存在一些短板和弱項(xiàng),,比如基礎(chǔ)軟件方面,操作系統(tǒng)多是基于開(kāi)源的Linux系統(tǒng),,經(jīng)常會(huì)導(dǎo)致軟件開(kāi)發(fā)與運(yùn)行存在運(yùn)行依賴庫(kù)不規(guī)范,、應(yīng)用軟件版本混亂、沖突等問(wèn)題,?;谙到y(tǒng)開(kāi)發(fā)和運(yùn)行的實(shí)踐,當(dāng)前國(guó)產(chǎn)基礎(chǔ)軟件生態(tài)體系主要存在以下四個(gè)方面的問(wèn)題,。
(1)開(kāi)發(fā)嚴(yán)重碎片化,。Linux上存在太多的開(kāi)發(fā)庫(kù),國(guó)產(chǎn)操作系統(tǒng)缺少一套類似微軟.NET框架的統(tǒng)一開(kāi)發(fā)解決方案,,開(kāi)發(fā)者難以選擇最佳的開(kāi)發(fā)語(yǔ)言,、開(kāi)發(fā)庫(kù)和開(kāi)發(fā)環(huán)境,比如對(duì)C/C++而言,,主流的用戶界面(UI)程序開(kāi)發(fā)有Gtk,、Qt、WxWidget三種,,同時(shí)Gtk本身又有Gtk2和Gtk3系列[1],,Qt有Qt4和Qt5區(qū)分。Linux應(yīng)用軟件開(kāi)發(fā)者需要一套開(kāi)發(fā)和運(yùn)行的行業(yè)標(biāo)準(zhǔn),,解決開(kāi)發(fā)框架選擇難,、開(kāi)發(fā)文檔少或無(wú)、開(kāi)發(fā)庫(kù)版本多,、開(kāi)發(fā)接口不統(tǒng)一等問(wèn)題,。
(2)權(quán)限控制機(jī)制存在安全隱患。主流的國(guó)產(chǎn)操作系統(tǒng)使用基于用戶角色的權(quán)限控制機(jī)制,,應(yīng)用一般具備諸如訪問(wèn)用戶文件[2],、訪問(wèn)其他應(yīng)用數(shù)據(jù)[3]、使用網(wǎng)絡(luò)和外部設(shè)備[4]等權(quán)限,。雖然大多數(shù)的Linux發(fā)行版(典型的如Debian,、Ubuntu、Redhat,、Centos)都提供自身的軟件包維護(hù)機(jī)制,,用戶往往也使用值得信賴的源下載應(yīng)用,但病毒往往也會(huì)利用應(yīng)用程序這條路徑植入傳播。用戶對(duì)一些程序的非法操作往往會(huì)導(dǎo)致嚴(yán)重的安全問(wèn)題,,給自身帶來(lái)極大的困擾,。例如用戶使用的應(yīng)用程序需要訪問(wèn)網(wǎng)絡(luò)時(shí),有可能會(huì)從不安全的站點(diǎn)下載惡意程序,,執(zhí)行一些非法操作,,如盜取用戶的敏感信息,干擾用戶的日常工作,、數(shù)據(jù)安全和個(gè)人隱私等,,用戶需要一種有效的保護(hù)計(jì)算機(jī)安全的方法,比如利用沙箱技術(shù)給應(yīng)用程序提供隔離的運(yùn)行空間,。
(3)跨架構(gòu)應(yīng)用移植不統(tǒng)一,。應(yīng)用軟件可移植性越來(lái)越受到關(guān)注,諸如Java,、Python等語(yǔ)言都提供一套虛擬機(jī)用于屏蔽底層處理器和操作系統(tǒng)差異[5],,但是對(duì)于C/C++等平臺(tái)相關(guān)編程語(yǔ)言,目前缺少一種跨架構(gòu)的可移植開(kāi)發(fā)運(yùn)行解決方案[6],。
(4)應(yīng)用軟件版本混亂,。主流的國(guó)產(chǎn)操作系統(tǒng)發(fā)行版都使用類似RPM、DPKG等打包系統(tǒng)構(gòu)建,,最大的特點(diǎn)是上游開(kāi)發(fā)者和下游軟件包維護(hù)者(打包者)明顯地區(qū)分開(kāi),。上游應(yīng)用開(kāi)發(fā)者編寫(xiě)代碼,下游發(fā)行者獲取并將其轉(zhuǎn)化(編譯,、編寫(xiě)規(guī)則并重新打包)為RPM或DEB包,;最后安裝到本地系統(tǒng)中。這種場(chǎng)景在一定程度上解決了包的風(fēng)險(xiǎn)問(wèn)題,,因?yàn)檐浖S護(hù)者往往會(huì)選擇值得信賴和功能可靠的應(yīng)用,,但是也難以避免地暴露一些問(wèn)題,上游應(yīng)用開(kāi)發(fā)者往往希望更高的發(fā)布速度,,而事實(shí)上完全依賴下游發(fā)行者打包開(kāi)發(fā)的應(yīng)用,,下游發(fā)行者決定具體的調(diào)度、申明,、打包,、提供支持等規(guī)則。應(yīng)用本身的實(shí)際測(cè)試變得十分困難,,因?yàn)樽罱K用戶往往可能使用不同的包版本,,應(yīng)用在某個(gè)發(fā)行版的某個(gè)版本下的測(cè)試,無(wú)法確定應(yīng)用在其他發(fā)行版和其他版本的任意組合下都能正常運(yùn)行,;要測(cè)試應(yīng)用在某個(gè)發(fā)行版的某個(gè)版本下的運(yùn)行,,開(kāi)發(fā)者往往需要安裝該發(fā)行版的版本環(huán)境,,并編譯運(yùn)行該應(yīng)用,這將是一項(xiàng)繁雜的工作,。
本文詳細(xì)內(nèi)容請(qǐng)下載:http://forexkbc.com/resource/share/2000003090
作者信息:
魯 振,,胡堅(jiān)升,李名揚(yáng)
(中軟信息系統(tǒng)工程有限公司,,北京102209)