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

一種基于程序分析的JAVA模糊測(cè)試方法與流程

文檔序號(hào):40639654發(fā)布日期:2025-01-10 18:45閱讀:6來(lái)源:國(guó)知局
一種基于程序分析的JAVA模糊測(cè)試方法與流程

本發(fā)明實(shí)施例涉及網(wǎng)絡(luò)信息安全,特別是涉及一種基于程序分析的java模糊測(cè)試方法。


背景技術(shù):

1、現(xiàn)有針對(duì)java的模糊測(cè)試方法在系統(tǒng)級(jí)測(cè)試時(shí),大部分代碼的運(yùn)行覆蓋率偏低,且無(wú)法在較短時(shí)間內(nèi)通過(guò)模糊測(cè)試方式提高。存在測(cè)試時(shí)間充足的情況下,對(duì)被測(cè)目標(biāo)測(cè)試覆蓋率偏低的問(wèn)題。

2、公開(kāi)號(hào)為cn118427830a、名稱為“基于模糊測(cè)試的java反序列化漏洞挖掘方法、設(shè)備及介質(zhì)”的發(fā)明專利,公開(kāi)了基于模糊測(cè)試的java反序列化漏洞挖掘方法,所述方法包括:通過(guò)雙向追蹤污點(diǎn)分析技術(shù),分別將java反序列化入口函數(shù)與危險(xiǎn)函數(shù)作為起點(diǎn)進(jìn)行搜索,查找潛在漏洞調(diào)用鏈,并獲取對(duì)應(yīng)執(zhí)行路徑中的函數(shù)信息;基于trustrank算法的函數(shù)權(quán)值分配策略,確定對(duì)應(yīng)的函數(shù)類型,并計(jì)算每種函數(shù)類型對(duì)應(yīng)的trustrank權(quán)重系數(shù),以按照trustrank權(quán)重系數(shù)由高到低的順序?qū)瘮?shù)進(jìn)行排序;所述函數(shù)類型包括危險(xiǎn)函數(shù)、路徑函數(shù)、可疑函數(shù)及分支函數(shù);基于所述函數(shù)調(diào)用信息以及對(duì)應(yīng)的trustrank權(quán)重系數(shù),并通過(guò)灰盒模糊測(cè)試,對(duì)所述漏洞調(diào)用鏈進(jìn)行模糊測(cè)試,以確定所述漏洞調(diào)用鏈對(duì)應(yīng)的有效性,完成對(duì)java反序列化漏洞的挖掘。然而該方法較為復(fù)雜,測(cè)試效率不高。

3、因此,有必要提供一種基于程序分析的java模糊測(cè)試方法,以解決上述問(wèn)題。


技術(shù)實(shí)現(xiàn)思路

1、本發(fā)明提供一種基于程序分析的java模糊測(cè)試方法,通過(guò)程序分析可以獲得的接口參數(shù)以及接口調(diào)用順序的測(cè)試用例數(shù)據(jù),可以大幅增加模糊測(cè)試較難探索到的業(yè)務(wù)邏輯,從而增加被測(cè)對(duì)象的覆蓋率,基于覆蓋率的提升,模糊測(cè)試探索到的路徑增多,又可以促使更多的未逾期缺陷被發(fā)現(xiàn)。

2、本發(fā)明實(shí)施例提供一種基于程序分析的java模糊測(cè)試方法,包括:

3、獲取被測(cè)程序的二進(jìn)制文件包;

4、對(duì)所述二進(jìn)制文件包進(jìn)行ast解析;

5、解析所述二進(jìn)制文件包的語(yǔ)法樹(shù)的各層節(jié)點(diǎn),獲得所有類、所有方法下的所有條件分支;

6、通過(guò)所述各層節(jié)點(diǎn)調(diào)用的反向推導(dǎo),解析所述二進(jìn)制文件包各分支判斷參數(shù)的調(diào)用鏈路關(guān)系;

7、判斷所述調(diào)用鏈路關(guān)系是單接口調(diào)用或跨接口調(diào)用。

8、優(yōu)選地,當(dāng)所述調(diào)用鏈路關(guān)系是單接口調(diào)用時(shí),對(duì)所述單接口進(jìn)行魔數(shù)解析,判斷所述魔數(shù)是常量或配置文件字段;

9、當(dāng)所述魔數(shù)是常量字段時(shí),將常量映射至接口變量;

10、當(dāng)所述魔數(shù)是配置文件字段時(shí),將對(duì)應(yīng)變量映射至所述配置文件字段。

11、優(yōu)選地,還包括:

12、生成單接口的測(cè)試數(shù)據(jù)與變更指定配置文件字段的調(diào)用方式。

13、優(yōu)選地,還包括:

14、當(dāng)所述調(diào)用鏈路關(guān)系是跨接口調(diào)用時(shí),對(duì)接口關(guān)系進(jìn)行解析;

15、通過(guò)二進(jìn)制反編譯方法所述二進(jìn)制文件包反編譯出程序源代碼;

16、對(duì)所述源代碼中包含的java代碼文件以及各類xml資源包文件進(jìn)行解析。

17、優(yōu)選地,判斷所述源代碼中是否有sql操作;

18、當(dāng)所述源代碼中有sql操作時(shí),則通過(guò)解析將對(duì)所述sql操作的方式、字段映射至接口,將解析出來(lái)的緩存操作與接口的關(guān)系存入接口關(guān)系分析池中;

19、當(dāng)所述源代碼中沒(méi)有sql操作時(shí),則判斷所述源代碼中是否有緩存操作。

20、優(yōu)選地,所述判斷所述源代碼中是否有緩存操作包括:

21、當(dāng)所述源代碼中有緩存操作時(shí),則通過(guò)解析將對(duì)緩存操作的方式、字段映射至接口,將解析出來(lái)的緩存操作與接口的關(guān)系存入所述接口關(guān)系分析池中;

22、當(dāng)所述源代碼中沒(méi)有緩存操作時(shí),則判斷所述源代碼中是否有文件操作。

23、優(yōu)選地,所述判斷所述源代碼中是否有文件操作包括:

24、當(dāng)所述源代碼中有文件操作時(shí),則通過(guò)解析將對(duì)文件操作的方式、字段映射至接口,將解析出來(lái)的文件操作與接口的關(guān)系存入所述接口關(guān)系分析池中;

25、當(dāng)所述源代碼中沒(méi)有文件操作時(shí),則判斷所述源代碼中是否有消息操作。

26、優(yōu)選地,所述判斷所述源代碼中是否有消息操作包括:

27、當(dāng)所述源代碼中有消息操作時(shí),則通過(guò)解析將對(duì)消息操作的方式、字段映射至接口,將解析出來(lái)的消息操作與接口的關(guān)系存入所述接口關(guān)系分析池中;

28、當(dāng)所述源代碼中沒(méi)有消息操作時(shí),則對(duì)所述接口關(guān)系分析池中保存的接口關(guān)系數(shù)據(jù)進(jìn)行動(dòng)態(tài)運(yùn)行探索。

29、優(yōu)選地,還包括對(duì)所述接口關(guān)系分析池中保存的接口關(guān)系數(shù)據(jù)進(jìn)行動(dòng)態(tài)運(yùn)行探索;

30、使用路徑探索算法對(duì)接口調(diào)用關(guān)系的所有組合進(jìn)行廣度優(yōu)先的探索生成;

31、將生成的接口調(diào)用關(guān)系、接口測(cè)試數(shù)據(jù)與配置步驟進(jìn)行運(yùn)行測(cè)試并收集運(yùn)行覆蓋率。

32、優(yōu)選地,還包括以下步驟:

33、如果該接口調(diào)用關(guān)系、接口測(cè)試數(shù)據(jù)與配置步驟有產(chǎn)生新的路徑,則為有效的測(cè)試用例;

34、如果未產(chǎn)生新的路徑,則繼續(xù)通過(guò)算法生成新的測(cè)試用例進(jìn)行測(cè)試,直至對(duì)接口關(guān)系分析池完成探索;

35、輸出所有有效的測(cè)試用例。

36、與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例的技術(shù)方案具有以下有益效果:

37、本發(fā)明實(shí)施例提供的一種基于程序分析的java模糊測(cè)試方法,包括:獲取被測(cè)程序的二進(jìn)制文件包;對(duì)所述二進(jìn)制文件包進(jìn)行ast解析;解析所述二進(jìn)制文件包的語(yǔ)法樹(shù)的各層節(jié)點(diǎn),獲得所有類、所有方法下的所有條件分支;通過(guò)所述各層節(jié)點(diǎn)調(diào)用的反向推導(dǎo),解析所述二進(jìn)制文件包各分支判斷參數(shù)的調(diào)用鏈路關(guān)系;判斷所述調(diào)用鏈路關(guān)系是單接口調(diào)用或跨接口調(diào)用,通過(guò)程序分析可以獲得的接口參數(shù)以及接口調(diào)用順序的測(cè)試用例數(shù)據(jù),可以大幅增加模糊測(cè)試較難探索到的業(yè)務(wù)邏輯,從而增加被測(cè)對(duì)象的覆蓋率,基于覆蓋率的提升,模糊測(cè)試探索到的路徑增多,又可以促使更多的未逾期缺陷被發(fā)現(xiàn)。



技術(shù)特征:

1.一種基于程序分析的java模糊測(cè)試方法,其特征在于,包括:

2.根據(jù)權(quán)利要求1所述的基于程序分析的java模糊測(cè)試方法,其特征在于,當(dāng)所述調(diào)用鏈路關(guān)系是單接口調(diào)用時(shí),對(duì)所述單接口進(jìn)行魔數(shù)解析,判斷所述魔數(shù)是常量或配置文件字段;

3.根據(jù)權(quán)利要求2所述的基于程序分析的java模糊測(cè)試方法,其特征在于,還包括:

4.根據(jù)權(quán)利要求3所述的基于程序分析的java模糊測(cè)試方法,其特征在于,還包括:

5.根據(jù)權(quán)利要求4所述的基于程序分析的java模糊測(cè)試方法,其特征在于,判斷所述源代碼中是否有sql操作;

6.根據(jù)權(quán)利要求5所述的基于程序分析的java模糊測(cè)試方法,其特征在于,所述判斷所述源代碼中是否有緩存操作包括:

7.根據(jù)權(quán)利要求5所述的基于程序分析的java模糊測(cè)試方法,其特征在于,所述判斷所述源代碼中是否有文件操作包括:

8.根據(jù)權(quán)利要求7所述的基于程序分析的java模糊測(cè)試方法,其特征在于,所述判斷所述源代碼中是否有消息操作包括:

9.根據(jù)權(quán)利要求5-8任一項(xiàng)所述的基于程序分析的java模糊測(cè)試方法,其特征在于,還包括對(duì)所述接口關(guān)系分析池中保存的接口關(guān)系數(shù)據(jù)進(jìn)行動(dòng)態(tài)運(yùn)行探索;

10.根據(jù)權(quán)利要求9所述的基于程序分析的java模糊測(cè)試方法,其特征在于,還包括以下步驟:


技術(shù)總結(jié)
本發(fā)明提供一種基于程序分析的JAVA模糊測(cè)試方法,包括:獲取被測(cè)程序的二進(jìn)制文件包;對(duì)所述二進(jìn)制文件包進(jìn)行AST解析;解析所述二進(jìn)制文件包的語(yǔ)法樹(shù)的各層節(jié)點(diǎn),獲得所有類、所有方法下的所有條件分支;通過(guò)所述各層節(jié)點(diǎn)調(diào)用的反向推導(dǎo),解析所述二進(jìn)制文件包各分支判斷參數(shù)的調(diào)用鏈路關(guān)系;判斷所述調(diào)用鏈路關(guān)系是單接口調(diào)用或跨接口調(diào)用。本發(fā)明提供的基于程序分析的JAVA模糊測(cè)試方法,通過(guò)程序分析可以獲得的接口參數(shù)以及接口調(diào)用順序的測(cè)試用例數(shù)據(jù),可以大幅增加模糊測(cè)試較難探索到的業(yè)務(wù)邏輯,從而增加被測(cè)對(duì)象的覆蓋率,基于覆蓋率的提升,模糊測(cè)試探索到的路徑增多,又可以促使更多的未逾期缺陷被發(fā)現(xiàn)。

技術(shù)研發(fā)人員:強(qiáng)愷旻,任杰,汪毅,戚鵬博
受保護(hù)的技術(shù)使用者:上海安般信息科技有限公司
技術(shù)研發(fā)日:
技術(shù)公布日:2025/1/9
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
张家界市| 泰兴市| 惠州市| 洛川县| 迭部县| 安陆市| 绍兴市| 庆云县| 时尚| 龙海市| 都安| 读书| 神农架林区| 汉沽区| 杨浦区| 丹江口市| 正阳县| 济宁市| 吴江市| 保亭| 木里| 禄丰县| 科技| 朝阳县| 浏阳市| 安溪县| 岳阳市| 龙南县| 德安县| 建昌县| 岳阳县| 邯郸市| 浮梁县| 新晃| 广州市| 芒康县| 寿阳县| 宝丰县| 麻栗坡县| 竹山县| 阿勒泰市|