專(zhuān)利名稱(chēng):一種針對(duì)軟件界面安全缺陷的檢測(cè)方法
技術(shù)領(lǐng)域:
本發(fā)明屬于網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,特別是一種針對(duì)軟件界面安全缺陷的檢測(cè)方法。 采用本發(fā)明方法可針對(duì)具有人機(jī)數(shù)據(jù)輸入界面的Windows操作系統(tǒng)下對(duì)可執(zhí)行軟件進(jìn)行 與軟件界面有關(guān)的安全缺陷的檢測(cè),以備后續(xù)處理。
背景技術(shù):
由于程序編寫(xiě)本身的缺陷,使得軟件安全性降低,是導(dǎo)致軟件安全問(wèn)題的一個(gè)重 要原因。大量存在于軟件系統(tǒng)中的安全缺陷,又使得軟件在使用階段受到意料不到的攻擊, 甚至造成重大損失,在這些安全缺陷中,數(shù)據(jù)輸入界面是應(yīng)用軟件與用戶(hù)交互的最直接的 層面,是最易受到攻擊的地方。目前尚未見(jiàn)到有關(guān)針對(duì)軟件界面的安全缺陷檢測(cè)方法的報(bào)道。在軟件界面測(cè)試 方面,一般認(rèn)為,用戶(hù)界面測(cè)試包括用戶(hù)界面測(cè)試用于核實(shí)用戶(hù)與軟件之間的交互是否正 常,測(cè)試目標(biāo)為確保各種瀏覽以及各種訪(fǎng)問(wèn)方法(鼠標(biāo)移動(dòng)、快捷鍵等)都使用正常,確保 窗口對(duì)象及其特征(菜單、大小、位置、狀態(tài)和中心)都符合標(biāo)準(zhǔn)等。在測(cè)試的內(nèi)容上,主要 強(qiáng)調(diào)界面的易用性、界面設(shè)計(jì)的規(guī)范性,并對(duì)幫助設(shè)施、合理性、美觀(guān)與協(xié)調(diào)性、菜單位置、 獨(dú)特性、快捷方式的組合、安全性考慮、多窗口的應(yīng)用與系統(tǒng)資源等方面給出了要求。在安 全性考慮方面,強(qiáng)調(diào)開(kāi)發(fā)者應(yīng)當(dāng)盡量周全地考慮到各種可能發(fā)生的問(wèn)題,將出錯(cuò)的可能降 至最小;如應(yīng)用出現(xiàn)保護(hù)性錯(cuò)誤而退出系統(tǒng),這種錯(cuò)誤最容易使用戶(hù)對(duì)軟件失去信心。因?yàn)?這意味著用戶(hù)要中斷思路,并費(fèi)時(shí)費(fèi)力地重新登錄,而且已進(jìn)行的操作也會(huì)因沒(méi)有存盤(pán)而 全部丟失,因此對(duì)設(shè)計(jì)給出了詳細(xì)的細(xì)則,包括1).排除可能會(huì)使應(yīng)用非正常中止的錯(cuò)誤;2).應(yīng)當(dāng)注意盡可能避免用戶(hù)無(wú)意錄入無(wú)效的數(shù)據(jù);3).采用相關(guān)控件限制用戶(hù)輸入值的種類(lèi);4).當(dāng)用戶(hù)作出選擇的可能性只有兩個(gè)時(shí),可以采用單選框;5).當(dāng)選擇的可能再多一些時(shí),可以采用復(fù)選框,每一種選擇都是有效的,用戶(hù)不 可能輸入任何一種無(wú)效的選擇;6).當(dāng)選項(xiàng)特別多時(shí),可以采用列表框,下拉式列表框;7).在一個(gè)應(yīng)用系統(tǒng)中,開(kāi)發(fā)者應(yīng)當(dāng)避免用戶(hù)作出未經(jīng)授權(quán)或沒(méi)有意義的操作;8).對(duì)可能引起致命錯(cuò)誤或系統(tǒng)出錯(cuò)的輸入字符或動(dòng)作要加限制或屏蔽;9).對(duì)可能發(fā)生嚴(yán)重后果的操作要有補(bǔ)救措施,通過(guò)補(bǔ)救措施用戶(hù)可以回到原來(lái) 的正確狀態(tài);10).對(duì)一些特殊符號(hào)的輸入、與系統(tǒng)使用的符號(hào)相沖突的字符等進(jìn)行判斷并阻止 用戶(hù)輸入該字符;11).對(duì)錯(cuò)誤操作最好支持可逆性處理,如取消系列操作;12).在輸入有效性字符之前應(yīng)該阻止用戶(hù)進(jìn)行只有輸入之后才可進(jìn)行的操作;13).對(duì)可能造成等待時(shí)間較長(zhǎng)的操作應(yīng)該提供取消功能;
14).特殊字符常有,”><,、‘ “ [” {、\|}]+= )_(_*&&"%$■ !,·。? / 還 有空格;15).與系統(tǒng)采用的保留字符沖突的要加以限制;16).在讀入用戶(hù)所輸入的信息時(shí),根據(jù)需要選擇是否去掉前后空格;17).有些讀入數(shù)據(jù)庫(kù)的字段不支持中間有空格,但用戶(hù)切實(shí)需要輸入中間空格, 這時(shí)要在程序中加以處理。但是對(duì)上述設(shè)計(jì)細(xì)則要求是否真正實(shí)現(xiàn)了、如何進(jìn)行測(cè)試,則沒(méi)作規(guī)定和說(shuō)明;因 而目前對(duì)軟件界面的安全性缺陷檢測(cè)尚缺乏有效的檢測(cè)方法。
發(fā)明內(nèi)容
本發(fā)明的目的是針對(duì)背景技術(shù)存在的對(duì)軟件界面安全缺陷無(wú)法進(jìn)行檢測(cè)的缺陷, 研究設(shè)計(jì)一種針對(duì)軟件界面安全缺陷的檢測(cè)方法,達(dá)到在被測(cè)軟件具有數(shù)據(jù)輸入界面并可 運(yùn)行的情況下,通過(guò)自動(dòng)捕獲軟件界面窗口信息,生成測(cè)試數(shù)據(jù)組對(duì)該軟件進(jìn)行測(cè)試,以發(fā) 現(xiàn)軟件中的安全性缺陷,且能準(zhǔn)確提供導(dǎo)致軟件界面安全缺陷的數(shù)據(jù)(引起軟件安全缺陷 的原因),以便進(jìn)行針對(duì)性改進(jìn)處理,確保軟件安全運(yùn)行等目的。本發(fā)明的解決方案是在被測(cè)軟件具有數(shù)據(jù)輸入界面并可運(yùn)行的基礎(chǔ)上,通過(guò)自動(dòng) 捕獲軟件界面窗口數(shù)據(jù);根據(jù)設(shè)定的分類(lèi)標(biāo)準(zhǔn)對(duì)捕獲的數(shù)據(jù)進(jìn)行分類(lèi),然后根據(jù)設(shè)定的測(cè) 試次數(shù)、串集合、數(shù)字集合生成測(cè)試數(shù)據(jù)組,并逐一將測(cè)試數(shù)據(jù)組送入被測(cè)的軟件界面進(jìn)行 測(cè)試,最后將使得軟件發(fā)生異常的測(cè)試數(shù)據(jù)組記錄并展示出來(lái),即得到導(dǎo)致被測(cè)軟件界面 的安全缺陷的數(shù)據(jù)、以備后續(xù)處理;從而實(shí)現(xiàn)其發(fā)明目的。因此,本發(fā)明的方法包括步驟1.設(shè)定檢測(cè)標(biāo)準(zhǔn)設(shè)定配置標(biāo)準(zhǔn)檢測(cè)參數(shù)、分類(lèi)標(biāo)準(zhǔn)檢測(cè)參數(shù)、測(cè)試次數(shù)、串 集合、數(shù)字集合,并初始化設(shè)置于系統(tǒng)的參數(shù)初始化處理單元模塊內(nèi);步驟2.被測(cè)軟件數(shù)據(jù)捕獲首先將被測(cè)軟件在操作系統(tǒng)下運(yùn)行,然后通過(guò)數(shù)據(jù)捕 獲單元模塊利用操作系統(tǒng)捕獲被測(cè)軟件的所有界面窗口數(shù)據(jù),并存儲(chǔ)待用;步驟3.數(shù)據(jù)分析將步驟2得到的數(shù)據(jù)按照設(shè)定的配置標(biāo)準(zhǔn)檢測(cè)參數(shù)和分類(lèi)標(biāo)準(zhǔn) 檢測(cè)參數(shù)、分類(lèi)后存儲(chǔ),以作為分析結(jié)果、送步驟4進(jìn)行處理;步驟4.測(cè)試數(shù)據(jù)的生成根據(jù)設(shè)定的串集合、數(shù)字集合、由步驟3所得的分析結(jié)果 按設(shè)定的測(cè)試次數(shù)生成測(cè)試用數(shù)據(jù)組并組成的測(cè)試數(shù)據(jù)集(test)后,送步驟5進(jìn)行測(cè)試;步驟5.測(cè)試將步驟4生成的測(cè)試數(shù)據(jù)集中的各測(cè)試數(shù)據(jù)組逐一送到被測(cè)軟件界 面窗口,通過(guò)運(yùn)行對(duì)被測(cè)軟件進(jìn)行測(cè)試,如果有某組數(shù)據(jù)使得被測(cè)軟件出現(xiàn)異?;蛩罊C(jī)、該 組數(shù)據(jù)即為導(dǎo)致被測(cè)軟件界面出現(xiàn)安全缺陷的數(shù)據(jù),然后將該組測(cè)試數(shù)據(jù)連同被測(cè)軟件轉(zhuǎn) 步驟6處理;如果步驟4生成的測(cè)試數(shù)據(jù)集使用完畢、則結(jié)束測(cè)試;步驟6.測(cè)試結(jié)果記錄處理將由步驟5輸入的測(cè)試數(shù)據(jù)連同被測(cè)軟件記錄并存入 數(shù)據(jù)庫(kù)中,作為該被測(cè)軟件的安全缺陷數(shù)據(jù)以備后繼處理用。以上所述設(shè)定的配置參數(shù)標(biāo)準(zhǔn)是Static和Edit、Button、ComboBox, ListBox、 SysTabControl32> SysListView32 以及 SysDateTimerPick32。分類(lèi)標(biāo)準(zhǔn)是窗口的句柄、控件的類(lèi)型及窗體的坐標(biāo)。所述的串集合是% η% η% η% η% η、% p% p% p% p% p、% s% s% s% s% s、% d% d% d%d% d、% x% x% x% x% x% s% p% x% d, % . 1024d、% . 1025d、% . 2048d、% . 2049d、% . 4 096d、% . 4097d% 99999999999s、% 08x、%% 20n、%% 20p、%% 20s、%% 20d、%% 20x、% % >Eaassdsdasdasdsadasdsdasdassdd> % #0123456x% 08x% x% s% p% d% n% o%u%c%h% l%q% j%z%Z%t% i%e%g%f%a%C%S% 08x% %, % #0123456x% 08x% x% s% p% n% d% o% u% c% h% 1% q% j% z% Z% t% i% e% g% f% a% C% S%#0123456x%%1%%
q%%j%%z%%Z%%t%%i%%e%%g%%f%%a%%C%% S%% 08xo所述的數(shù)字集合是0、-0、1、-1、32767、-32768、2147483647、-2147483647、2147483648、-2147483648、 4294967294、4294967295、4294967296、357913942、-357913942,536870912, -536870912、 1.79769313486231E+308.3. 39519326559384E-313,99999999999, -99999999999、 0x100,0x1000,0x3fffffff,0x7ffffffe,0x7fffffff,0x80000000,Oxffff,Oxfffffffe, 0xffTfTfT、0xfTfTfTfT、0xl0000、0xl00000、0x99999999、65535、65536、65537、16777215、 16777216、16777217、-268435455、% % 20d,Oxffffffffffffffffffff 本發(fā)明由于將待測(cè)軟件首先通過(guò)捕獲軟件界面窗口數(shù)據(jù)處理得到原始數(shù)據(jù),再采 用設(shè)定的配置標(biāo)準(zhǔn),分類(lèi)標(biāo)準(zhǔn)依次對(duì)原始數(shù)據(jù)進(jìn)行分類(lèi),然后根據(jù)設(shè)定的串集合、數(shù)字集合 生成測(cè)試數(shù)據(jù)組,并按照測(cè)試次數(shù)規(guī)則逐一對(duì)被測(cè)軟件進(jìn)行測(cè)試處理,如果對(duì)被測(cè)軟件造 成異?;蛩罊C(jī)的情況,該測(cè)試數(shù)據(jù)組即為該被測(cè)軟件的安全缺陷數(shù)據(jù);本發(fā)明在對(duì)軟件的 功能和性能無(wú)任何額外要求的情況下,通過(guò)自動(dòng)捕獲軟件界面窗口數(shù)據(jù),使用設(shè)定的標(biāo)準(zhǔn) 生成測(cè)試數(shù)據(jù)及進(jìn)行軟件運(yùn)行測(cè)試,以檢測(cè)被測(cè)軟件界面是否存在安全性缺陷、及確定致 使被測(cè)軟件出現(xiàn)安全缺陷的數(shù)據(jù)。因而具有可通過(guò)界面針對(duì)軟件缺陷進(jìn)行整體檢測(cè),準(zhǔn)確 提供導(dǎo)致軟件安全缺陷的數(shù)據(jù),以便進(jìn)行針對(duì)性改進(jìn)及處理,其檢測(cè)過(guò)程簡(jiǎn)單、檢測(cè)范圍 廣,對(duì)軟件界面安全缺陷的適應(yīng)性強(qiáng),檢測(cè)處理結(jié)果準(zhǔn)確性、可靠性高,可確保軟件安全運(yùn) 行等特點(diǎn)。
圖1為本發(fā)明方法測(cè)試流程示意圖(方框圖);圖2為本發(fā)明具體實(shí)施方式
測(cè)試方法流程示意圖(方框圖)。
具體實(shí)施例方式實(shí)施例1 本實(shí)施例采用Arck-114R型工業(yè)控制機(jī)作為檢測(cè)裝置;即在控制機(jī)內(nèi)的 存儲(chǔ)器(可執(zhí)行存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器)中分別設(shè)置待測(cè)軟件及測(cè)試標(biāo)準(zhǔn)初始化處理單元模 塊,用于對(duì)待測(cè)軟件進(jìn)行數(shù)據(jù)捕獲處理單元模塊,用于按照設(shè)定的配置準(zhǔn)則和分類(lèi)規(guī)則對(duì) 界面窗口數(shù)據(jù)進(jìn)行分析分類(lèi)單元模塊,用于根據(jù)設(shè)定的測(cè)試次數(shù)規(guī)則、串集合、數(shù)字集合生 成測(cè)試數(shù)據(jù)單元模塊,測(cè)試單元模塊,對(duì)檢測(cè)結(jié)果存儲(chǔ)和展示的單元模塊;整個(gè)檢測(cè)裝置通 過(guò)人機(jī)輸入接口設(shè)置各功能模塊及對(duì)應(yīng)的參數(shù),亦通過(guò)人機(jī)接口連接并錄入待檢測(cè)數(shù)據(jù), 而通過(guò)存儲(chǔ)接口存儲(chǔ)并送出軟件安全缺陷信息。以下通過(guò)下述參數(shù)為例對(duì)本發(fā)明方法進(jìn)行說(shuō)明需要檢測(cè)的軟件名為d:\test\softface. exe ;本實(shí)施例中軟件沒(méi)有對(duì)界面輸入的字符長(zhǎng)度進(jìn)行限制(即輸入了長(zhǎng)度超過(guò)操作系統(tǒng)允許長(zhǎng)度的字符),過(guò)長(zhǎng)的字符輸入會(huì) 導(dǎo)致軟件死機(jī)。用于原始數(shù)據(jù)的存儲(chǔ)地址是d: \softface\original\ ;用于最終結(jié)果的存儲(chǔ)地址是d: \softface\result\ ;1.配置檢測(cè)參數(shù)=Static ;Edit ;Button ;ComboBox ;ListBox ;SysTabControl32 ; SysListView32 ;SysDateTimerPick32 ;分類(lèi)標(biāo)準(zhǔn)檢測(cè)參數(shù),按照窗口的句柄、控件的類(lèi)型、窗體的坐標(biāo)進(jìn)行分類(lèi);測(cè)試次數(shù)針對(duì)被測(cè)軟件softface. exe的測(cè)試次數(shù)本實(shí)施例設(shè)定為5000次;2.被測(cè)軟件數(shù)據(jù)捕獲對(duì)被測(cè)軟件softface.exe捕獲其界面窗口數(shù)據(jù),存入地址 d:\softface\original\ 中;3.數(shù)據(jù)分析根據(jù)捕獲的數(shù)據(jù),分析出被測(cè)軟件softface. exe的界面窗口數(shù)據(jù) 為(hi, Static, (xl,yl))、(h2,Edit, (x2,y2))、(h3,Button, (x3,y3))類(lèi)型,其中,hi, h2,h3 分別表示窗口句柄,(xl, yl), (x2,y2)、(x3, y3)分別表示窗 口類(lèi)型 Static、Edit、 Button的坐標(biāo)位置;4.測(cè)試數(shù)據(jù)生成過(guò)程首先根據(jù)軟件界面窗口數(shù)據(jù)分類(lèi)針對(duì)(hl,Static, (xl, yl))生成測(cè)試數(shù)據(jù)從 串集合中隨機(jī)抽取 % d% d% d% d% d, %% 20η、% . 2048d、% . 2049d、% % 20x、% #0123456x% 08x% x% s% p% d% n% o% u% c% h% 1% q% j% z% Z% t% i% e% g% f% a% C% S%從數(shù)字集合中隨機(jī)抽取 32767、-32768、65537、16777217,混合 組成10個(gè)可用測(cè)試數(shù)據(jù),記為testl,作為對(duì)該窗口的測(cè)試數(shù)據(jù);再根據(jù)軟件界面窗口數(shù)據(jù)分類(lèi)針對(duì)(h2,Edit, (x2, y2))生成測(cè)試 數(shù)據(jù);從串集合中隨機(jī)抽?。%n%n%n%n、% % 20s、% . 4097d % 99999999999s、% . 4096d, % . 1025d, %% 20p, % 08x ;從數(shù)字集合中隨機(jī)抽取 0x100、 -U-357913942、-99999999999、0x7ffffffe,65535,混合組成13個(gè)可用測(cè)試數(shù)據(jù)作為對(duì)該 窗口的測(cè)試數(shù)據(jù),記為test2 ;而針對(duì)軟件界面窗口數(shù)據(jù)分類(lèi)(h3,Button, (x3, y3)),不能生成測(cè)試數(shù)據(jù);從 testl和test2中各抽取一個(gè)數(shù)據(jù),組成一個(gè)測(cè)試數(shù)據(jù)組,總共生成5000個(gè)數(shù)據(jù)組,組成本 次測(cè)試數(shù)據(jù)集;5.測(cè)試過(guò)程,運(yùn)行被測(cè)軟件softface. exe,將步驟4生成的測(cè)試數(shù)據(jù)集中的各測(cè) 試數(shù)據(jù)組逐一送到被測(cè)軟件softface. exe的界面窗口,通過(guò)運(yùn)行對(duì)被測(cè)的softface. exe 進(jìn)行測(cè)試,因?yàn)闇y(cè)試數(shù)據(jù)testl中有16777217,test2中有-357913942、-99999999999,而 這些數(shù)據(jù)長(zhǎng)度超過(guò)操作系統(tǒng)允許的長(zhǎng)度,因此,在檢測(cè)過(guò)程中出現(xiàn)死機(jī),含有這些數(shù)據(jù)的測(cè) 試數(shù)據(jù)組即為導(dǎo)致被測(cè)的softface. exe界面出現(xiàn)安全缺陷的數(shù)據(jù),然后將含有這些數(shù)據(jù) 的測(cè)試數(shù)據(jù)組連同被測(cè)的softface. exe轉(zhuǎn)步驟6處理;步驟6.測(cè)試結(jié)果記錄處理將由步驟5輸入的含有 16777217、-357913942、-99999999999的測(cè)試數(shù)據(jù)組連同被測(cè)軟件softface. exe記錄并存 入地址d: \softface\result\中的數(shù)據(jù)庫(kù)中,作為對(duì)被測(cè)軟件softface. exe安全缺陷數(shù)據(jù) 以備后繼處理用。實(shí)施例2
本實(shí)施例仍采用采用Arck-114R型工業(yè)控制機(jī)作為檢測(cè)裝置;需要檢測(cè)的軟件名 仍為d:\test\softface. exe ;軟件沒(méi)有對(duì)界面輸入的負(fù)數(shù)進(jìn)行限制,負(fù)數(shù)數(shù)據(jù)輸入會(huì)導(dǎo)致 軟件死機(jī)。用于原始數(shù)據(jù)的存儲(chǔ)地址是d: \softface\original\ ;用于最終結(jié)果的存儲(chǔ)地址是d: \softface\result\ ;1.配置檢測(cè)參數(shù),Static ;Edit ;Button ;ComboBox ;ListBox ;SysTabControl32 ; SysListView32 ;SysDateTimerPick32 ;分類(lèi)標(biāo)準(zhǔn)檢測(cè)參數(shù),按照窗口的句柄、控件的類(lèi)型、窗體的坐標(biāo)進(jìn)行分類(lèi);測(cè)試次數(shù),針對(duì)被測(cè)軟件softface. exe測(cè)試次數(shù)本實(shí)施例設(shè)定為5000次;2.被測(cè)軟件數(shù)據(jù)捕獲,對(duì)被測(cè)軟件softface. exe捕獲其界面窗口數(shù)據(jù),存入地址 d:\softface\original\ 中;3.數(shù)據(jù)分析,根據(jù)捕獲的數(shù)據(jù),分析出被測(cè)軟件softface.exe的界面窗口數(shù)據(jù) 為:(hl, Static, (xl,yl))、(h2,Edit, (x2,y2))、(h3,Button, (x3,y3))類(lèi)型,其中,hi, h2,h3 分別表示窗口句柄,(xl, yl), (x2,y2)、(x3, y3)分別表示窗 口類(lèi)型 Static、Edit、 Button的坐標(biāo)位置;4.測(cè)試數(shù)據(jù)生成過(guò)程首先根據(jù)軟件界面窗口數(shù)據(jù)分類(lèi)針對(duì)(hl,Static, (xl, yl))生成測(cè)試數(shù)據(jù)從 串集合中隨機(jī)抽取 % d% d% d% d% d, %% 20η、% . 2048d、% . 2049d、% % 20x、% #0123456x% 08x% x% s% p% d% n% o% u% c% h% 1% q% j% z% Z% t% i% e% g% f% a% C% S%從數(shù)字集合中隨機(jī)抽取 32767、-32768、65537、16777217,混合 組成10個(gè)可用測(cè)試數(shù)據(jù),記為testl,作為對(duì)該窗口的測(cè)試數(shù)據(jù);再根據(jù)軟件界面窗口數(shù)據(jù)分類(lèi)針對(duì)(h2,Edit, (x2, y2))生成測(cè)試 數(shù)據(jù);從串集合中隨機(jī)抽?。%n%n%n%n、% % 20s、% . 4097d % 99999999999s、% . 4096d, % . 1025d, %% 20p, % 08x ;從數(shù)字集合中隨機(jī)抽取 0x100、 -U-357913942、-99999999999、0x7ffffffe,65535,混合組成13個(gè)可用測(cè)試數(shù)據(jù)作為對(duì)該 窗口的測(cè)試數(shù)據(jù),記為test2 ;而針對(duì)軟件界面窗口數(shù)據(jù)分類(lèi)(h3,Button, (x3, y3)),不能生成測(cè)試數(shù)據(jù)。從 testl和test2中各抽取一個(gè)數(shù)據(jù),組成一個(gè)測(cè)試數(shù)據(jù)組,總共生成5000個(gè)數(shù)據(jù)組,組成本 次測(cè)試數(shù)據(jù)集;5.測(cè)試過(guò)程,運(yùn)行被測(cè)軟件softface. exe,將步驟4生成的測(cè)試數(shù)據(jù)集中的各測(cè) 試數(shù)據(jù)組逐一送到被測(cè)軟件softface. exe的界面窗口,通過(guò)運(yùn)行對(duì)被測(cè)的softface. exe 進(jìn)行測(cè)試,因?yàn)闇y(cè)試數(shù)據(jù)testl和test2中有負(fù)數(shù),因此,在檢測(cè)過(guò)程中出現(xiàn)死機(jī),含有負(fù)數(shù) 的測(cè)試數(shù)據(jù)組即為導(dǎo)致被測(cè)的softface. exe界面出現(xiàn)安全缺陷的數(shù)據(jù),然后將含有這些 數(shù)據(jù)的測(cè)試數(shù)據(jù)組連同被測(cè)的softface. exe轉(zhuǎn)步驟6處理;步驟6.測(cè)試結(jié)果記錄處理將由步驟5輸入的含有-32768、-1、-357913942、-99999999999的測(cè)試數(shù)據(jù)組連同被測(cè)軟件softface. exe記錄并存入地址d:\softface\ result\中的數(shù)據(jù)庫(kù)中,作為對(duì)被測(cè)軟件softface. exe安全缺陷數(shù)據(jù)、以備后繼處理用。
權(quán)利要求
一種針對(duì)軟件界面安全缺陷的檢測(cè)方法,包括步驟1.設(shè)定檢測(cè)標(biāo)準(zhǔn)設(shè)定配置標(biāo)準(zhǔn)檢測(cè)參數(shù)、分類(lèi)標(biāo)準(zhǔn)檢測(cè)參數(shù)、測(cè)試次數(shù)、串集合、數(shù)字集合,并初始化設(shè)置于系統(tǒng)的參數(shù)初始化處理單元模塊內(nèi);步驟2.被測(cè)軟件數(shù)據(jù)捕獲首先將被測(cè)軟件在操作系統(tǒng)下運(yùn)行,然后通過(guò)數(shù)據(jù)捕獲單元模塊利用操作系統(tǒng)捕獲被測(cè)軟件的所有界面窗口數(shù)據(jù),并存儲(chǔ)待用;步驟3.數(shù)據(jù)分析將步驟2得到的數(shù)據(jù)按照設(shè)定的配置標(biāo)準(zhǔn)檢測(cè)參數(shù)和分類(lèi)標(biāo)準(zhǔn)檢測(cè)參數(shù)、分類(lèi)后存儲(chǔ),以作為分析結(jié)果、送步驟4進(jìn)行處理;步驟4.測(cè)試數(shù)據(jù)的生成根據(jù)設(shè)定的串集合、數(shù)字集合、由步驟3所得的分析結(jié)果按設(shè)定的測(cè)試次數(shù)生成測(cè)試用數(shù)據(jù)組并組成的測(cè)試數(shù)據(jù)集后,送步驟5進(jìn)行測(cè)試;步驟5.測(cè)試將步驟4生成的測(cè)試數(shù)據(jù)集中的各測(cè)試數(shù)據(jù)組逐一送到被測(cè)軟件界面窗口,通過(guò)運(yùn)行對(duì)被測(cè)軟件進(jìn)行測(cè)試,如果有某組數(shù)據(jù)使得被測(cè)軟件出現(xiàn)異常或死機(jī)、該組數(shù)據(jù)即為導(dǎo)致被測(cè)軟件界面出現(xiàn)安全缺陷的數(shù)據(jù),然后將該組測(cè)試數(shù)據(jù)連同被測(cè)軟件轉(zhuǎn)步驟6處理;如果步驟4生成的測(cè)試數(shù)據(jù)集使用完畢、則結(jié)束測(cè)試;步驟6.測(cè)試結(jié)果記錄處理將由步驟5輸入的測(cè)試數(shù)據(jù)連同被測(cè)軟件記錄并存入數(shù)據(jù)庫(kù)中,作為該被測(cè)軟件的安全缺陷數(shù)據(jù)以備后繼處理用。
2.按權(quán)利要求1所述針對(duì)軟件界面安全缺陷的檢測(cè)方法,其特征在于所述設(shè)定的配置 標(biāo)準(zhǔn)是:Static 禾口 Edit、Button、ComboBox、ListBox、SysTabControl32> SysListView32 以 及 SysDateTimerPick32。
3.按權(quán)利要求1所述針對(duì)軟件界面安全缺陷的檢測(cè)方法,其特征在于所述分類(lèi)標(biāo)準(zhǔn) 是窗口的句柄、控件的類(lèi)型和窗體的坐標(biāo)。
4.按權(quán)利要求1所述針對(duì)軟件界面安全缺陷的檢測(cè)方法,其特征在于所述的串集合是% η% η% η% η% η、% p% p% p% p% p、% s% s% s% s% s、% d% d% d% d% d、% x% x% x% x% x% s% p% x% . 1024d、% . 1025d、% . 2048d、% . 2049d、% . 409 6d、% . 4097d% 99999999999s, % 08x, %% 20n, %% 20p, %% 20s, %% 20d, %% 20x、% % >Eaassdsdasdasdsadasdsdasdassdd> % #0123456x% 08x% x% s% p% d% n% o%u%c%h% l%q% j%z%Z%t% i%e%g%f%a%C% S% 08x% %, % #0123456x% 08x% x% s% p% n% d% o% u% c% h% 1% q% j% z% Z% t% i% e% g% f% a% C% S%#0123456x%%1%%q%%j%%z%%Z%%t%%i%%e%%g%%f%%a%%C%%S%% 08x。
5.按權(quán)利要求1所述針對(duì)軟件界面安全缺陷的檢測(cè)方法,其特征在于所述的數(shù)字集合是O、_0、1、-1,32767, -32768,2147483647, -2147483647,2147483648, -2147483648、 4294967294、4294967295、4294967296、357913942、-357913942,536870912, -536870912、 1.79769313486231E+308.3.39519326559384E-313,99999999999, -99999999999、 0x100,0x1000,0x3fffffff,0x7ffffffe,0x7fffffff,0x80000000,Oxffff,Oxfffffffe, 0xffTfTfT、0xfTfTfTfT、0xl0000、0xl00000、0x99999999、65535、65536、65537、16777215、 16777216、16777217、-268435455、%% 20d,Oxfffffffffffffffffff
全文摘要
該發(fā)明屬于網(wǎng)絡(luò)安全技術(shù)領(lǐng)域中針對(duì)軟件界面安全缺陷的檢測(cè)方法。包括設(shè)定檢測(cè)標(biāo)準(zhǔn),被測(cè)軟件數(shù)據(jù)捕獲,數(shù)據(jù)分析,測(cè)試數(shù)據(jù)的生成,測(cè)試及其結(jié)果記錄處理。該發(fā)明由于將待測(cè)軟件首先通過(guò)捕獲軟件界面窗口數(shù)據(jù),再采用設(shè)定的配置標(biāo)準(zhǔn),分類(lèi)標(biāo)準(zhǔn)對(duì)原始數(shù)據(jù)進(jìn)行分類(lèi),然后根據(jù)設(shè)定的串集合、數(shù)字集合生成測(cè)試數(shù)據(jù)組,對(duì)軟件按設(shè)定次數(shù)進(jìn)行測(cè)試;本發(fā)明對(duì)軟件的功能和性能無(wú)額外要求,通過(guò)自動(dòng)捕獲軟件界面窗口數(shù)據(jù)、以生成測(cè)試數(shù)據(jù)和檢測(cè)軟件安全性缺陷及其原因。因而具有可通過(guò)界面對(duì)軟件安全缺陷進(jìn)行整體檢測(cè)并準(zhǔn)確提供導(dǎo)致其缺陷的數(shù)據(jù)、以便進(jìn)行處理,其檢測(cè)過(guò)程簡(jiǎn)單、范圍廣,對(duì)軟件界面安全缺陷的適應(yīng)性強(qiáng),檢測(cè)結(jié)果準(zhǔn)確、可靠等特點(diǎn)。
文檔編號(hào)G06F11/36GK101950270SQ201010294489
公開(kāi)日2011年1月19日 申請(qǐng)日期2010年9月28日 優(yōu)先權(quán)日2010年9月28日
發(fā)明者周勤民, 王光衛(wèi), 范明鈺, 陳崢 申請(qǐng)人:電子科技大學(xué)