◆王輝鵬
移動應(yīng)用軟件架構(gòu)安全技術(shù)研究
◆王輝鵬
(廣州供電局有限公司 廣東 510620)
TD-LTE網(wǎng)絡(luò)、單片機等技術(shù)的發(fā)展和應(yīng)用,有效促進了智能移動設(shè)備的普及,比如智能手機、平板電腦等,這些移動設(shè)備部署的應(yīng)用軟件也越來越廣泛,提高了人們社交通訊、在線學(xué)習(xí)、智能旅游、移動辦公的便捷性,但是移動應(yīng)用軟件架構(gòu)也面臨著較多的安全威脅,比如勒索病毒、DDOS攻擊等,這些木馬病毒利用移動應(yīng)用軟件架構(gòu)通信接口存在的漏洞,大肆攻擊移動應(yīng)用軟件,給使用者帶來了極大的損失。本文基于筆者多年的工作實踐,詳細地描述移動應(yīng)用軟件架構(gòu)特點及其面臨的安全威脅,同時利用先進的免疫網(wǎng)絡(luò)、非對稱加密、訪問控制、安全訪問等技術(shù)進一步提高系統(tǒng)移動應(yīng)用軟件的防御能力,具有重要的作用和意義。
移動應(yīng)用軟件;四層架構(gòu);勒索病毒;非對稱加密
移動通信已經(jīng)進入到4G和5G時代,為人們提供了更高的移動通信帶寬,基于移動通信的智能設(shè)備也層出不窮,比如華為P20、三星蓋世S9、蘋果智能手機、平板電腦等,這些智能設(shè)備承載的應(yīng)用軟件也非常多,比如手機QQ、微信、微博、手機銀行等,進一步提升了移動通信應(yīng)用范圍,方便了人們工作、生活和學(xué)習(xí)。移動應(yīng)用軟件開發(fā)時采用的架構(gòu)種類多種多樣,開發(fā)語言也非常多,不同應(yīng)用軟件的模塊在集成時難免會存在一些漏洞,因此許多病毒、木馬都利用這些軟件架構(gòu)漏洞進行攻擊,比如勒索病毒、DDOS攻擊等,可以盜竊應(yīng)用軟件的登錄用戶名和密碼,破壞用戶數(shù)據(jù)的完整性和安全性,給人們帶來了嚴重的財產(chǎn)損失[1]。
移動應(yīng)用軟件架構(gòu)是基于PC軟件的基礎(chǔ)改進而來的,其可以更好地適用于移動智能設(shè)備,常用的架構(gòu)主要包括經(jīng)典MVC架構(gòu)、三層架構(gòu)和四層架構(gòu)。
(1)經(jīng)典MVC架構(gòu)。經(jīng)典MVC架構(gòu)包括模型層、視圖層、控制器層,模型層可以封裝軟件應(yīng)用數(shù)據(jù),定義軟件操作,包括數(shù)據(jù)計算邏輯規(guī)則等;視圖層可以為用戶提供交互界面,響應(yīng)用戶的邏輯業(yè)務(wù)請求;控制層可以控制視圖層和模型層之間的交互。
(2)三層架構(gòu)。三層架構(gòu)包括表現(xiàn)層(UI)、業(yè)務(wù)邏輯層(BLL)和數(shù)據(jù)訪問層(DAL),表現(xiàn)層可以向用戶展現(xiàn)特定業(yè)務(wù)數(shù)據(jù),采集用戶輸入信息和操作;業(yè)務(wù)邏輯層可以從DAL中獲取數(shù)據(jù),輸出顯示到UI,完成UI輸出的操作指令和數(shù)據(jù)請求,執(zhí)行業(yè)務(wù)邏輯或訪問DAL;數(shù)據(jù)訪問層可以直接操作數(shù)據(jù)庫,完成信息的添加、修改、刪除和查詢。
(3)四層架構(gòu)。四層架構(gòu)是在三層架構(gòu)的基礎(chǔ)上發(fā)展而來的,添加了業(yè)務(wù)規(guī)則層,將三層架構(gòu)的業(yè)務(wù)邏輯層拆分為業(yè)務(wù)邏輯和業(yè)務(wù)規(guī)則,業(yè)務(wù)規(guī)則可以及時處理用戶輸入的不合法信息,同時還可以及時處理數(shù)據(jù)庫操作存在的錯誤,增大了業(yè)務(wù)邏輯層的結(jié)構(gòu)清晰度。具體的,四層架構(gòu)分別是表現(xiàn)層、業(yè)務(wù)規(guī)則層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層。
移動應(yīng)用軟件架構(gòu)的每一層之間都采用接口進行通信,實現(xiàn)了業(yè)務(wù)的集成和解析,因此在這種集成化模式下難免存在漏洞,如果移動應(yīng)用軟件升級不及時,將會吸引病毒和木馬攻擊移動應(yīng)用軟件[2]。比如2017年初爆發(fā)的勒索病毒,該病毒是一種變異式木馬,感染移動應(yīng)用軟件之后將會阻止用戶訪問文件系統(tǒng)。目前,勒索病毒可以劃分為兩類,分別是加密型勒索病毒和鎖定型勒索病毒。加密型勒索病毒采用加密算法加密移動應(yīng)用軟件,如果想獲得解密密碼就需要支付錢財。鎖定型勒索病毒能夠遠程鎖定移動應(yīng)用軟件,用戶無法進入系統(tǒng)訪問數(shù)據(jù)資源。移動通信應(yīng)用軟件需要部署于各類型通信設(shè)備,并且這些設(shè)備部署的軟件資源、數(shù)據(jù)資源和用戶資源越來越多,因此移動通信軟件需要與其他軟件一起共享通信平臺,這些應(yīng)用軟件通信過程中將會采用很多的無線通信協(xié)議,共享通信帶寬資源。DDOS攻擊可以利用移動應(yīng)用軟件多用戶多并發(fā)程序在一定時間內(nèi)占用帶寬資源、通信資源、CPU資源,導(dǎo)致合法的用戶無法訪問服務(wù)器,因此大大地降低了系統(tǒng)處理效率。2017年12月,我國移動應(yīng)用軟件受到DDOS攻擊超過億次,造成了數(shù)以萬計的移動應(yīng)用軟件下線,嚴重阻礙了移動應(yīng)用軟件通信數(shù)據(jù)共享。目前,DDOS攻擊開發(fā)技術(shù)得到了極大的改進,許多的DDOS攻擊威脅潛藏得更加隱蔽,不再以可執(zhí)行文件的形式傳播,而是采取迂回策略,將自身嵌入到了移動應(yīng)用軟件中的文本、圖片、視頻、音頻等數(shù)據(jù)文件中,隱藏的時間也非常長,不利于殺毒軟件的掃描和發(fā)現(xiàn),無法及時地清除病毒。
為了提高移動應(yīng)用軟件的安全防御能力,國內(nèi)外安全研究學(xué)者以及企業(yè)從不同角度構(gòu)建了防御規(guī)則,覆蓋了應(yīng)用軟件架構(gòu)、應(yīng)用軟件通信等方面,進一步提高了全環(huán)節(jié)防御鏈條,保證移動通信應(yīng)用軟件安全[4]。具體的,移動應(yīng)用軟件架構(gòu)安全防御關(guān)鍵技術(shù)包括非對稱加密技術(shù)、安全認證技術(shù)、訪問控制和免疫網(wǎng)絡(luò)等。
非對稱加密是移動應(yīng)用軟件安全的重要保障,非對稱加密技術(shù)包含兩個關(guān)鍵密鑰,分別是公鑰和私鑰。非對稱加密技術(shù)可以按照Base58轉(zhuǎn)換算法或SHA256哈希算法生成一個私鑰,私鑰是一串長度固定的字符串,可以利用另外一個算法根據(jù)私鑰生成公鑰,公鑰的生成過程具有不可逆性,同時SHA256哈希生成的私鑰數(shù)量為2256個,因此當前的移動應(yīng)用軟件非對稱加密算法很難破解。非對稱加密技術(shù)在移動應(yīng)用軟件安全防御系統(tǒng)的應(yīng)用主要包括數(shù)據(jù)加密和數(shù)字簽名。
安全認證是保證移動應(yīng)用軟件安全的一個非常關(guān)鍵的技術(shù),其可以利用身份認證技術(shù)確認軟件操作者身份,為每一個軟件使用者賦予一組特定的安全認證碼,只有該移動應(yīng)用軟件識別用戶數(shù)字身份,安全認證才能夠存儲用戶身份鑒別信息,保證身份認證信息存儲到鑒別數(shù)據(jù)庫中,用戶登錄應(yīng)用軟件時就可以得到驗證。
訪問控制技術(shù)部署于移動應(yīng)用軟件通信協(xié)議堆棧IP傳輸層上,是一種IP數(shù)據(jù)包過濾器,利用枚舉方法深入分析數(shù)據(jù)包中的相關(guān)內(nèi)容,按照既定規(guī)則進行封包操作,禁止一切違反規(guī)則的數(shù)據(jù)包內(nèi)容通過協(xié)議侵入移動應(yīng)用軟件,造成移動應(yīng)用軟件的數(shù)據(jù)傳輸中斷,破壞移動應(yīng)用軟件數(shù)據(jù)內(nèi)容。
Web安全服務(wù)關(guān)鍵組成部分為表單密碼技術(shù),該技術(shù)可以利用HTTPS對移動應(yīng)用軟件傳輸數(shù)據(jù)進行安全加密,引入了128非對稱加密技術(shù),當用戶輸入Web內(nèi)容請求之后即可將信息加密發(fā)送給目的方,網(wǎng)絡(luò)無法識別加密數(shù)據(jù)。常見的Web安全服務(wù)技術(shù)很多,Web安全服務(wù)可以針對HTTP流量進行代理,并全面掃描七層數(shù)據(jù),確保網(wǎng)絡(luò)病毒攻擊在到達Web服務(wù)器之前就將其阻斷。Web安全服務(wù)采用的技術(shù)很多,比如脫殼技術(shù)、自我保護技術(shù)、修復(fù)技術(shù)、實時升級技術(shù),許多病毒和木馬都隱藏于正常的文件中,利用偽裝侵入移動應(yīng)用軟件后再脫殼攻擊,造成數(shù)據(jù)傳輸中斷,移動應(yīng)用軟件服務(wù)器保存內(nèi)容遭到破壞。因此,為了能夠防御病毒和木馬,Web安全服務(wù)采用了脫殼技術(shù),其可以對加殼文件、封裝類文件、壓縮文件和加花文件進行分析,更好地發(fā)現(xiàn)移動應(yīng)用軟件中隱藏的病毒或木馬。
移動應(yīng)用軟件架構(gòu)安全設(shè)計是一個系統(tǒng)的、復(fù)雜的工程,需要隨時隨地根據(jù)攻擊威脅提升防御水平,未來安全防御將會引入更多的高級技術(shù),比如模式識別、數(shù)據(jù)挖掘和深度學(xué)習(xí),從移動應(yīng)用架構(gòu)設(shè)計數(shù)據(jù)、軟件用戶數(shù)據(jù)、軟件攻擊數(shù)據(jù)中提取潛在的有價值信息,構(gòu)建應(yīng)用安全防御主題模型,從而分析攻擊威脅存在的概率、受損失程度等,及時啟動防御規(guī)則和工具,進一步提高應(yīng)用軟件安全性。
[1]周志強.基于移動終端的應(yīng)用軟件架構(gòu)研究與設(shè)計[J]. 中國科技縱橫,2017.
[2]熊偉,王樂東,李孟君.基于可信計算的安卓移動智能終端安全加固技術(shù)研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2017.
[3]丁小娜.基于移動智能終端安全威脅與防護技術(shù)的研究[J].數(shù)字技術(shù)與應(yīng)用,2017.
[4]白浩,王朝清.Android系統(tǒng)惡意應(yīng)用程序的研究[J].網(wǎng)絡(luò)空間安全,2017.