葉勇健,譚 超
(廈門華天涉外職業(yè)技術學院 信息技術學院,福建 廈門 361102)
在移動互聯(lián)網(wǎng)環(huán)境下,移動終端軟件進入迅速發(fā)展階段,對于互聯(lián)網(wǎng)軟件測試的要求也會更高。測試軟件的運行環(huán)境發(fā)生了改變,由靜態(tài)封閉逐漸變?yōu)殚_放動態(tài),軟件系統(tǒng)也隨之發(fā)生改變,由集中式轉變?yōu)榉植际健T陂_放式移動互聯(lián)網(wǎng)環(huán)境下,應用軟件需要進行聚合處理,在約束條件下完成協(xié)同任務,降低應用軟件的監(jiān)管以及預測難度。在運行過程中,及時測試并調控應用軟件的相關信息,依據(jù)調控信息結果對軟件運行態(tài)勢加以調控[1-2]。計算機可信性質范圍較廣,主要包括硬件、操作系統(tǒng)、應用軟件等,任何一個部位出現(xiàn)問題,均會導致整個計算機系統(tǒng)崩潰,影響系統(tǒng)可信度。由于軟件語言開發(fā)規(guī)模逐漸增大[3],相應的開發(fā)難度、所需成本、維護難度及應用軟件安全測試的性能控制難度加大。因此,研究移動互聯(lián)網(wǎng)技術[4]應用在軟件安全協(xié)同測試中是十分必要的。
文獻[5]提出基于云安全的應用軟件安全協(xié)同測試,結合運行環(huán)境的封閉特點,通過計量中心云端安全服務器建立合法白名單,使得運行進程模塊得以正常操作,將計算得到的哈希值輸入至云端服務器,對比白名單,檢測非法進程。該方法能夠強化網(wǎng)絡安全防護水平,但軟件安全協(xié)同測試結果的正確率較低。文獻[6]提出基于面向云平臺的應用軟件安全協(xié)同測試,該平臺結合虛擬化技術,對客戶機的特定行為進行獲取,對客戶機釋放的代碼進行抓取,通過殺毒軟件確定未知軟件的惡意性。該方法所得的軟件安全協(xié)同測試結果的正確率低,并且軟件存在不安全的概率高。文獻[7]提出基于動態(tài)符號執(zhí)行的應用軟件安全協(xié)同測試,通過插樁工具和約束求解器STP 構建ADRAS 系統(tǒng)模型,利用動態(tài)符號的可執(zhí)行性和可滿足性理論技術,監(jiān)控應用軟件的加密函數(shù),同時捕捉應用軟件加密行為以及相關的加密信息,從而對應用軟件完成安全協(xié)同測試。利用該方法的應用軟件存在不安全的概率高,軟件測試耗時較長,效率低。文獻[8]提出基于改進隨機森林算法的應用軟件安全協(xié)同測試,IRFCM 選取Android Manifest.xml 文件中的Permission信息和Intent信息作為應用軟件的特征屬性并進行優(yōu)化選擇,采用改進隨機森林算法對最終生成應用軟件的特征向量進行測試。該方法存在軟件安全協(xié)同測試效率低的問題。
本文的研究重點是將移動互聯(lián)技術應用在軟件安全協(xié)同測試中。
在人機交互的環(huán)境下,為了實現(xiàn)對群體協(xié)同工作的友好支持,利用移動終端設備、移動網(wǎng)絡、移動應用、信息數(shù)據(jù)等4 大核心技術作為支撐,打造移動協(xié)同軟件。移動協(xié)同管理的軟件系統(tǒng)如圖1 所示。
圖1 移動協(xié)同管理的軟件系統(tǒng)
將用戶放在首要位置,圍繞適應用戶的使用習慣來優(yōu)化交互界面,可以有效地支撐了移動互聯(lián)系統(tǒng)的單點登錄、業(yè)務融合、綜合分析及統(tǒng)一管理,促進各功能模塊間的有機銜接。
假設應用軟件的數(shù)據(jù)集合為X={x1,x2,…,xn},數(shù)據(jù)聚類為c 類,vi(i=1,2,…,c)表示聚類中心。數(shù)據(jù)聚類的目的在于保障數(shù)據(jù)到所屬聚類中的距離之和最小。JFCM表示FCM的目標函數(shù),可定義為
式中,uij表示數(shù)據(jù)xj與聚類中心vi之間的模糊隸屬度;dij表示數(shù)據(jù)xj與其聚類中心vi之間的距離,也叫歐氏距離,在特殊情況下可以稱之為馬氏距離;m表示模糊系數(shù),取值范圍為[1.5,2.5],可以用來評判FCM 的有效性;n表示測試數(shù)據(jù);c表示聚類中心的數(shù)量。
目標函數(shù)的最優(yōu)解的求解方式如下:
聚類中心更新過程如下:
輸入:X={x1,x2,…,xn}表示聚類中心集合;c表示聚類數(shù)據(jù)的數(shù)量;μ(x)表示隸屬度函數(shù);ε表示迭代停止的閾值;k表示迭代變量。
輸出:vi(i=1,2,…,c)表示聚類中心,uij表示隸屬度。
1)隨機選定初始聚類中心v1,v2,…,vc;
2)通過式(3)計算隸屬度,劃分樣本數(shù)據(jù);
3)根據(jù)式(4)更新聚類中心,得到新中心v1,v2,…,vc;
通過自適應向量以及指數(shù)來實現(xiàn)調控聚類。由于離群點被有針對性地處理,因此聚類效果得到有效提高,對于離群點的判斷也更為直接[9],離群點所蘊涵的信息被充分挖掘。用JFCM′表示FCM 的目標優(yōu)化函數(shù),定義為
式中,wj為xj的自適應度,表示xj對于目標函數(shù)的影響程度,在迭代過程中,自適應度得到更新;為約束條件,可對樣本之間的關聯(lián)程度進行反應;uij表示該自適應模型的隸屬度;m是模糊系數(shù);c是聚類的類別數(shù);p(p≠0)為自適應度指數(shù),可對自適應度進行調節(jié),以此調節(jié)數(shù)據(jù)聚類。算法的聚類質量以及收斂速度受到自適應度取值的影響,根據(jù)實踐經(jīng)驗,p的取值范圍為1 ≤p≤10。
根據(jù)對目標函數(shù)的計算,獲得隸屬度,完成對惡意軟件的聚類,表達式如下:
設定算法中的輸入層樣本數(shù)據(jù)為x=1,2,3,…,N,網(wǎng)絡結構中的維數(shù)為N,神經(jīng)網(wǎng)絡中節(jié)點數(shù)據(jù)輸出值為O,則算法中的函數(shù)代表式為
網(wǎng)絡節(jié)點中計算誤差距離的函數(shù)定義為
式中,E代表誤差權值;t代表誤差代入系數(shù)。
在網(wǎng)絡空間結構中,會因為應用機器算法而識別出隱藏數(shù)據(jù)節(jié)點,節(jié)點中的數(shù)據(jù)安全檢測輸出函數(shù)定義為
式中,O代表數(shù)據(jù)輸出檢測值;w、y分別代表節(jié)點數(shù)據(jù)中的輸出參考系數(shù)。
應用軟件的聚類分析為下一步應用軟件安全協(xié)同測試的研究奠定了基礎。
基于DHSC 的應用軟件安全協(xié)同測試方法是移動互聯(lián)技術的一種。利用該方法對應用軟件安全協(xié)同測試展開研究,依據(jù)SVDD 方法,在軟件訓練集X′中,可知的重要程度主要受到通過訓練得到的拉格朗日乘子αi′的影響。
軟件訓練集中若沒有異常數(shù)據(jù)存在,超球體的組成結構可以通過拉格朗日乘子所決定;若存在異常數(shù)據(jù),超球體的組成結構可以通過測試機大小所決定,對軟件的安全性加以檢測。
圖2 封閉超球體
最小封閉超球體優(yōu)化約束條件:
對上式的約束條件附加拉格朗日乘子αi,且αi≥0,對應的拉格朗日函數(shù)為
假設安全協(xié)同檢測點為x,通過式(15)判斷檢測點異常情況。
式 中,H(x)表 示 Heaviside 函 數(shù) ;若此 時 檢測點為異常點。
應用軟件安全協(xié)同測試方法步驟如下:
1)離線部分
①利用軟件訓練集合X ',采用SVDD 方法,建立靜態(tài)超球體,計算拉格朗日乘子集
1)貢獻因子(CFk')
2)重構誤差Φ(k')min
3)平均p'近鄰距離AD(k',p')
式中,AD(k',p')能夠衡量軟件數(shù)據(jù)點的平均距離,該距離越大,應用軟件越不安全。
對測試軟件以及訓練軟件進行對比分析,建立動態(tài)超球體,根據(jù)動態(tài)超球體結構的變化,對應用軟件進行安全系統(tǒng)測試。
為了驗證所提基于協(xié)同知識圖譜的網(wǎng)絡資源個性化推薦算法的綜合有效性,需要進行仿真實驗。實驗環(huán)境:處理器為Inter(R)Core(TM)2Duo,主頻為2.66 GHz,內存為2 GMB,服務器操作系統(tǒng)為CentOS5.5,數(shù)據(jù)庫為MySQL,客戶端為PC(Windows)。實驗數(shù)據(jù)集合參數(shù)如表1所示。
表1 實驗數(shù)據(jù)集合參數(shù)
為了驗證基于DHSC 的應用軟件安全協(xié)同測試方法的有效性,對應用軟件安全協(xié)同測試結果的正確率進行實驗研究,實驗結果如圖3所示。
圖3 不同方法的應用軟件安全協(xié)同測試結果的正確率對比
分析圖3 可知,該方法在對應用軟件安全協(xié)同的45 次測試中,測試結果的正確率為80%~100%;在文獻[5]方法的45 次測試中,應用軟件安全協(xié)同測試的正確率為0%~40%;在文獻[6]方法的45 次測試中,測試結果的正確率為0%~50%,并且曲線的變化波動較大。該方法通過引入隸屬度函數(shù),得到了有較高正確率的軟件安全協(xié)同測試結果。通過對比可知,該方法的測試結果具有較高的正確率。
在對應用軟件安全協(xié)同測試結果正確率測試的基礎上,利用重構誤差測試應用軟件存在不安全的概率,重構誤差越大,軟件不安全的概率越大,測試結果如圖4所示。
圖4 不同方法的不安全概率對比結果
分析圖4 可知,不受貢獻因子的影響,利用該方法,60次迭代對應的重構誤差小于0.2;利用文獻[6]的方法,60 次迭代對應的重構誤差大于0.3,小于0.5;利用文獻[7]的方法,60 次迭代對應的重構誤差為0.2~0.5。重構誤差衡量了應用軟件數(shù)據(jù)點的重構精度,重構誤差的值越大,應用軟件存在不安全的概率越大。通過對比可知,本文所提出的方法的重構誤差小于文獻[6]方法的重構誤差,說明該方法應用軟件存在不安全的概率也小于文獻[6]方法的不安全概率。
在以上兩個實驗的基礎上,利用軟件測試耗時進一步研究應用軟件安全協(xié)同測試的效率,實驗結果如圖5所示。
圖5 不同方法的軟件安全協(xié)同測試效率
分析圖5 可知,該方法的軟件測試耗時整體在0.5 μs 以下,第25 次迭代的軟件測試耗時為0.5 μs;文獻[7]方法的軟件測試耗時整體為0.6 μs~0.8 μs,第25 次迭代的軟件測試耗時為0.7 μs;文獻[8]方法的軟件測試耗時整體為0.7 μs~0.9 μs,并且第25次迭代的軟件測試耗時為0.9 μs。通過對比可知,該方法的軟件測試耗時最短,說明該方法的應用軟件安全協(xié)同測試的效率較高。
通過對移動互聯(lián)網(wǎng)時代的應用軟件測試技術進行闡述,分別研究了應用軟件安全協(xié)同測試結果的正確率、軟件存在的不安全概率以及軟件測試耗時,并且得到了較好的實驗結果,驗證了本文方法的有效性。較以往的研究成果相比,目前的軟件測試已經(jīng)有了較大的進步。但是,近幾年對測試技術與測試方法的改觀并不明顯,說明軟件測試并沒有引起相關領域的重視,依舊面臨著很多問題,不論是業(yè)界的領軍人物還是獨立的研發(fā)機構,所研究開發(fā)出來的軟件都面臨著激烈的市場競爭,相對于質量的保證,他們更側重于速度的加快。自智能手機與平板電腦流行以來,軟件的功能和性能都在飛速更新?lián)Q代,涉及的手機支付等隱私已經(jīng)在智能設備上廣泛應用,人們的主要生活方式正在從PC端向著移動端變化。