之所以被稱(chēng)為黑盒測(cè)試是因?yàn)榭梢詫⒈粶y(cè)程序看成是一個(gè)無(wú)法打開(kāi)的黑盒,而工作人員在不軟件測(cè)試方法考慮任何程序內(nèi)部結(jié)構(gòu)和特性的條件下,根據(jù)需求規(guī)格說(shuō)明書(shū)設(shè)計(jì)測(cè)試實(shí)例,并檢查程序的功能是否能夠按照規(guī)范說(shuō)明準(zhǔn)確無(wú)誤的運(yùn)行。其主要是對(duì)軟件界面和軟件功能進(jìn)行測(cè)試。對(duì)于黑盒測(cè)試行為必須加以量化才能夠有效的保證軟件的質(zhì)量。[5](2)白盒測(cè)試。其與黑盒測(cè)試不同,它主要是借助程序內(nèi)部的邏輯和相關(guān)信息,通過(guò)檢測(cè)內(nèi)部動(dòng)作是否按照設(shè)計(jì)規(guī)格說(shuō)明書(shū)的設(shè)定進(jìn)行,檢查每一條通路能否正常工作。白盒測(cè)試是從程序結(jié)構(gòu)方面出發(fā)對(duì)測(cè)試用例進(jìn)行設(shè)計(jì)。其主要用于檢查各個(gè)邏輯結(jié)構(gòu)是否合理,對(duì)應(yīng)的模塊**路徑是否正常以及內(nèi)部結(jié)構(gòu)是否有效。常用的白盒測(cè)試法有控制流分析、數(shù)據(jù)流分析、路徑分析、程序變異等,其中邏輯覆蓋法是主要的測(cè)試方法。[5](3)灰盒測(cè)試?;液袦y(cè)試則介于黑盒測(cè)試和白盒測(cè)試之間?;液袦y(cè)試除了重視輸出相對(duì)于出入的正確性,也看重其內(nèi)部表現(xiàn)。但是它不可能像白盒測(cè)試那樣詳細(xì)和完整。它只是簡(jiǎn)單的靠一些象征性的現(xiàn)象或標(biāo)志來(lái)判斷其內(nèi)部的運(yùn)行情況,因此在內(nèi)部結(jié)果出現(xiàn)錯(cuò)誤,但輸出結(jié)果正確的情況下可以采取灰盒測(cè)試方法。因?yàn)樵诖饲闆r下灰盒比白盒**。5G 與物聯(lián)網(wǎng):深圳艾策的下一個(gè)技術(shù)前沿。軟件檢測(cè)分析平臺(tái)有哪些公司
在不知道多長(zhǎng)的子序列能更好的表示可執(zhí)行文件的情況下,只能以固定窗口大小在字節(jié)碼序列中滑動(dòng),產(chǎn)生大量的短序列,由機(jī)器學(xué)習(xí)方法選擇可能區(qū)分惡意軟件和良性軟件的短序列作為特征,產(chǎn)生短序列的方法叫n-grams?!?80074ff13b2”的字節(jié)碼序列,如果以3-grams產(chǎn)生連續(xù)部分重疊的短序列,將得到“080074”、“0074ff”、“74ff13”、“ff13b2”四個(gè)短序列。每個(gè)短序列特征的權(quán)重表示有多種方法。**簡(jiǎn)單的方法是如果該短序列在具體樣本中出現(xiàn),就表示為1;如果沒(méi)有出現(xiàn),就表示為0,也可以用。本實(shí)施例采用3-grams方法提取特征,3-grams產(chǎn)生的短序列非常龐大,將產(chǎn)生224=(16,777,216)個(gè)特征,如此龐大的特征集在計(jì)算機(jī)內(nèi)存中存儲(chǔ)和算法效率上都是問(wèn)題。如果短序列特征的tf較小,對(duì)機(jī)器學(xué)習(xí)可能沒(méi)有意義,選取了tf**高的5000個(gè)短序列特征,計(jì)算每個(gè)短序列特征的,每個(gè)短序列特征的權(quán)重是判斷其所在軟件樣本是否為惡意軟件的依據(jù),也是區(qū)分每個(gè)軟件樣本的依據(jù)。(4)前端融合前端融合的架構(gòu)如圖4所示,前端融合方式將三種模態(tài)的特征合并,然后輸入深度神經(jīng)網(wǎng)絡(luò),隱藏層的***函數(shù)為relu,輸出層的***函數(shù)是sigmoid,中間使用dropout層進(jìn)行正則化,防止過(guò)擬合,優(yōu)化器。大連軟件檢測(cè)報(bào)告電話(huà)對(duì)比分析顯示資源占用率高于同類(lèi)產(chǎn)品均值26%。
這樣做的好處是,融合模型的錯(cuò)誤來(lái)自不同的分類(lèi)器,而來(lái)自不同分類(lèi)器的錯(cuò)誤往往互不相關(guān)、互不影響,不會(huì)造成錯(cuò)誤的進(jìn)一步累加。常見(jiàn)的后端融合方式包括**大值融合(max-fusion)、平均值融合(averaged-fusion)、貝葉斯規(guī)則融合(bayes’rulebased)以及集成學(xué)習(xí)(ensemblelearning)等。其中集成學(xué)習(xí)作為后端融合方式的典型**,被廣泛應(yīng)用于通信、計(jì)算機(jī)識(shí)別、語(yǔ)音識(shí)別等研究領(lǐng)域。中間融合是指將不同的模態(tài)數(shù)據(jù)先轉(zhuǎn)化為高等特征表達(dá),再于模型的中間層進(jìn)行融合,如圖3所示。以深度神經(jīng)網(wǎng)絡(luò)為例,神經(jīng)網(wǎng)絡(luò)通過(guò)一層一層的管道映射輸入,將原始輸入轉(zhuǎn)換為更高等的表示。中間融合首先利用神經(jīng)網(wǎng)絡(luò)將原始數(shù)據(jù)轉(zhuǎn)化成高等特征表達(dá),然后獲取不同模態(tài)數(shù)據(jù)在高等特征空間上的共性,進(jìn)而學(xué)習(xí)一個(gè)聯(lián)合的多模態(tài)表征。深度多模態(tài)融合的大部分工作都采用了這種中間融合的方法,其***享表示層是通過(guò)合并來(lái)自多個(gè)模態(tài)特定路徑的連接單元來(lái)構(gòu)建的。中間融合方法的一大優(yōu)勢(shì)是可以靈活的選擇融合的位置,但設(shè)計(jì)深度多模態(tài)集成結(jié)構(gòu)時(shí),確定如何融合、何時(shí)融合以及哪些模式可以融合,是比較有挑戰(zhàn)的問(wèn)題。字節(jié)碼n-grams、dll和api信息、格式結(jié)構(gòu)信息這三種類(lèi)型的特征都具有自身的優(yōu)勢(shì)。
步驟s2、將軟件樣本中的類(lèi)別已知的軟件樣本作為訓(xùn)練樣本,基于多模態(tài)數(shù)據(jù)融合方法,將訓(xùn)練樣本的dll和api信息特征視圖、格式信息特征視圖以及字節(jié)碼n-grams特征視圖輸入深度神經(jīng)網(wǎng)絡(luò),訓(xùn)練多模態(tài)深度集成模型;步驟s3、將軟件樣本中的類(lèi)別未知的軟件樣本作為測(cè)試樣本,并將測(cè)試樣本的dll和api信息特征視圖、格式信息特征視圖以及字節(jié)碼n-grams特征視圖輸入步驟s2訓(xùn)練得到的多模態(tài)深度集成模型中,對(duì)測(cè)試樣本進(jìn)行檢測(cè)并得出檢測(cè)結(jié)果。進(jìn)一步的,所述提取軟件樣本的二進(jìn)制可執(zhí)行文件的dll和api信息的特征表示,是統(tǒng)計(jì)當(dāng)前軟件樣本的導(dǎo)入節(jié)中引用的dll和api;所述提取軟件樣本的二進(jìn)制可執(zhí)行文件的pe格式結(jié)構(gòu)信息的特征表示,是先對(duì)當(dāng)前軟件樣本的二進(jìn)制可執(zhí)行文件進(jìn)行格式結(jié)構(gòu)解析,然后按照格式規(guī)范提取**該軟件樣本的格式結(jié)構(gòu)信息;所述提取軟件樣本的二進(jìn)制可執(zhí)行文件的字節(jié)碼n-grams的特征表示,是先將當(dāng)前軟件樣本件的二進(jìn)制可執(zhí)行文件轉(zhuǎn)換為十六進(jìn)制字節(jié)碼序列,然后采用n-grams方法在十六進(jìn)制字節(jié)碼序列中滑動(dòng),產(chǎn)生大量的連續(xù)部分重疊的短序列特征。進(jìn)一步的,采用3-grams方法在十六進(jìn)制字節(jié)碼序列中滑動(dòng)產(chǎn)生連續(xù)部分重疊的短序列特征。進(jìn)一步的。代碼質(zhì)量評(píng)估顯示注釋覆蓋率不足30%需加強(qiáng)。
綜合上面的分析可以看出,惡意軟件的格式信息和良性軟件是有很多差異性的,以可執(zhí)行文件的格式信息作為特征,是識(shí)別已知和未知惡意軟件的可行方法。對(duì)每個(gè)樣本進(jìn)行格式結(jié)構(gòu)解析,提取**每個(gè)樣本實(shí)施例件的格式結(jié)構(gòu)信息,可執(zhí)行文件的格式規(guī)范都由操作系統(tǒng)廠(chǎng)商給出,按照操作系統(tǒng)廠(chǎng)商給出的格式規(guī)范提取即可。pe文件的格式結(jié)構(gòu)有許多屬性,但大多數(shù)屬性無(wú)法區(qū)分惡意軟件和良性軟件,經(jīng)過(guò)深入分析pe文件的格式結(jié)構(gòu)屬性,提取了可能區(qū)分惡意軟件和良性軟件的136個(gè)格式結(jié)構(gòu)屬性,如表2所示。表2可能區(qū)分惡意軟件和良性軟件的pe格式結(jié)構(gòu)屬性特征描述數(shù)量(個(gè))引用dll的總數(shù)1引用api的總數(shù)1導(dǎo)出表中符號(hào)的總數(shù)1重定位節(jié)的項(xiàng)目總數(shù),連續(xù)的幾個(gè)字節(jié)可能是完成特定功能的一段代碼,或者是可執(zhí)行文件的結(jié)構(gòu)信息,也可能是某個(gè)惡意軟件中特有的字節(jié)碼序列。pe文件可表示為字節(jié)碼序列,惡意軟件可能存在一些共有的字節(jié)碼子序列模式,研究人員直覺(jué)上認(rèn)為一些字節(jié)碼子序列在惡意軟件可能以較高頻率出現(xiàn),且這些字節(jié)碼序列和良性軟件字節(jié)碼序列存在明顯差異??蓤?zhí)行文件通常是二進(jìn)制文件,需要把二進(jìn)制文件轉(zhuǎn)換為十六進(jìn)制的文本實(shí)施例件,就得到可執(zhí)行文件的十六進(jìn)制字節(jié)碼序列。覆蓋軟件功能與性能的多維度檢測(cè)方案設(shè)計(jì)與實(shí)施!第三方軟件測(cè)評(píng)公司有哪些
數(shù)據(jù)驅(qū)動(dòng)決策:艾策科技如何提升企業(yè)競(jìng)爭(zhēng)力。軟件檢測(cè)分析平臺(tái)有哪些公司
收藏查看我的收藏0有用+1已投票0軟件測(cè)試技術(shù)編輯鎖定討論上傳視頻軟件測(cè)試技術(shù)是軟件開(kāi)發(fā)過(guò)程中的一個(gè)重要組成部分,是貫穿整個(gè)軟件開(kāi)發(fā)生命周期、對(duì)軟件產(chǎn)品(包括階段性產(chǎn)品)進(jìn)行驗(yàn)證和確認(rèn)的活動(dòng)過(guò)程,其目的是盡快盡早地發(fā)現(xiàn)在軟件產(chǎn)品中所存在的各種問(wèn)題——與用戶(hù)需求、預(yù)先定義的不一致性。檢查軟件產(chǎn)品的bug。寫(xiě)成測(cè)試報(bào)告,交于開(kāi)發(fā)人員修改。軟件測(cè)試人員的基本目標(biāo)是發(fā)現(xiàn)軟件中的錯(cuò)誤。中文名軟件測(cè)試技術(shù)簡(jiǎn)介單元測(cè)試、集成測(cè)試主要步驟測(cè)試設(shè)計(jì)與開(kāi)發(fā)常見(jiàn)測(cè)試回歸測(cè)試功能測(cè)試目錄1主要步驟2基本功能3測(cè)試目標(biāo)4測(cè)試目的5常見(jiàn)測(cè)試6測(cè)試分類(lèi)7測(cè)試工具8同名圖書(shū)?圖書(shū)1?圖書(shū)2?圖書(shū)3?圖書(shū)4軟件測(cè)試技術(shù)主要步驟編輯1、測(cè)試計(jì)劃2、測(cè)試設(shè)計(jì)與開(kāi)發(fā)3、執(zhí)行測(cè)試軟件測(cè)試技術(shù)基本功能編輯1、驗(yàn)證(Verification)2、確認(rèn)(Validation)軟件測(cè)試人員應(yīng)具備的知識(shí):1、軟件測(cè)試技術(shù)2、被測(cè)試應(yīng)用程序及相關(guān)應(yīng)用領(lǐng)域軟件測(cè)試技術(shù)測(cè)試目標(biāo)編輯1、軟件測(cè)試人員所追求的是盡可能早地找出軟件的錯(cuò)誤;2、軟件測(cè)試人員必須確保找出的軟件錯(cuò)誤得以關(guān)閉。軟件檢測(cè)分析平臺(tái)有哪些公司