欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

檢測目標軟件的方法和裝置與流程

文檔序號:12837081閱讀:265來源:國知局
檢測目標軟件的方法和裝置與流程

本發(fā)明涉及互聯(lián)網(wǎng)安全領(lǐng)域,具體而言,涉及一種檢測目標軟件的方法和裝置。



背景技術(shù):

現(xiàn)有的軟件測試方案可以采用模擬測試方法,例如在瀏覽器軟件中添加新的代碼之后,對于漏洞挖掘工程師來說,這是瀏覽器的一個新的攻擊面,也已經(jīng)有工程師對這部分代碼進行模糊測試試圖尋找瀏覽器軟件的安全缺陷和漏洞,但是目前的模糊測試方法還是使用傳統(tǒng)的針對文件進行模糊測試的方法:

第一種方法是基于變異的模糊測試方法,具體實現(xiàn)步驟如下:1)收集大量的樣本文件;2)對樣本文件進行變異;3)將變異后的測試文件輸入到目標軟件,觀察是否有異常發(fā)生,若觀測到異常則報告發(fā)現(xiàn)安全缺陷。

另一種方法是基于生成的模糊測試方法,這種方法的測試樣本文件是在了解文件格式的基礎(chǔ)上對文件的各個字段的數(shù)值進行變異生成的,除此以外其它步驟與基于變異的模糊測試方法類似。因此,基于變異的模糊測試方法和基于生成的模糊測試方法都只是將關(guān)注點放在目標軟件對文件格式的解析和編解碼處理過程上。

針對現(xiàn)有的模糊測試方法只關(guān)注目標軟件對文件格式的解析和編解碼處理過程,導(dǎo)致測試效率低的技術(shù)問題,目前尚未提出有效的解決方案。



技術(shù)實現(xiàn)要素:

本發(fā)明實施例提供了一種檢測目標軟件的方法和裝置,以至少解決現(xiàn)有的模糊測試方法只關(guān)注目標軟件對文件格式的解析和編解碼處理過程,導(dǎo)致測試效率低的技術(shù)問題。

根據(jù)本發(fā)明實施例的一個方面,提供了一種檢測目標軟件的方法,包括:獲取目標測試用例,其中,目標測試用例包括變異后的測試文件;監(jiān)控在目標軟件中運行目標測試用例;如果監(jiān)控到異常,則確定目標軟件存在安全漏洞。

根據(jù)本發(fā)明實施例的另一方面,還提供了一種檢測目標軟件的裝置,包括:第一獲取單元,用于獲取目標測試用例,其中,所述目標測試用例包括變異后的測試文件; 監(jiān)控單元,用于監(jiān)控在目標軟件中運行目標測試用例;第一確定單元,用于如果監(jiān)控到異常,則確定目標軟件存在安全漏洞。

在本發(fā)明實施例中,可以獲取變異后的測試文件,在獲取到變異后的測試文件之后,獲取包含變異后的測試文件的目標測試用例,實時監(jiān)控目標軟件中運行該目標測試用例是否異常,如果監(jiān)控到異常,則確定所述目標軟件存在安全漏洞。

容易注意到,本發(fā)明上述檢測目標軟件是否存在安全漏洞的方法中,所采用的目標測試用例中包含了變異后的測試文件,即用于進行測試的目標測試用例中需要添加對應(yīng)的變異后的測試文件,例如變異后的視頻測試用例,該視頻測試用例與目標測試用例中的功能測試用例相關(guān)聯(lián)?;诖朔N測試用例,監(jiān)控在該目標軟件中運行該目標測試用例的情況,進而確定該目標軟件是否存在安全漏洞。因此,通過本申請實施例所提供的方案,可以實現(xiàn)在現(xiàn)有的基于變異的模糊測試方法的基礎(chǔ)上,將關(guān)注點放在目標軟件對變異后的測試文件所對應(yīng)的事件的處理過程,即測試過程的關(guān)注點主要放在目標軟件對變異后的測試文件的處理過程,能夠測試瀏覽器軟件的更多代碼流程,可發(fā)現(xiàn)目標軟件的事件處理邏輯漏洞及多線程處理相關(guān)的安全缺陷和漏洞。

由此,本發(fā)明提供的上述方案解決了現(xiàn)有的模糊測試方法只關(guān)注目標軟件對文件格式的解析和編解碼處理過程,導(dǎo)致測試效率低的技術(shù)問題。

附圖說明

此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當限定。在附圖中:

圖1是根據(jù)本申請實施例的一種檢測目標軟件的方法的計算機終端的硬件結(jié)構(gòu)框圖;

圖2是根據(jù)本發(fā)明實施例一的一種檢測目標軟件的方法的流程圖;

圖3是根據(jù)本發(fā)明實施例一的一種可選的檢測目標軟件的方法的流程圖;

圖4是根據(jù)本發(fā)明實施例一的一種可選的生成html測試用例的方法的流程圖;

圖5是根據(jù)本發(fā)明實施例二的一種檢測目標軟件的裝置的示意圖;

圖6是根據(jù)本發(fā)明實施例二的一種可選的檢測目標軟件的裝置的示意圖;

圖7是根據(jù)本發(fā)明實施例二的一種可選的檢測目標軟件的裝置的示意圖;

圖8是根據(jù)本發(fā)明實施例二的一種可選的檢測目標軟件的裝置的示意圖;

圖9是根據(jù)本發(fā)明實施例二的一種可選的檢測目標軟件的裝置的示意圖;

圖10是根據(jù)本發(fā)明實施例二的一種可選的檢測目標軟件的裝置的示意圖;以及

圖11是根據(jù)本申請實施例的一種計算機終端的結(jié)構(gòu)框圖。

具體實施方式

為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當屬于本發(fā)明保護的范圍。

需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當情況下可以互換,以便這里描述的本發(fā)明的實施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。

首先,在對本申請實施例進行描述的過程中出現(xiàn)的部分名詞或術(shù)語適用于如下解釋:

漏洞:是在硬件、軟件、協(xié)議的具體實現(xiàn)或系統(tǒng)安全策略上存在的缺陷,從而可以使攻擊者能夠在未授權(quán)的情況下訪問或破壞系統(tǒng)。

模糊測試(fuzzing):是一種漏洞挖掘的技術(shù)手段,其通過向目標軟件提供非預(yù)期的輸入并通過監(jiān)視異常結(jié)果來發(fā)現(xiàn)軟件缺陷和漏洞。

html5標準:html5是html最新的修訂版本,2014年10月由萬維網(wǎng)聯(lián)盟(w3c)完成標準制定。html5的目標是取代1999年所制定的html4.01和xhtml1.0標準從而符合當代的網(wǎng)頁應(yīng)用的需求。

視頻元素,一種可以在html5標準中新添加的標簽,使得網(wǎng)頁不再需要類似flash的控件進行視頻的播放,暫停,快進等操作。

變異操作:包括改變樣本文件的某些字節(jié),例如在任意位置插入或刪除字符等。

變異后的測試文件:進行變異操作之后的測試文件。

測試用例:是為特殊目標而編制的一組測試輸入、執(zhí)行條件以及預(yù)期結(jié)果,以便測試目標軟件路徑或核實是否滿足特定需求。

異常:在問到或軟件操作中的任何與期望違背的結(jié)果。

實施例1

根據(jù)本發(fā)明實施例,還提供了一種檢測目標軟件的方法實施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。

本申請實施例一所提供的方法實施例可以在移動終端、計算機終端或者類似的運算裝置中執(zhí)行。以運行在計算機終端上為例,圖1是根據(jù)本申請實施例的一種檢測目標軟件的方法的計算機終端的硬件結(jié)構(gòu)框圖。如圖1所示,計算機終端10可以包括一個或多個(圖中僅示出一個)處理器102(處理器102可以包括但不限于微處理器mcu或可編程邏輯器件fpga等的處理裝置)、用于存儲數(shù)據(jù)的存儲器104、以及用于通信功能的傳輸模塊106。本領(lǐng)域普通技術(shù)人員可以理解,圖1所示的結(jié)構(gòu)僅為示意,其并不對上述電子裝置的結(jié)構(gòu)造成限定。例如,計算機終端10還可包括比圖1中所示更多或者更少的組件,或者具有與圖1所示不同的配置。

存儲器104可用于存儲應(yīng)用軟件的軟件程序以及模塊,如本發(fā)明實施例中的目標軟件的方法對應(yīng)的程序指令/模塊,處理器102通過運行存儲在存儲器104內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,即實現(xiàn)上述的目標軟件的方法。存儲器104可包括高速隨機存儲器,還可包括非易失性存儲器,如一個或者多個磁性存儲裝置、閃存、或者其他非易失性固態(tài)存儲器。在一些實例中,存儲器104可進一步包括相對于處理器102遠程設(shè)置的存儲器,這些遠程存儲器可以通過網(wǎng)絡(luò)連接至計算機終端10。上述網(wǎng)絡(luò)的實例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動通信網(wǎng)及其組合。

傳輸裝置106用于經(jīng)由一個網(wǎng)絡(luò)接收或者發(fā)送數(shù)據(jù)。上述的網(wǎng)絡(luò)具體實例可包括計算機終端10的通信供應(yīng)商提供的無線網(wǎng)絡(luò)。在一個實例中,傳輸裝置106包括一個網(wǎng)絡(luò)適配器(networkinterfacecontroller,nic),其可通過基站與其他網(wǎng)絡(luò)設(shè)備相連從而可與互聯(lián)網(wǎng)進行通訊。在一個實例中,傳輸裝置106可以為射頻(radiofrequency,rf)模塊,其用于通過無線方式與互聯(lián)網(wǎng)進行通訊。

在上述運行環(huán)境下,本申請?zhí)峁┝巳鐖D2所示的目標軟件的方法。圖2是根據(jù)本 發(fā)明實施例一的一種檢測目標軟件的方法的流程圖,如圖2所示的方法可以包括如下步驟:

步驟s22,獲取目標測試用例,其中,目標測試用例包括變異后的測試文件。

可選的,上述的變異后的測試文件可以是視頻測試用例、音頻測試用例等渲染在目標網(wǎng)頁中具有特定標識功能的對象,上述的目標測試用例可以是html測試用例。

本發(fā)明通過在html5標準中新添加視頻元素,使得網(wǎng)頁不再需要類似flash的控件進行視頻的播放、暫停和快進等操作。在html5標準中引入視頻元素,相應(yīng)的需要在運行該html的目標軟件(例如瀏覽器)中添加新的代碼,本發(fā)明通過將變異后的測試文件(例如視頻測試用例)添加至html測試用例中來進行模擬測試,用于測試運行添加了視頻元素的代碼的html5的目標軟件(例如瀏覽器)是否存在攻擊面。

結(jié)合圖3所示的一種可選的方案中,可以基于視頻文件的變異生成視頻測試用例,基于文件變異是傳統(tǒng)的針對文件格式的模糊測試方法,都是對輸入的原有文件做字段變換,例如,字段增加,字段減少等操作??梢陨砂曨l測試用例的html測試用例,即生成與視頻測試用例相關(guān)聯(lián)的html測試用例,在html測試用例中,除了可以添加代碼使得瀏覽器能夠解析視頻測試用例之外,還可以隨機做以下兩種操作:添加視頻的縮放,快進等操作,以及添加視頻的事件處理函數(shù)操作并在事件處理函數(shù)操作中添加危險操作。

此處需要說明的是,可以在html測試用例中隨機做上述兩種操作中的任意一種操作,即在html測試用例中添加視頻的縮放,快進等操作,或者在html測試用例中在添加視頻的事件處理函數(shù)操作并在事件處理函數(shù)操作中添加危險操作;也可以同時做上述兩種操作,即在html測試用例中添加視頻的縮放,快進等操作,和添加視頻的事件處理函數(shù)操作并在事件處理函數(shù)操作中添加危險操作。

步驟s24,監(jiān)控在目標軟件中運行目標測試用例。

步驟s26,如果監(jiān)控到異常,則確定目標軟件存在安全漏洞。

可選的,上述的目標軟件可以是瀏覽器或用于打開html測試用例的應(yīng)用軟件。在本申請上述實施例中,可以采用python的winappbg模塊來監(jiān)控瀏覽器或應(yīng)用軟件運行過程中的異常信息。

在一種可選的方案中,可以監(jiān)控在瀏覽器中運行html測試用例,結(jié)合圖3所示的示例可知,瀏覽器按照html測試用例中添加的操作對html測試用例中包含的視頻測試用例進行解析,如果瀏覽器進程在解析html測試用例時,監(jiān)控到異常,即瀏覽器按 照html測試用例中的操作對視頻測試用例進行操作,出現(xiàn)異常,則確定瀏覽器存在安全漏洞,可以保存相關(guān)的測試用例,包括html測試用例和相關(guān)的視頻文件測試用例。

本申請上述實施例一公開的方案中,可以獲取變異后的測試文件,在獲取到變異后的測試文件之后,獲取包含變異后的測試文件的目標測試用例,實時監(jiān)控目標軟件中運行該目標測試用例是否異常,如果監(jiān)控到異常,則確定目標軟件存在安全漏洞。

容易注意到,本發(fā)明上述檢測目標軟件是否存在安全漏洞的方法中,所采用的目標測試用例中包含了變異后的測試文件,即用于進行測試的目標測試用例中需要添加對應(yīng)的變異后的測試文件,例如變異后的視頻測試用例,該視頻測試用例與目標測試用例中的功能測試用例相關(guān)聯(lián)。基于此種測試用例,監(jiān)控在該目標軟件中運行該目標測試用例的情況,進而確定該目標軟件是否存在安全漏洞。因此,通過本申請實施例所提供的方案,可以實現(xiàn)在現(xiàn)有的基于變異的模糊測試方法的基礎(chǔ)上,將關(guān)注點放在目標軟件對變異后的測試文件所對應(yīng)的事件的處理過程,即測試過程的關(guān)注點主要放在目標軟件對變異后的測試文件的處理過程,能夠測試瀏覽器軟件的更多。

由此,本申請?zhí)峁┑纳鲜鰧嵤├坏姆桨附鉀Q了現(xiàn)有的模糊測試方法只關(guān)注目標軟件對文件格式的解析和編解碼處理過程,導(dǎo)致測試效率低的技術(shù)問題。

在本申請上述實施例中,在目標測試用例為網(wǎng)頁測試用例的情況下,獲取包含變異后的測試文件的目標測試用例,步驟s22,獲取目標測試用例,可以包括如下步驟:

步驟s242,創(chuàng)建測試元素,并將測試元素與變異后的測試文件相關(guān)聯(lián)。

可選的,上述的測試元素可以是視頻元素。在本申請上述實施例中,測試元素可以為添加至目標測試用例的代碼中的標簽,標簽的標簽信息可以包括:變異后的測試文件的文件名稱、文件大小的測試文件中的用例的基本信息。

在一種可選的方案中,測試元素可以是添加到html測試用例中的視頻測試用例的標簽,包括視頻測試用例的文件名稱,文件大小。

步驟s244,通過在目標測試用例中添加測試元素所對應(yīng)的數(shù)據(jù),得到包含變異后的測試文件的目標測試用例。

可選的,上述測試元素所對應(yīng)的數(shù)據(jù)可以是測試元素的操作或者事件處理函數(shù)所對應(yīng)的數(shù)據(jù)。

在一種可選的方案中,可以創(chuàng)建一個視頻元素,將視頻元素與視頻測試用例相關(guān)聯(lián),并在html測試用例中添加視頻元素的操作或者事件處理函數(shù)所對應(yīng)的數(shù)據(jù),生成包含視頻測試用例的html測試用例。上述視頻元素可以作為一個標簽添加在html測 試用例中,用于在目標軟件中運行html測試用例時,解析模塊會根據(jù)該標簽所包含的標簽信息調(diào)用并解析相應(yīng)的視頻測試用例,得到測試結(jié)果。例如瀏覽器在解析html測試用例時,可以根據(jù)html測試用例的代碼中的視頻元素,調(diào)用與視頻元素相關(guān)聯(lián)的視頻測試用例,實現(xiàn)對視頻測試用例的解析。

在本申請上述實施例中,在步驟s242,創(chuàng)建測試元素,并將測試元素與變異后的測試文件相關(guān)聯(lián)之后,上述方法還可以包括如下步驟:

步驟s2462,根據(jù)隨機整數(shù)的mod計算結(jié)果,確定待添加至目標測試用例中的數(shù)據(jù)。

可選的,上述的隨機整數(shù)可以在生成html測試用例的過程中隨機產(chǎn)生。

步驟s2464,在mod計算結(jié)果滿足第一預(yù)設(shè)條件的情況下,待添加至目標測試用例中的數(shù)據(jù)至少包括如下與測試元素相關(guān)聯(lián)的元素參數(shù):測試元素的屬性、測試元素的屬性類型、測試元素的事件和測試元素的至少一個危險操作。

可選的,上述的第一預(yù)設(shè)條件可以是mod計算結(jié)果不等于0。

步驟s2466,在mod計算結(jié)果滿足第二預(yù)設(shè)條件的情況下,待添加至目標測試用例中的數(shù)據(jù)至少包括如下任意一個或多個與測試元素相關(guān)聯(lián)的元素參數(shù):測試元素的快進操作、后退操作、畫面大小縮放操作和全屏操作。

可選的,上述的第二預(yù)設(shè)條件可以是mod計算結(jié)果等于0。

在一種可選的方案中,通過計算隨機整數(shù)mod2的值,得到mod計算結(jié)果,并根據(jù)mod計算結(jié)果確定待添加至html測試用例中的數(shù)據(jù),例如當case=(隨機整數(shù)mod2)的值為不等于0時,可以在html測試用例中添加視頻元素的屬性、測試元素的屬性類型、測試元素的事件和測試元素的至少一個危險操作;當case=(隨機整數(shù)mod2)的值為0時,可以在html測試用例中添加視頻元素的快進操作,后退操作,畫面大小縮放操作和全屏操作等。

此處需要說明的是,結(jié)合圖3和圖4所示的實施例可知,圖3所示的實施例中,測試次數(shù)是與需要添加至目標測試用例中的元素參數(shù)對應(yīng)的操作內(nèi)容相關(guān),系統(tǒng)會遍歷測試元素對應(yīng)的多種類型的測試內(nèi)容(例如快進操作、后退操作、放大或縮小操作等),對每種該類型的測試內(nèi)容都進行至少一次測試,因此,一種可選方案中,每完成一次測試則會累加當前測試總次數(shù),當累加的當前測試總次數(shù)大于等于預(yù)設(shè)的測試用次數(shù)時,系統(tǒng)可以確定所有的測試內(nèi)容都至少測試了一次,本次測試可以結(jié)束。其中,每種類型的測試內(nèi)容的添加和監(jiān)控過程都可以是一樣的。

一種可選方案中以圖4所示的實施例為例可知,由于測試人員期望對多種類型的測試用例分別進行單獨的測試(例如快進操作、后退操作、放大或縮小操作等),因此,需要完成每種類型的測試內(nèi)容添加至目標測試用例中。本發(fā)明提供的上述方案可以實現(xiàn),根據(jù)html語言提供的隨機整數(shù)的mod計算結(jié)果,來確定待添加至目標測試用例中的數(shù)據(jù),目的在于可以遍歷得到每種類型測試內(nèi)容,并添加到相應(yīng)的html測試用例中,從而完成后續(xù)的測試工作。

由上可知,圖4所提供的方案中,添加至目標測試用例(例如html測試用例)中的元素參數(shù)是依次順序完成的,即完成一次添加之后就進行測試,本次測試結(jié)束之后再進行下一個元素參數(shù)的操作內(nèi)容,如此循環(huán),直至所有的測試內(nèi)容都完成,或者測試次數(shù)達到一定的值才結(jié)束測試流程。該過程中,添加的次序不限。

在本申請的另外一個實施例中,除了可以實現(xiàn)上述圖4所示的添加方案,還可以提供一種將待添加至目標測試用例(例如html測試用例)中的所有元素參數(shù)的操作內(nèi)容一次性全部添加完成,然后再進行順序測試,測試順序不限。由此可知,在步驟s242,創(chuàng)建測試元素,并將測試元素與變異后的測試文件相關(guān)聯(lián)之后,上述方法還可以包括如下步驟:

步驟s248,獲取待添加至目標測試用例中的如下任意一個或多個數(shù)據(jù):測試元素的屬性、測試元素的屬性類型、測試元素的事件、測試元素的至少一個危險操作、測試元素的快進操作、后退操作、畫面大小縮放操作和全屏操作。

由此可知,在另外一種可選的方案中,可以在html測試用例中添加上述的全部數(shù)據(jù),即在html測試用例中添加測試元素的屬性、測試元素的屬性類型、測試元素的事件、測試元素的至少一個危險操作、測試元素的快進操作、后退操作、畫面大小縮放操作和全屏操作。

在本申請上述實施例中,步驟s244,通過在目標測試用例中添加測試元素所對應(yīng)的數(shù)據(jù),得到包含變異后的測試文件的目標測試用例,可以包括如下步驟:

步驟s2442,從預(yù)存的位置獲取一個或多個與測試元素關(guān)聯(lián)的元素參數(shù)。

可選的,上述的預(yù)存的位置可以為初始化時指定的位置。

步驟s2444,在目標測試用例中添加一個或多個元素參數(shù)所對應(yīng)的數(shù)據(jù)。

可選的,在本申請上述實施例中,元素參數(shù)至少包括如下任意一個多個參數(shù):測試元素的屬性、測試元素的屬性類型、測試元素的事件和測試元素的危險操作。

仍舊結(jié)合圖4所示的一種可選的方案中,可以在初始化的過程中指定視頻元素的 屬性和屬性類型的預(yù)存的位置為數(shù)組a,視頻元素的事件的預(yù)存的位置為數(shù)組b,視頻元素的危險操作的預(yù)存的位置為數(shù)組c,可以從數(shù)組a中隨機選擇一個或多個視頻元素關(guān)聯(lián)的屬性或者屬性類型,在html測試用例中添加一個或多個屬性或者屬性類型所對應(yīng)的數(shù)據(jù);可以從數(shù)組b中隨機選擇一個或多個視頻元素關(guān)聯(lián)的事件,在html測試用例中添加一個或多個事件所對應(yīng)的數(shù)據(jù);可以從數(shù)組c中隨機選擇一個或多個視頻元素關(guān)聯(lián)的危險操作,在html測試用例中添加一個或多個危險操作所對應(yīng)的數(shù)據(jù)。

在本申請上述實施例中,在步驟s2444,目標測試用例中添加一個或多個元素參數(shù)所對應(yīng)的數(shù)據(jù),可以包括如下任意一種或多種添加操作:

步驟s24442,根據(jù)獲取到的測試元素的屬性和屬性類型在目標測試用例中添加測試元素的屬性賦值操作。

步驟s24444,根據(jù)獲取到的測試元素的事件在目標測試用例中添加測試元素的事件處理操作。

步驟s24446,根據(jù)獲取到的測試元素的至少一個危險操作在目標測試用例中的測試元素的事件處理函數(shù)中添加至少一個危險操作。

在一種可選的方案中,從數(shù)組a中隨機選擇一個或多個視頻元素關(guān)聯(lián)的屬性或者屬性類型之后,可以在html測試用例中添加視頻元素的屬性賦值操作;從數(shù)組b中隨機選擇一個或多個視頻元素關(guān)聯(lián)的事件之后,可以在html測試用例中添加視頻元素的事件處理操作;從數(shù)組c中隨機選擇一個或多個視頻元素關(guān)聯(lián)的危險操作之后,可以在html測試用例中在視頻元素的事件處理函數(shù)中添加至少一個危險操作。

在本申請上述實施例中,步驟s2444,在目標測試用例中添加一個或多個元素參數(shù)所對應(yīng)的數(shù)據(jù),可以包括如下任意一種或多種添加操作:

步驟s24448,在目標測試用例中添加測試元素的快進操作、后退操作、畫面大小縮放操作和全屏操作。

在一種可選的方案中,當滿足第一條件時,可以在html測試用例中添加視頻元素的快進操作;當滿足第二條件時,在html測試用例中添加視頻元素的后退操作;當滿足第三條件時,在html測試用例中添加視頻元素的畫面大小縮放操作;當滿足第四條件時,在html測試用例中添加視頻元素的全屏操作。

在另一種可選的方案中,可以直接在html測試用例中添加視頻元素的快進操作,后退操作,畫面大小縮放操作和全屏操作。

在本申請上述實施例中,在步驟s26,監(jiān)控在目標軟件中運行目標測試用例之前, 上述方法還可以包括如下步驟:

步驟s28,啟動自動化腳本執(zhí)行打開瀏覽器進程或應(yīng)用軟件進程,解析html測試用例的操作命令。

在一種可選的方案中,可以采用python腳本執(zhí)行打開瀏覽器進程解析html測試用例的操作命令。

在本申請上述實施例中,在目標測試用例中添加的目標代碼還可以包括:用于使得目標軟件解析變異后的測試文件的代碼。

此處需要說明的是,生成的html測試用例中除了包含視頻測試用例之外,還包含視頻元素的操作或者事件處理函數(shù)等。

下面結(jié)合圖3和圖4對詳細介紹本申請的一種優(yōu)選的實施例。

如圖3所示,提供了一種可選的檢測目標軟件的方法,該方法可以包括如下步驟s31至步驟s311:

步驟s31,開始。

可選的,開始啟動漏洞檢測功能。

步驟s32,初始化測試總次數(shù)和當前測試次數(shù)。

可選的,在開始漏洞檢測之后,可以初始化測試總次數(shù)為n,并初始化當前測試次數(shù)cur為1。

步驟s33,判斷當前測試次數(shù)是否小于等于測試總次數(shù)。

可選的,在當前測試次數(shù)cur小于等于測試總次數(shù)n的情況下,進入步驟s34;在cur大于n的情況下,進入步驟s311。

步驟s34,使用基于文件的變異來生成視頻測試用例。

可選的,可以使用傳統(tǒng)的基于變異的模式測試方法,對視頻進行字段變換,生成視頻測試用例。

步驟s35,生成包含視頻測試用例的html測試用例。

可選的,可以生成與視頻測試用例相關(guān)聯(lián)的html測試用例。

步驟s36,使用自動化腳本操控瀏覽器解析html測試用例。

步驟s37,監(jiān)控瀏覽器的運行狀態(tài)。

步驟s38,判斷是否發(fā)現(xiàn)異常。

可選的,如果發(fā)現(xiàn)異常,則進入步驟s39;如果沒有發(fā)現(xiàn)異常,則進入步驟s310。

步驟s39,保存視頻測試用例和html測試用例。

可選的,如果發(fā)現(xiàn)異常,則確定瀏覽器存在安全漏洞,可以保存視頻測試用例和html測試用例。

步驟s310,當前測試次數(shù)加1。

可選的,如果發(fā)現(xiàn)異常,則在保存相關(guān)測試用例之后,將當前測試次數(shù)cur加1;如果沒有異常,則直接將前測試次數(shù)cur加1。

此處需要說明的是,當前測試次數(shù)加1之后,進入步驟s33,繼續(xù)進行漏洞檢測。

步驟s311,結(jié)束。

可選的,在cur大于n的情況下,停止漏洞檢測。

如圖4所示,提供了一種可選的生成html測試用例的方法,該方法可以包括如下步驟s41至步驟s418:

步驟s41,開始。

可選的,在執(zhí)行如圖3所示的使用基于文件的變異來生成視頻測試用例之后,開始生成html測試用例。

步驟s42,初始化。

可選的,可以從瀏覽器官方文檔枚舉視頻元素的屬性和屬性類型,保存在數(shù)組a中;從瀏覽器官方文檔枚舉視頻元素的事件,保存在數(shù)組b;列舉危險操作(比如清空視頻內(nèi)容,清空htmldom樹操作),保存在數(shù)組c。

步驟s43,創(chuàng)建一個視頻元素,將該視頻元素與視頻測試用例相關(guān)聯(lián)。

步驟s44,計算case值。

可選的,在將視頻元素與視頻測試關(guān)聯(lián)之后,可以通過隨機整數(shù)mod2計算得到case值。

步驟s45,判斷case值是否等于0。

可選的,當case值等于0時,進入步驟s46;當case值不等于0,例如case值為1時,進入步驟s415。

步驟s46,計算operation-case值。

可選的,當case值為0時,可以通過隨機整數(shù)mod4計算得到operation-case值。

步驟s47,判斷operation-case值是否等于0。

可選的,當operation-case值等于0時,進入步驟s48;當operation-case值不等于0時,進入步驟s49。

步驟s48,添加視頻元素的快進操作。

可選的,當operation-case值等于0時,在html測試用例中添加視頻元素的快進操作。

此處需要說明的是,在添加視頻元素的快進操作之后,進入步驟s418。

步驟s49,判斷operation-case值是否等于1。

可選的,當operation-case值不等于0時,判斷operation-case值是否等于1,當operation-case值等于1時,進入步驟s410;當operation-case值不等于1時,進入步驟s411。

步驟s410,添加視頻元素的后退操作。

可選的,當operation-case值等于1時,在html測試用例中添加視頻元素的后退操作。

此處需要說明的是,在添加視頻元素的后退操作之后,進入步驟s418。

步驟s411,判斷operation-case值是否等于2。

可選的,當operation-case值不等于1時,判斷operation-case值是否等于2,當operation-case值等于2時,進入步驟s412;當operation-case值不等于2時,進入步驟s413。

步驟s412,添加視頻元素的畫面大小縮放操作。

可選的,當operation-case值等于2時,在html測試用例中添加視頻元素的畫面大小縮放操作。

此處需要說明的是,在添加視頻元素的畫面大小縮放操作之后,進入步驟s418。

步驟s413,判斷operation-case值是否等于3。

可選的,當operation-case值不等于2時,判斷operation-case值是否等于3,當operation-case值等于3時,進入步驟s414;當operation-case值不等于3時,則進入步驟s418。

步驟s414,添加視頻元素的全屏操作。

可選的,當operation-case值等于3時,在html測試用例中添加視頻元素的全屏操作。

此處需要說明的是,在添加視頻元素的全屏操作之后,進入步驟s418。

步驟s415,從數(shù)組a中隨機選擇一個屬性,添加視頻元素的屬性賦值操作。

步驟s416,從數(shù)組b中隨機選擇一個事件,添加視頻元素的事件處理操作。

步驟s417,從數(shù)組c中隨機選擇一個危險操作,在視頻元素的事件處理函數(shù)中添加危險操作。

可選的,當case為1時,可以從數(shù)組a中隨機選擇一個屬性,在html測試用例中添加視頻元素的屬性賦值操作;可以從數(shù)組b中隨機選擇一個事件,在html測試用例中添加視頻元素的事件處理操作;從數(shù)組c中隨機選擇一個危險操作,在html測試用例中在視頻元素的事件處理函數(shù)中添加危險操作。

步驟s418,結(jié)束。

可選的,完成生成html測試用例的過程,進入如圖3所示的方法中的步驟s36。

通過上述步驟所提供的方案,可以在傳統(tǒng)的基于變異的模糊檢測方法的基礎(chǔ)上,將關(guān)注點放在目標軟件對視頻事件的處理過程,可發(fā)現(xiàn)檢測目標軟件的邏輯漏洞及多線程處理相關(guān)的安全漏洞。

需要說明的是,對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時進行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。

通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到根據(jù)上述實施例的基于分庫分表的任務(wù)傳輸方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出 來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機,計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。

實施例2

根據(jù)本發(fā)明實施例,還提供了一種檢測目標軟件的裝置,如圖5所示,該裝置包括:第一獲取單元51,監(jiān)控單元53和第一確定單元55。

其中,第一獲取單元51用于獲取目標測試用例,其中,目標測試用例包括變異后的測試文件;監(jiān)控單元53用于監(jiān)控在目標軟件中運行目標測試用例;第一確定單元55用于如果監(jiān)控到異常,則確定目標軟件存在安全漏洞。

可選的,上述的變異后的測試文件可以是視頻測試用例,上述的目標測試用例可以是html測試用例,上述的目標軟件可以是瀏覽器或用于打開html測試用例的應(yīng)用軟件。在本申請上述實施例中,監(jiān)控單元55還用于采用python的winappbg模塊來監(jiān)控瀏覽器或應(yīng)用軟件運行過程中的異常信息。

此處需要說明的是,可以在html測試用例中隨機做上述兩種操作中的任意一種操作,即在html測試用例中添加視頻的縮放,快進等操作,或者在html測試用例中在添加視頻的事件處理函數(shù)操作并在事件處理函數(shù)操作中添加危險操作;也可以同時做上述兩種操作,即在html測試用例中添加視頻的縮放,快進等操作,和添加視頻的事件處理函數(shù)操作并在事件處理函數(shù)操作中添加危險操作。

此處還需要說明的是,上述第一獲取單元51,監(jiān)控單元53和第一確定單元55對應(yīng)于實施例一中的步驟s22至步驟s26,三個模塊與對應(yīng)的步驟所實現(xiàn)的示例和應(yīng)用場景相同,但不限于上述實施例一所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運行在實施例一提供的計算機終端10中。

本申請上述實施例二公開的方案中,可以獲取變異后的測試文件,在獲取到變異后的測試文件之后,獲取包含變異后的測試文件的目標測試用例,實時監(jiān)控目標軟件中運行該目標測試用例是否異常,如果監(jiān)控到異常,則確定目標軟件存在安全漏洞。

容易注意到,本發(fā)明上述檢測目標軟件是否存在安全漏洞的裝置中,所采用的目標測試用例中包含了變異后的測試文件,即用于進行測試的目標測試用例中需要添加對應(yīng)的變異后的測試文件,例如變異后的視頻測試用例,該視頻測試用例與目標測試用例中的功能測試用例相關(guān)聯(lián)?;诖朔N測試用例,監(jiān)控在該目標軟件中運行該目標測試用例的情況,進而確定該目標軟件是否存在安全漏洞。因此,通過本申請實施例所提供的方案,可以實現(xiàn)在現(xiàn)有的基于變異的模糊測試方法的基礎(chǔ)上,將關(guān)注點放在 目標軟件對變異后的測試文件所對應(yīng)的事件的處理過程,即測試過程的關(guān)注點主要放在目標軟件對變異后的測試文件的處理過程,能夠測試瀏覽器軟件的更多。

由此,本申請?zhí)峁┑纳鲜鰧嵤├姆桨附鉀Q了現(xiàn)有的模糊測試方法只關(guān)注目標軟件對文件格式的解析和編解碼處理過程,導(dǎo)致測試效率低的技術(shù)問題。

在本申請上述實施例中,如圖6所示,在目標測試用例為網(wǎng)頁測試用例的情況下,上述第一獲取單元51可以包括:創(chuàng)建模塊61和處理模塊63。

其中,創(chuàng)建模塊61用于創(chuàng)建測試元素,并將測試元素與變異后的測試文件相關(guān)聯(lián);處理模塊63用于通過在目標測試用例中添加測試元素所對應(yīng)的數(shù)據(jù),得到包含變異后的測試文件的目標測試用例。

可選的,上述的測試元素可以是視頻元素,上述測試元素所對應(yīng)的數(shù)據(jù)可以是測試元素的操作或者事件處理函數(shù)所對應(yīng)的數(shù)據(jù)。在本申請上述實施例中,測試元素可以為添加至目標測試用例的代碼中的標簽,標簽的標簽信息包括:變異后的測試文件的文件名稱、文件大小。

此處需要說明的是,上述創(chuàng)建模塊61和處理模塊63對應(yīng)于實施例一中的步驟s242至步驟s244,兩個模塊與對應(yīng)的步驟所實現(xiàn)的示例和應(yīng)用場景相同,但不限于上述實施例一所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運行在實施例一提供的計算機終端10中。

在本申請上述實施例中,如圖7所示,上述裝置還可以包括:第二確定單元71,第一添加單元73和第二添加單元75。

其中,第二確定單元71用于根據(jù)隨機整數(shù)的mod計算結(jié)果,確定待添加至目標測試用例中的數(shù)據(jù);第一添加單元73用于在mod計算結(jié)果滿足第一預(yù)設(shè)條件的情況下,待添加至目標測試用例中的數(shù)據(jù)至少包括如下與測試元素相關(guān)聯(lián)的元素參數(shù):測試元素的屬性、測試元素的屬性類型、測試元素的事件和測試元素的至少一個危險操作;第二添加單元75用于在mod計算結(jié)果滿足第二預(yù)設(shè)條件的情況下,待添加至目標測試用例中的數(shù)據(jù)至少包括如下任意一個或多個與測試元素相關(guān)聯(lián)的元素參數(shù):測試元素的快進操作、后退操作、畫面大小縮放操作和全屏操作。

可選的,上述的隨機整數(shù)可以在生成html測試用例的過程中隨機產(chǎn)生,上述的第一預(yù)設(shè)條件可以是1,上述的第二預(yù)設(shè)條件可以是0。

此處需要說明的是,上述第二確定單元71,第一添加單元73和第二添加單元75對應(yīng)于實施例一中的步驟s2462至步驟s2466,三個模塊與對應(yīng)的步驟所實現(xiàn)的示例 和應(yīng)用場景相同,但不限于上述實施例一所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運行在實施例一提供的計算機終端10中。

在本申請上述實施例中,如圖8所示,上述裝置還可以包括:第二獲取單元81。

其中,第二獲取單元81用于獲取待添加至目標測試用例中的如下任意一個或多個數(shù)據(jù);測試元素的屬性、測試元素的屬性類型、測試元素的事件、測試元素的至少一個危險操作、測試元素的快進操作、后退操作、畫面大小縮放操作和全屏操作。

此處需要說明的是,上述第二獲取模塊81對應(yīng)于實施例一中的步驟s248,該模塊與對應(yīng)的步驟所實現(xiàn)的示例和應(yīng)用場景相同,但不限于上述實施例一所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運行在實施例一提供的計算機終端10中。

在本申請上述實施例中,如圖9所示,上述處理模塊63可以包括:獲取子模塊91和添加子模塊93。

其中,獲取子模塊91用于從預(yù)存的位置獲取一個或多個與測試元素關(guān)聯(lián)的元素參數(shù);添加子模塊93用于在目標測試用例中添加一個或多個元素參數(shù)所對應(yīng)的數(shù)據(jù)。

可選的,上述的預(yù)存的位置可以為初始化時指定的位置,在本申請上述實施例中,元素參數(shù)至少包括如下任意一個多個參數(shù):測試元素的屬性、測試元素的屬性類型、測試元素的事件和測試元素的危險操作。

此處需要說明的是,上述獲取子模塊91和添加子模塊93對應(yīng)于實施例一中的步驟s2442至步驟s2444,兩個模塊與對應(yīng)的步驟所實現(xiàn)的示例和應(yīng)用場景相同,但不限于上述實施例一所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運行在實施例一提供的計算機終端10中。

在本申請上述實施例中,如圖10所示,上述添加子模塊93可以包括如下任意一個或多個模塊:第一添加重子模塊101,第二添加重子模塊103和第三添加重子模塊105。

其中,第一添加重子模塊101用于根據(jù)獲取到的測試元素的屬性和屬性類型在目標測試用例中添加測試元素的屬性賦值操作;第二添加重子模塊103用于根據(jù)獲取到的測試元素的事件在目標測試用例中添加測試元素的事件處理操作;第三添加重子模塊105用于根據(jù)獲取到的測試元素的至少一個危險操作在目標測試用例中的測試元素的事件處理函數(shù)中添加至少一個危險操作。

此處需要說明的是,上述第一添加重子模塊101,第二添加重子模塊103和第三 添加重子模塊105對應(yīng)于實施例一中的步驟s24442至步驟s24446,三個模塊與對應(yīng)的步驟所實現(xiàn)的示例和應(yīng)用場景相同,但不限于上述實施例一所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運行在實施例一提供的計算機終端10中。

在本申請上述實施例中,上述添加子模塊93還可以用于在目標測試用例中添加如下任意一種或多種添加操作:測試元素的快進操作、后退操作、畫面大小縮放操作和全屏操作。

此處需要說明的是,上述添加子模塊93對應(yīng)于實施例一中的步驟s24448,該模塊與對應(yīng)的步驟所實現(xiàn)的示例和應(yīng)用場景相同,但不限于上述實施例一所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運行在實施例一提供的計算機終端10中。

在本申請上述實施例中,上述裝置還可以包括:解析模塊。

其中,解析模塊用于啟動自動化腳本執(zhí)行打開瀏覽器進程或應(yīng)用軟件進程,解析html測試用例的操作命令。

此處需要說明的是,上述解析模塊對應(yīng)于實施例一中的步驟s28,該模塊與對應(yīng)的步驟所實現(xiàn)的示例和應(yīng)用場景相同,但不限于上述實施例一所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運行在實施例一提供的計算機終端10中。

在本申請上述實施例中,上述處理模塊63還可以用于在目標測試用例中添加用于使得目標軟件解析變異后的測試文件的代碼。

此處需要說明的是,生成的html測試用例中除了包含視頻測試用例之外,還包含視頻元素的操作或者事件處理函數(shù)等。

實施例3

本發(fā)明的實施例可以提供一種計算機終端,該計算機終端可以是計算機終端群中的任意一個計算機終端設(shè)備。可選地,在本實施例中,上述計算機終端也可以替換為移動終端等終端設(shè)備。

可選地,在本實施例中,上述計算機終端可以位于計算機網(wǎng)絡(luò)的多個網(wǎng)絡(luò)設(shè)備中的至少一個網(wǎng)絡(luò)設(shè)備。

在本實施例中,上述計算機終端可以執(zhí)行檢測目標軟件的方法中以下步驟的程序代碼:獲取目標測試用例,其中,目標測試用例包括變異后的測試文件;監(jiān)控在目標軟件中運行目標測試用例;如果監(jiān)控到異常,則確定目標軟件存在安全漏洞。

可選地,圖11是根據(jù)本申請實施例的一種計算機終端的結(jié)構(gòu)框圖。如圖11所示,該計算機終端a可以包括:一個或多個(圖中僅示出一個)處理器111、存儲器113、以及傳輸裝置115。

其中,存儲器113可用于存儲軟件程序以及模塊,如本發(fā)明實施例中的檢測目標軟件的方法和裝置對應(yīng)的程序指令/模塊,處理器111通過運行存儲在存儲器內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,即實現(xiàn)上述的檢測目標軟件的方法。存儲器113可包括高速隨機存儲器,還可以包括非易失性存儲器,如一個或者多個磁性存儲裝置、閃存、或者其他非易失性固態(tài)存儲器。在一些實例中,存儲器113可進一步包括相對于處理器遠程設(shè)置的存儲器,這些遠程存儲器可以通過網(wǎng)絡(luò)連接至終端a。上述網(wǎng)絡(luò)的實例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動通信網(wǎng)及其組合。

處理器111可以通過傳輸裝置調(diào)用存儲器存儲的信息及應(yīng)用程序,以執(zhí)行下述步驟:獲取目標測試用例,其中,目標測試用例包括變異后的測試文件;監(jiān)控在目標軟件中運行目標測試用例;如果監(jiān)控到異常,則確定目標軟件存在安全漏洞。

可選的,上述處理器111還可以執(zhí)行如下步驟的程序代碼:在目標測試用例為網(wǎng)頁測試用例的情況下,創(chuàng)建測試元素,并將測試元素與變異后的測試文件相關(guān)聯(lián);通過在目標測試用例中添加測試元素所對應(yīng)的數(shù)據(jù),得到包含變異后的測試文件的目標測試用例。

可選的,上述處理器111還可以執(zhí)行如下步驟的程序代碼:根據(jù)隨機整數(shù)的mod計算結(jié)果,確定待添加至目標測試用例中的數(shù)據(jù);在mod計算結(jié)果滿足第一預(yù)設(shè)條件的情況下,待添加至目標測試用例中的數(shù)據(jù)至少包括如下與測試元素相關(guān)聯(lián)的元素參數(shù):測試元素的屬性、測試元素的屬性類型、測試元素的事件和測試元素的至少一個危險操作;在mod計算結(jié)果滿足第二預(yù)設(shè)條件的情況下,待添加至目標測試用例中的數(shù)據(jù)至少包括如下任意一個或多個與測試元素相關(guān)聯(lián)的元素參數(shù):測試元素的快進操作、后退操作、畫面大小縮放操作和全屏操作。

可選的,上述處理器111還可以執(zhí)行如下步驟的程序代碼:獲取待添加至目標測試用例中的如下任意一個或多個數(shù)據(jù);測試元素的屬性、測試元素的屬性類型、測試元素的事件、測試元素的至少一個危險操作、測試元素的快進操作、后退操作、畫面大小縮放操作和全屏操作。

可選的,上述處理器111還可以執(zhí)行如下步驟的程序代碼:從預(yù)存的位置獲取一個或多個與測試元素關(guān)聯(lián)的元素參數(shù);在目標測試用例中添加一個或多個元素參數(shù)所 對應(yīng)的數(shù)據(jù)。

可選的,上述處理器111還可以執(zhí)行如下步驟的程序代碼:根據(jù)獲取到的測試元素的屬性和屬性類型在目標測試用例中添加測試元素的屬性賦值操作;根據(jù)獲取到的測試元素的事件在目標測試用例中添加測試元素的事件處理操作;根據(jù)獲取到的測試元素的至少一個危險操作在目標測試用例中的測試元素的事件處理函數(shù)中添加至少一個危險操作。

可選的,上述處理器111還可以執(zhí)行如下步驟的程序代碼:在目標測試用例中添加測試元素的快進操作、后退操作、畫面大小縮放操作和全屏操作。

可選的,上述處理器111還可以執(zhí)行如下步驟的程序代碼:變異后的測試文件為視頻測試用例,目標測試用例為html測試用例,目標軟件為瀏覽器或用于打開html測試用例的應(yīng)用軟件。

可選的,上述處理器111還可以執(zhí)行如下步驟的程序代碼:在監(jiān)控在目標軟件中運行目標測試用例之前,啟動自動化腳本執(zhí)行打開瀏覽器進程或應(yīng)用軟件進程,解析html測試用例的操作命令。

可選的,上述處理器111還可以執(zhí)行如下步驟的程序代碼:采用python的winappbg模塊來監(jiān)控瀏覽器或應(yīng)用軟件運行過程中的異常信息。

可選的,上述處理器111還可以執(zhí)行如下步驟的程序代碼:在目標測試用例中添加的目標代碼還包括:用于使得目標軟件解析變異后的測試文件的代碼。

可選的,上述處理器111還可以執(zhí)行如下步驟的程序代碼:測試元素為添加至目標測試用例的代碼中的標簽,標簽的標簽信息包括:變異后的測試文件的文件名稱、文件大小。

采用本發(fā)明實施例,可以獲取變異后的測試文件,在獲取到變異后的測試文件之后,獲取包含變異后的測試文件的目標測試用例,實時監(jiān)控目標軟件中運行該目標測試用例是否異常,如果監(jiān)控到異常,則確定目標軟件存在安全漏洞。

容易注意到,本發(fā)明上述用于執(zhí)行檢測目標軟件是否存在安全漏洞的方法的計算機系統(tǒng)中,所采用的目標測試用例中包含了變異后的測試文件,即用于進行測試的目標測試用例中需要添加對應(yīng)的變異后的測試文件,例如變異后的視頻測試用例,該視頻測試用例與目標測試用例中的功能測試用例相關(guān)聯(lián)?;诖朔N測試用例,監(jiān)控在該目標軟件中運行該目標測試用例的情況,進而確定該目標軟件是否存在安全漏洞。因此,通過本申請實施例所提供的方案,可以實現(xiàn)在現(xiàn)有的基于變異的模糊測試方法的 基礎(chǔ)上,將關(guān)注點放在目標軟件對變異后的測試文件所對應(yīng)的事件的處理過程,即測試過程的關(guān)注點主要放在目標軟件對變異后的測試文件的處理過程,能夠測試瀏覽器軟件的更多。

由此,本發(fā)明提供的上述實施例的方案解決了現(xiàn)有的模糊測試方法只關(guān)注目標軟件對文件格式的解析和編解碼處理過程,導(dǎo)致測試效率低的技術(shù)問題。

本領(lǐng)域普通技術(shù)人員可以理解,圖11所示的結(jié)構(gòu)僅為示意,計算機終端也可以是智能手機(如android手機、ios手機等)、平板電腦、掌聲電腦以及移動互聯(lián)網(wǎng)設(shè)備(mobileinternetdevices,mid)、pad等終端設(shè)備。圖11其并不對上述電子裝置的結(jié)構(gòu)造成限定。例如,計算機終端a還可包括比圖11中所示更多或者更少的組件(如網(wǎng)絡(luò)接口、顯示裝置等),或者具有與圖11所示不同的配置。

本領(lǐng)域普通技術(shù)人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令終端設(shè)備相關(guān)的硬件來完成,該程序可以存儲于一計算機可讀存儲介質(zhì)中,存儲介質(zhì)可以包括:閃存盤、只讀存儲器(read-onlymemory,rom)、隨機存取器(randomaccessmemory,ram)、磁盤或光盤等。

實施例4

本發(fā)明的實施例還提供了一種存儲介質(zhì)??蛇x地,在本實施例中,上述存儲介質(zhì)可以用于保存上述實施例一所提供的基于分庫分表的任務(wù)傳輸方法所執(zhí)行的程序代碼。

可選地,在本實施例中,上述存儲介質(zhì)可以位于計算機網(wǎng)絡(luò)中計算機終端群中的任意一個計算機終端中,或者位于移動終端群中的任意一個移動終端中。

可選地,在本實施例中,存儲介質(zhì)被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:獲取目標測試用例,其中,目標測試用例包括變異后的測試文件;監(jiān)控在目標軟件中運行目標測試用例;如果監(jiān)控到異常,則確定目標軟件存在安全漏洞。

可選地,在本實施例中,存儲介質(zhì)被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:在目標測試用例為網(wǎng)頁測試用例的情況下,創(chuàng)建測試元素,并將測試元素與變異后的測試文件相關(guān)聯(lián);通過在目標測試用例中添加測試元素所對應(yīng)的數(shù)據(jù),得到包含變異后的測試文件的目標測試用例。

可選地,在本實施例中,存儲介質(zhì)被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:根據(jù)隨機整數(shù)的mod計算結(jié)果,確定待添加至目標測試用例中的數(shù)據(jù);在mod計算結(jié)果滿足第一預(yù)設(shè)條件的情況下,待添加至目標測試用例中的數(shù)據(jù)至少包括如下與測試元素相關(guān)聯(lián)的元素參數(shù):測試元素的屬性、測試元素的屬性類型、測試元素的事件和 測試元素的至少一個危險操作;在mod計算結(jié)果滿足第二預(yù)設(shè)條件的情況下,待添加至目標測試用例中的數(shù)據(jù)至少包括如下任意一個或多個與測試元素相關(guān)聯(lián)的元素參數(shù):測試元素的快進操作、后退操作、畫面大小縮放操作和全屏操作。

可選地,在本實施例中,存儲介質(zhì)被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:獲取待添加至目標測試用例中的如下任意一個或多個數(shù)據(jù);測試元素的屬性、測試元素的屬性類型、測試元素的事件、測試元素的至少一個危險操作、測試元素的快進操作、后退操作、畫面大小縮放操作和全屏操作。

可選地,在本實施例中,存儲介質(zhì)被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:從預(yù)存的位置獲取一個或多個與測試元素關(guān)聯(lián)的元素參數(shù);在目標測試用例中添加一個或多個元素參數(shù)所對應(yīng)的數(shù)據(jù)。

可選地,在本實施例中,存儲介質(zhì)被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:根據(jù)獲取到的測試元素的屬性和屬性類型在目標測試用例中添加測試元素的屬性賦值操作;根據(jù)獲取到的測試元素的事件在目標測試用例中添加測試元素的事件處理操作;根據(jù)獲取到的測試元素的至少一個危險操作在目標測試用例中的測試元素的事件處理函數(shù)中添加至少一個危險操作。

可選地,在本實施例中,存儲介質(zhì)被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:在目標測試用例中添加測試元素的快進操作、后退操作、畫面大小縮放操作和全屏操作。

可選地,在本實施例中,存儲介質(zhì)被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:變異后的測試文件為視頻測試用例,目標測試用例為html測試用例,目標軟件為瀏覽器或用于打開html測試用例的應(yīng)用軟件。

可選地,在本實施例中,存儲介質(zhì)被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:在監(jiān)控在目標軟件中運行目標測試用例之前,啟動自動化腳本執(zhí)行打開瀏覽器進程或應(yīng)用軟件進程,解析html測試用例的操作命令。

可選地,在本實施例中,存儲介質(zhì)被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:采用python的winappbg模塊來監(jiān)控瀏覽器或應(yīng)用軟件運行過程中的異常信息。

可選地,在本實施例中,存儲介質(zhì)被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:在目標測試用例中添加的目標代碼還包括:用于使得目標軟件解析變異后的測試文件的代碼。

可選地,在本實施例中,存儲介質(zhì)被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼: 測試元素為添加至目標測試用例的代碼中的標簽,標簽的標簽信息包括:變異后的測試文件的文件名稱、文件大小。

上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。

在本發(fā)明的上述實施例中,對各個實施例的描述都各有側(cè)重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關(guān)描述。

在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的技術(shù)內(nèi)容,可通過其它的方式實現(xiàn)。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。

所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。

另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。

所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可為個人計算機、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:u盤、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。

以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
江山市| 湾仔区| 济源市| 韩城市| 平原县| 澄城县| 平凉市| 温泉县| 桓台县| 余江县| 建瓯市| 德庆县| 社旗县| 浙江省| 陈巴尔虎旗| 房产| 易门县| 建德市| 永康市| 水城县| 仙游县| 上饶县| 谷城县| 浪卡子县| 山东| 广安市| 门源| 张家川| 岑巩县| 遵义市| 文山县| 介休市| 鲁甸县| 图片| 蒙山县| 柞水县| 崇义县| 连江县| 龙江县| 颍上县| 巴南区|