專利名稱:一種發(fā)現(xiàn)安全軟件之間兼容性問題的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機(jī)安全技術(shù)領(lǐng)域,特別涉及一種發(fā)現(xiàn)安全軟件之間兼容性問題的 方法和裝置。
背景技術(shù):
安全軟件之間,由于底層技術(shù)的相似性,在共存的時候,可能存在一些兼容性問 題,從而導(dǎo)致系統(tǒng)藍(lán)屏或者死機(jī)?,F(xiàn)有測試技術(shù)里面,對于軟件兼容性問題的測試,被測試 對象的來源完全是基于人工的猜測、想象或者一種無針對性的軟件流行度排名,缺乏一種 能夠把被測試對象的數(shù)量收斂的方法,且容易出現(xiàn)軟件兼容性測試方向錯誤,導(dǎo)致測試周 期拖長、測試效果不佳而加大軟件測試過程的成本。
發(fā)明內(nèi)容
本發(fā)明所解決的問題在于提供一種發(fā)現(xiàn)安全軟件之間兼容性問題的方法和裝置, 以使測試軟件有針對性地測試。為解決上述問題,本發(fā)明采用以下技術(shù)方案一種發(fā)現(xiàn)安全軟件之間兼容性問題的方法,該方法包括以下步驟(1).根據(jù)經(jīng)驗數(shù)據(jù)統(tǒng)計出安全軟件之間兼容性問題的敏感字符串和/或敏感API 列表;(2).對海量文件進(jìn)行掃描,找出文件中包含上述敏感字符串的字符串和/或敏感 API的API,并記錄與包含敏感字符串的字符串和/或敏感API的API所在位置相關(guān)的信息。本發(fā)明通過過濾文件中的字符串和/或API,保留包含安全軟件之間兼容性問題 的敏感字符串的字符串和/或敏感API的API,并記錄所在文件信息,進(jìn)而獲知對應(yīng)的可能 存在兼容性問題的安全軟件,有效的把兼容性測試對象的數(shù)量進(jìn)行了大量的縮減,并給出 了被測試對象的重點測試范圍,從而降低了軟件兼容性測試過程中的成本,縮短了同類型 測試過程的測試周期。一種發(fā)現(xiàn)安全軟件之間兼容性問題的裝置,包括統(tǒng)計模塊,用于統(tǒng)計安全軟件之間兼容性問題的敏感字符串和/或敏感API列 表;掃描模塊,用于掃描文件中包含安全軟件之間兼容性問題敏感字符串和的字符串 和/或敏感API的API,并記錄與包含敏感字符串的字符串和/或敏感API的API所在位置 相關(guān)的信息。根據(jù)本發(fā)明的發(fā)現(xiàn)安全軟件之間兼容性問題的裝置,其通過掃描模塊掃描出包含 統(tǒng)計模塊統(tǒng)計出的敏感字符串的字符串和/或敏感API的API,并記錄與掃描出的字符串和 /或API所在位置相關(guān)的信息,從而獲知對應(yīng)的可能存在兼容性問題的安全軟件,有效的把 兼容性測試對象的數(shù)量進(jìn)行了大量的縮減,并給出了被測試對象的重點測試范圍,從而降 低了軟件兼容性測試過程中的成本,縮短了同類型測試過程的測試周期。
圖1為本發(fā)明發(fā)現(xiàn)安全軟件之間兼容性問題的方法實施例一的流程示意圖;圖2為本發(fā)明發(fā)現(xiàn)安全軟件之間兼容性問題的方法實施例一步驟102的流程示意 圖;圖3為本發(fā)明發(fā)現(xiàn)安全軟件之間兼容性問題的方法實施例二的流程示意圖;圖4為本發(fā)明發(fā)現(xiàn)安全軟件之間兼容性問題的方法實施例二步驟302的流程示意 圖;圖5為本發(fā)明發(fā)現(xiàn)安全軟件之間兼容性問題的方法實施例三的流程示意圖;圖6為本發(fā)明發(fā)現(xiàn)安全軟件之間兼容性問題的方法實施例三步驟502的流程示意 圖;圖7為本發(fā)明發(fā)現(xiàn)安全軟件之間兼容性問題的裝置實施例一的結(jié)構(gòu)示意圖;圖8為本發(fā)明發(fā)現(xiàn)安全軟件之間兼容性問題的裝置實施例二的結(jié)構(gòu)示意圖;圖9為本發(fā)明發(fā)現(xiàn)安全軟件之間兼容性問題的裝置實施例三的結(jié)構(gòu)示意圖。
具體實施例方式本發(fā)明方案首先根據(jù)經(jīng)驗統(tǒng)計出安全軟件之間兼容性問題的敏感字符串和/或 敏感API列表,然后根據(jù)特征字符串信息采樣技術(shù),過濾出文件中包含敏感字符串的字符 串和/或敏感API的API。下面結(jié)合附圖及具體實施例對本發(fā)明方案作進(jìn)一步詳細(xì)的說明。實施例一如圖1所示,為本發(fā)明發(fā)現(xiàn)安全軟件之間兼容性問題的方法具體實施例一的流程 示意圖,在本實施例中,包括以下步驟步驟101 根據(jù)經(jīng)驗數(shù)據(jù)統(tǒng)計出軟件兼容性問題敏感字符串。步驟102 對海量文件進(jìn)行掃描,統(tǒng)計所有含有上述安全軟件兼容性問題敏感字 符串的字符串,并記錄與包含敏感字符串的字符串所在位置相關(guān)的信息。如圖2所示,為上述步驟102的流程示意圖,其具體包括以下步驟步驟201 對文件進(jìn)行分析,判斷文件是否是PE文件,如果是則納入后續(xù)掃描流 程,如果不是則結(jié)束;步驟202 分析PE文件,提取所有的字符串;步驟203 對從步驟202獲取到的字符串進(jìn)行過濾,只保留含有軟件兼容性問題敏 感字符串的字符串;步驟204 將從步驟203獲取的字符串及字符串在PE文件內(nèi)的偏移位置以及PE文 件的文件名、原始文件名、版本信息、版權(quán)信息等記錄在PE文件版本資源段里面的全部內(nèi) 容記錄進(jìn)入數(shù)據(jù)庫;步驟205 該文件的掃描流程結(jié)束,繼續(xù)對下一文件進(jìn)行分析。根據(jù)上述步驟掃描到的PE文件信息獲知對應(yīng)的可能存在兼容性問題的安全軟 件,測試兼容性的測試軟件即可對這些可疑軟件進(jìn)行測試,且PE文件內(nèi)包含敏感字符串的 字符串為測試重點。
實施例二 本實施例與實施例一的不同之處在于,用敏感API代替敏感字符串來反映安全軟 件之間的兼容性問題,如圖3所示,為本發(fā)明發(fā)現(xiàn)安全軟件之間兼容性問題的方法具體實 施例二的流程示意圖,在本實施例中,包括以下步驟步驟301 根據(jù)經(jīng)驗數(shù)據(jù)統(tǒng)計出軟件兼容性問題敏感API列表。步驟302 對海量文件進(jìn)行掃描,統(tǒng)計所有含有上述安全軟件兼容性問題敏感API 的API,并記錄與包含敏感API的API所在位置相關(guān)的信息。如圖4所示,為上述步驟302的流程示意圖,其具體包括以下步驟步驟401 對文件進(jìn)行分析,判斷文件是否是PE文件,如果是則納入后續(xù)掃描流 程,如果不是則結(jié)束;步驟402 分析PE文件,提取所有的API ;步驟403 對從步驟402獲取到的API進(jìn)行過濾,只保留含有軟件兼容性問題敏感 API 的 API ;步驟404 將從步驟403獲取的API及API在PE文件內(nèi)的偏移位置以及PE文件 的文件名、原始文件名、版本信息、版權(quán)信息等記錄在PE文件版本資源段里面的全部內(nèi)容 記錄進(jìn)入數(shù)據(jù)庫;步驟405 該文件的掃描流程結(jié)束,繼續(xù)對下一文件進(jìn)行分析。根據(jù)上述步驟掃描到的PE文件信息獲知對應(yīng)的可能存在兼容性問題的安全軟 件,測試兼容性的測試軟件即可對這些可疑軟件進(jìn)行測試,且PE文件內(nèi)包含敏感API的API 為測試重點。實施例三本實施例與實施例一、二的不同之處在于,用敏感字符串和敏感API共同反映安 全軟件之間的兼容性問題,如圖5所示,為本發(fā)明發(fā)現(xiàn)安全軟件之間兼容性問題的方法具 體實施例三的流程示意圖,在本實施例中,包括以下步驟步驟501 根據(jù)經(jīng)驗數(shù)據(jù)統(tǒng)計出軟件兼容性問題敏感字符串和敏感API列表。目 前常用的軟件兼容性問題敏感字符串和敏感API列表包括但不僅限于下面的一些KeServiceDescriptorTabIeKeAddSystemServiceTable KeServiceDescriptorTabIeShadowKeUserModeCalIbackKeInsertQueueApcSetffindowsHookEx步驟502 對海量文件進(jìn)行掃描,統(tǒng)計所有含有上述安全軟件兼容性問題敏感字 符串的字符串和敏感API的API,并記錄與包含敏感字符串的字符串和敏感API的API所在 位置相關(guān)的信息。如圖6所示,為上述步驟502的流程示意圖,其具體包括以下步驟步驟601 對文件進(jìn)行分析,判斷文件是否是PE文件,如果是則納入后續(xù)掃描流 程,如果不是則結(jié)束;步驟602 分析PE文件,提取所有的字符串和API ;
步驟603 對從步驟602獲取到的字符串和API進(jìn)行過濾,只保留含有軟件兼容性 問題敏感字符串的字符串和敏感API的API ;步驟604 將從步驟603獲取的字符串和API及字符串和API在PE文件內(nèi)的偏移 位置以及PE文件的文件名、原始文件名、版本信息、版權(quán)信息等記錄在PE文件版本資源段 里面的全部內(nèi)容記錄進(jìn)入數(shù)據(jù)庫;步驟605 該文件的掃描流程結(jié)束,繼續(xù)對下一文件進(jìn)行分析。根據(jù)上述步驟掃描到的PE文件信息獲知對應(yīng)的可能存在兼容性問題的安全軟 件,測試兼容性的測試軟件即可對這些可疑軟件進(jìn)行測試,且PE文件內(nèi)包含敏感字符串的 字符串和包含敏感API的API為測試重點。以下是本發(fā)明發(fā)現(xiàn)安全軟件之間兼容性問題的裝置的實施例。實施例一如圖7所示,為本發(fā)明發(fā)現(xiàn)安全軟件之間兼容性問題的裝置實施例一的結(jié)構(gòu)示意 圖,包括統(tǒng)計模塊701,用于統(tǒng)計安全軟件之間兼容性問題的敏感字符串;掃描模塊702,用于掃描文件中包含安全軟件之間兼容性問題敏感字符串的字符 串,并記錄與包含敏感字符串的字符串所在位置相關(guān)的信息。此外,掃描模塊702具體包括判斷模塊7021,用于判斷文件是否是PE文件;提取模塊7022,用于從PE文件中提取字符串;過濾模塊7023,用于過濾從提取模塊提取到的字符串,保留包含安全軟件之間兼 容性問題的敏感字符串的字符串;記錄模塊70M,用于將從過濾模塊獲取的含有安全軟件之間兼容性問題敏感字符 串的字符串及包含敏感字符串的字符串在PE文件內(nèi)的偏移位置以及PE文件的文件名、原 始文件名、版本信息、版權(quán)信息等記錄在PE文件版本資源段里面的全部內(nèi)容記錄進(jìn)入數(shù)據(jù)庫。根據(jù)記錄模塊記錄的PE文件信息獲知對應(yīng)的可能存在兼容性問題的安全軟件, 測試兼容性的測試軟件即可對這些可疑軟件進(jìn)行測試,且PE文件內(nèi)包含敏感字符串的字 符串為測試重點。實施例二 本實施例與實施例一的不同之處在于,用敏感API代替敏感字符串來反映安全軟 件之間的兼容性問題,如圖8所示,為本發(fā)明發(fā)現(xiàn)安全軟件之間兼容性問題的裝置實施例 二的結(jié)構(gòu)示意圖,包括統(tǒng)計模塊801,用于統(tǒng)計安全軟件之間兼容性問題的敏感API列表;掃描模塊802,用于掃描文件中包含安全軟件之間兼容性問題敏感API的API,并 記錄與包含敏感API的API所在位置相關(guān)的信息。此外,掃描模塊802具體包括判斷模塊8021,用于判斷文件是否是PE文件;提取模塊8022,用于從PE文件中提取API ;過濾模塊8023,用于過濾從提取模塊提取到的API,保留包含安全軟件之間兼容性問題的敏感API的API ;記錄模塊80M,用于將從過濾模塊獲取的含有安全軟件之間兼容性問題敏感API 的API及包含敏感API的API在PE文件內(nèi)的偏移位置以及PE文件的文件名、原始文件名、 版本信息、版權(quán)信息等記錄在PE文件版本資源段里面的全部內(nèi)容記錄進(jìn)入數(shù)據(jù)庫。根據(jù)記錄模塊記錄的PE文件信息獲知對應(yīng)的可能存在兼容性問題的安全軟件, 測試兼容性的測試軟件即可對這些可疑軟件進(jìn)行測試,且PE文件內(nèi)包含敏感API的API為 測試重點。實施例三本實施例與實施例一、二的不同之處在于,用敏感API和敏感字符串共同反映安 全軟件之間的兼容性問題,如圖9所示,為本發(fā)明發(fā)現(xiàn)安全軟件之間兼容性問題的裝置實 施例三的結(jié)構(gòu)示意圖,包括統(tǒng)計模塊901,用于統(tǒng)計安全軟件之間兼容性問題的敏感字符串和敏感API列表;掃描模塊902,用于掃描文件中包含安全軟件之間兼容性問題敏感字符串的字符 串和敏感API的API,并記錄與包含敏感字符串的字符串和敏感API的API所在位置相關(guān)的
fn息ο此外,掃描模塊902具體包括判斷模塊9021,用于判斷文件是否是PE文件;提取模塊9022,用于從PE文件中提取字符串和API ;過濾模塊9023,用于過濾從提取模塊提取到的字符串和API,保留包含安全軟件 之間兼容性問題的敏感字符串的字符串和敏感API的API ;記錄模塊90M,用于將從過濾模塊獲取的含有安全軟件之間兼容性問題敏感字符 串的字符串和敏感API的API及包含敏感字符串的字符串和敏感API的API在PE文件內(nèi) 的偏移位置以及PE文件的文件名、原始文件名、版本信息、版權(quán)信息等記錄在PE文件版本 資源段里面的全部內(nèi)容記錄進(jìn)入數(shù)據(jù)庫。根據(jù)記錄模塊記錄的PE文件信息獲知對應(yīng)的可能存在兼容性問題的安全軟件, 測試兼容性的測試軟件即可對這些可疑軟件進(jìn)行測試,且PE文件內(nèi)包含敏感字符串的字 符串和包含敏感API的API為測試重點。本發(fā)明發(fā)現(xiàn)安全軟件之間兼容性問題的方法和裝置,其實施例中所述文件和安全 軟件是建立在以Windows系統(tǒng)為平臺的計算機(jī)中的文件和安全軟件。以上所述的本發(fā)明實施方式,并不構(gòu)成對本發(fā)明保護(hù)范圍的限定。任何在本發(fā)明 的精神和原則之內(nèi)所作的修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的權(quán)利要求保護(hù)范 圍之內(nèi)。
權(quán)利要求
1.一種發(fā)現(xiàn)安全軟件之間兼容性問題的方法,其特征在于,包括步驟(1).根據(jù)經(jīng)驗數(shù)據(jù)統(tǒng)計出安全軟件之間兼容性問題的敏感字符串和/或敏感API列表;(2).對海量文件進(jìn)行掃描,找出文件中包含上述敏感字符串的字符串和/或敏感API 的API,并記錄與所述包含敏感字符串的字符串和/或敏感API的API所在位置相關(guān)的信 息。
2.根據(jù)權(quán)利要求1所述的發(fā)現(xiàn)安全軟件之間兼容性問題的方法,其特征在于,所述步 驟⑵包括以下步驟a.分析文件,判斷文件是否是PE文件,如果是則納入后續(xù)掃描流程,如果不是則結(jié)束;b.分析PE文件,提取所有的字符串和/或API;c.對從步驟b獲取的字符串和/或API進(jìn)行過濾,只保留含有安全軟件之間兼容性問 題敏感字符串的字符串和/或敏感API的API ;d.將與步驟c獲取的字符串和/或API所在位置相關(guān)的信息記錄進(jìn)入數(shù)據(jù)庫;Θ. 結(jié)束ο
3.根據(jù)權(quán)利要求1或2所述的發(fā)現(xiàn)安全軟件之間兼容性問題的方法,其特征在于,所述 文件為Windows平臺文件。
4.根據(jù)權(quán)利要求1或2所述的發(fā)現(xiàn)安全軟件之間兼容性問題的方法,其特征在于,所述 安全軟件為Windows平臺安全軟件。
5.根據(jù)權(quán)利要求1或2所述的發(fā)現(xiàn)安全軟件之間兼容性問題的方法,其特征在于,所述 信息包括含有安全軟件之間兼容性問題敏感字符串的字符串和/或敏感API的API及包含 敏感字符串的字符串和/或API的API在PE文件內(nèi)的偏移位置以及記錄在PE文件版本資 源段里面的全部內(nèi)容。
6.一種發(fā)現(xiàn)安全軟件之間兼容性問題的裝置,其特征在于,包括統(tǒng)計模塊,用于統(tǒng)計安全軟件之間兼容性問題的敏感字符串和/或敏感API列表;掃描模塊,用于掃描文件中包含安全軟件之間兼容性問題敏感字符串的字符串和/或 敏感API的API,并記錄與所述包含敏感字符串的字符串和/或敏感API的API所在位置相 關(guān)的信息。
7.根據(jù)權(quán)利要求6所述的發(fā)現(xiàn)安全軟件之間兼容性問題的裝置,其特征在于,掃描模 塊包括判斷模塊,用于判斷文件是否是PE文件;提取模塊,用于從PE文件中提取字符串和/或API ;過濾模塊,用于過濾從提取模塊提取到的字符串和/或API,保留包含敏感字符串的字 符串和/或敏感API的API ;記錄模塊,用于記錄與過濾模塊過濾到的字符串和/或API所在位置相關(guān)的信息。
8.根據(jù)權(quán)利要求6或7所述的發(fā)現(xiàn)安全軟件之間兼容性問題的裝置,其特征在于,所述 文件為Windows平臺文件。
9.根據(jù)權(quán)利要求6或7所述的發(fā)現(xiàn)安全軟件之間兼容性問題的裝置,其特征在于,所述 安全軟件為Windows平臺安全軟件。
10.根據(jù)權(quán)利要求6或7所述的發(fā)現(xiàn)安全軟件之間兼容性問題的裝置,其特征在于,所述信息包括含有安全軟件之間兼容性問題敏感字符串的字符串和/或敏感API的API及包 含敏感字符串的字符串和/或敏感API的API在PE文件內(nèi)的偏移位置以及記錄在PE文件 版本資源段里面的全部內(nèi)容。
全文摘要
本發(fā)明公開了一種發(fā)現(xiàn)安全軟件之間兼容性問題的方法和裝置,其首先根據(jù)經(jīng)驗數(shù)據(jù)統(tǒng)計出安全軟件之間兼容性問題的敏感字符串和/或敏感API列表,然后根據(jù)特征字符串采樣原理,對大批量文件進(jìn)行特征信息掃描,提取文件中的API和/或字符串,過濾出含有安全軟件之間兼容性問題敏感字符串的字符串和/或敏感API的API,進(jìn)而根據(jù)其所在文件的相關(guān)信息獲知對應(yīng)的可能存在兼容性問題的安全軟件。
文檔編號G06F11/36GK102103537SQ20091021394
公開日2011年6月22日 申請日期2009年12月17日 優(yōu)先權(quán)日2009年12月17日
發(fā)明者張康宗, 羅勇 申請人:珠海市君天電子科技有限公司