Journal of Computer Applications ›› 2024, Vol. 44 ›› Issue (12): 3823-3830.DOI: 10.11772/j.issn.1001-9081.2023121738
• Cyber security • Previous Articles Next Articles
Jinhui CAI, Zhongxu YIN(), Guoxiao ZONG, Junru LI
Received:
2023-12-18
Revised:
2024-04-07
Accepted:
2024-04-08
Online:
2024-04-28
Published:
2024-12-10
Contact:
Zhongxu YIN
About author:
CAI Jinhui, born in 1998, M. S. candidate. His research interests include cyberspace security.Supported by:
通讯作者:
尹中旭
作者简介:
蔡锦辉(1998—),男,河南信阳人,硕士研究生,主要研究方向:网络空间安全基金资助:
CLC Number:
Jinhui CAI, Zhongxu YIN, Guoxiao ZONG, Junru LI. Integrated method of inference and taint analysis for nested branch breakthrough[J]. Journal of Computer Applications, 2024, 44(12): 3823-3830.
蔡锦辉, 尹中旭, 宗国笑, 李俊儒. 面向嵌套分支突破的推断与污点分析融合的方法[J]. 《计算机应用》唯一官方网站, 2024, 44(12): 3823-3830.
Add to citation manager EndNote|Ris|BibTeX
URL: https://www.joca.cn/EN/10.11772/j.issn.1001-9081.2023121738
输入格式 | 目标库 | 版本 | 程序&参数 |
---|---|---|---|
pcap | tcpdump | 4.99.3 | tcpdump -nr @@ |
JPG | jhead | 3.08 | jhead @@ |
GIF | giflib | 0.5 | gif2tga @@ |
MP4 | libde265 | 1.0.14 | |
JPEG | libjpeg | 3.0.1 | djpeg @@ |
ELF | objdump | 2.40 | objdump -x @@ |
Tab. 1 Detailed data of experimental programs
输入格式 | 目标库 | 版本 | 程序&参数 |
---|---|---|---|
pcap | tcpdump | 4.99.3 | tcpdump -nr @@ |
JPG | jhead | 3.08 | jhead @@ |
GIF | giflib | 0.5 | gif2tga @@ |
MP4 | libde265 | 1.0.14 | |
JPEG | libjpeg | 3.0.1 | djpeg @@ |
ELF | objdump | 2.40 | objdump -x @@ |
程序 | AFL | TortoiseFuzz | FairFuzz | Angora | REDQUEEN | DTFuzz | 相较于REDQUEEN 增加百分比/% |
---|---|---|---|---|---|---|---|
tcpdump | 25 304 | 26 533 | 26 253 | 30 501 | 31 432 | 33 729 | 7.31 |
jhead | 1 161 | 1 160 | 1 172 | 1 207 | 1 198 | 1 216 | 0.75 |
giflib | 1 633 | 1 753 | 1 805 | 1 821 | 1 935 | 2 050 | 5.94 |
libde265 | 3 633 | 4 002 | 3 742 | 3 802 | 3 824 | 4 096 | 7.11 |
libjpeg | 3 361 | 3 543 | 3 526 | 3 745 | 4 556 | 5 910 | 29.72 |
objdump | 7 232 | 7 801 | 7 938 | 8 182 | 8 327 | 9 016 | 8.27 |
Tab. 2 Number of basic blocks covered by different tools in 24 h (average)
程序 | AFL | TortoiseFuzz | FairFuzz | Angora | REDQUEEN | DTFuzz | 相较于REDQUEEN 增加百分比/% |
---|---|---|---|---|---|---|---|
tcpdump | 25 304 | 26 533 | 26 253 | 30 501 | 31 432 | 33 729 | 7.31 |
jhead | 1 161 | 1 160 | 1 172 | 1 207 | 1 198 | 1 216 | 0.75 |
giflib | 1 633 | 1 753 | 1 805 | 1 821 | 1 935 | 2 050 | 5.94 |
libde265 | 3 633 | 4 002 | 3 742 | 3 802 | 3 824 | 4 096 | 7.11 |
libjpeg | 3 361 | 3 543 | 3 526 | 3 745 | 4 556 | 5 910 | 29.72 |
objdump | 7 232 | 7 801 | 7 938 | 8 182 | 8 327 | 9 016 | 8.27 |
程序 | AFL | NS | TI | NS+TI | NS+TI+TA | ||||
---|---|---|---|---|---|---|---|---|---|
基本块数 | 增加百分比/% | 基本块数 | 增加百分比/% | 基本块数 | 增加百分比/% | 基本块数 | 增加百分比/% | ||
平均值 | 9.06 | 19.15 | 23.51 | 29.23 | |||||
tcpdump | 25 268 | 27 173 | 7.50 | 30 432 | 20.44 | 31 275 | 23.77 | 33 729 | 33.49 |
jhead | 1 160 | 1 161 | 0.09 | 1 160 | 0.00 | 1 161 | 0.09 | 1 164 | 0.34 |
giflib | 1 609 | 1 753 | 8.94 | 1 782 | 10.75 | 1 935 | 20.26 | 2 051 | 27.47 |
libde265 | 3 621 | 3 821 | 5.52 | 3 924 | 8.37 | 4 007 | 10.66 | 4 095 | 13.09 |
libjpeg | 3 356 | 4 159 | 23.93 | 5 364 | 59.83 | 5 636 | 67.94 | 5 906 | 75.98 |
objdump | 7 211 | 7 815 | 8.37 | 8 327 | 15.48 | 8 532 | 18.32 | 9 013 | 24.99 |
Tab. 3 Number of basic blocks covered by different part combinations in 24 hours (average)
程序 | AFL | NS | TI | NS+TI | NS+TI+TA | ||||
---|---|---|---|---|---|---|---|---|---|
基本块数 | 增加百分比/% | 基本块数 | 增加百分比/% | 基本块数 | 增加百分比/% | 基本块数 | 增加百分比/% | ||
平均值 | 9.06 | 19.15 | 23.51 | 29.23 | |||||
tcpdump | 25 268 | 27 173 | 7.50 | 30 432 | 20.44 | 31 275 | 23.77 | 33 729 | 33.49 |
jhead | 1 160 | 1 161 | 0.09 | 1 160 | 0.00 | 1 161 | 0.09 | 1 164 | 0.34 |
giflib | 1 609 | 1 753 | 8.94 | 1 782 | 10.75 | 1 935 | 20.26 | 2 051 | 27.47 |
libde265 | 3 621 | 3 821 | 5.52 | 3 924 | 8.37 | 4 007 | 10.66 | 4 095 | 13.09 |
libjpeg | 3 356 | 4 159 | 23.93 | 5 364 | 59.83 | 5 636 | 67.94 | 5 906 | 75.98 |
objdump | 7 211 | 7 815 | 8.37 | 8 327 | 15.48 | 8 532 | 18.32 | 9 013 | 24.99 |
程序 | AFL | TortoiseFuzz | REDQUEEN | FairFuzz | Angora | DTFuzz |
---|---|---|---|---|---|---|
jhead | 3/0 | 2/0 | 2/0 | 2/1 | 2/1 | 1/2 |
giflib | 0/0 | 0/0 | 0/0 | 0/0 | 0/0 | 0/1 |
libde265 | 2/0 | 4/0 | 2/0 | 3/0 | 3/1 | 5/1 |
libjpeg | 0/0 | 0/0 | 0/0 | 0/0 | 1/0 | 0/1 |
Tab. 4 Unique bug number discovered by different tools (known/unknown)
程序 | AFL | TortoiseFuzz | REDQUEEN | FairFuzz | Angora | DTFuzz |
---|---|---|---|---|---|---|
jhead | 3/0 | 2/0 | 2/0 | 2/1 | 2/1 | 1/2 |
giflib | 0/0 | 0/0 | 0/0 | 0/0 | 0/0 | 0/1 |
libde265 | 2/0 | 4/0 | 2/0 | 3/0 | 3/1 | 5/1 |
libjpeg | 0/0 | 0/0 | 0/0 | 0/0 | 1/0 | 0/1 |
程序 | AFL | TortoiseFuzz | REDQUEEN | Fairfuzz | VUzzer | Angora | DTFuzz |
---|---|---|---|---|---|---|---|
base64 | 3 | 4 | 48 | 47 | 17 | 48 | 48 |
md5sum | 0 | 0 | 59 | 59 | 19 | 56 | 59 |
uniq | 0 | 2 | 29 | 28 | 15 | 29 | 29 |
who | 4 | 3 | 1 459 | 1 012 | 45 | 1 438 | 1 530 |
Tab. 5 Bug number discovered in LAVA-M test suite
程序 | AFL | TortoiseFuzz | REDQUEEN | Fairfuzz | VUzzer | Angora | DTFuzz |
---|---|---|---|---|---|---|---|
base64 | 3 | 4 | 48 | 47 | 17 | 48 | 48 |
md5sum | 0 | 0 | 59 | 59 | 19 | 56 | 59 |
uniq | 0 | 2 | 29 | 28 | 15 | 29 | 29 |
who | 4 | 3 | 1 459 | 1 012 | 45 | 1 438 | 1 530 |
程序 | AFL | DTFuzz |
---|---|---|
tcpdump | 1 033.57 | 975.84 |
jhead | 2 668.32 | 2 637.59 |
giflib | 2 459.68 | 2 398.26 |
libde265 | 1 268.94 | 1 056.18 |
libjpeg | 1 425.67 | 1 267.43 |
objdump | 1 876.03 | 1 568.58 |
Tab. 6 Executions per second compared to AFL
程序 | AFL | DTFuzz |
---|---|---|
tcpdump | 1 033.57 | 975.84 |
jhead | 2 668.32 | 2 637.59 |
giflib | 2 459.68 | 2 398.26 |
libde265 | 1 268.94 | 1 056.18 |
libjpeg | 1 425.67 | 1 267.43 |
objdump | 1 876.03 | 1 568.58 |
1 | SHI J, WANG Z, FENG Z, et al. AIFORE: smart fuzzing based on automatic input format reverse engineering [C]// Proceedings of the 32nd USENIX Security Symposium. Berkeley: USENIX Association, 2023: 4967-4984. |
2 | ZHANG G, WANG P, YUE T, et al. MobFuzz: adaptive multi-objective optimization in gray-box fuzzing [C]// Proceedings of the 2022 Annual Network and Distributed System Security Symposium. Reston, VA: Internet Society, 2022: 1-18. |
3 | SHE D, SHAH A, JANA S. Effective seed scheduling for fuzzing with graph centrality analysis [C]// Proceedings of the 2022 IEEE Symposium on Security and Privacy. Piscataway: IEEE, 2022: 2194-2211. |
4 | BUNDT J, FASANO A, DOLAN-GAVITT B, et al. Homo in Machina: improving fuzz testing coverage via compartment analysis[C]// Proceedings of the 2023 IEEE Conference on Software Testing, Verification and Validation. Piscataway: IEEE, 2023: 117-128. |
5 | ZALEWSKI M. American fuzzy lop (2.52b) [EB/OL]. [2022-01- 13].. |
6 | GAN S, ZHANG C, QIN X, et al. CollAFL: path sensitive fuzzing[C]// Proceedings of the 2018 IEEE Symposium on Security and Privacy. Piscataway: IEEE, 2018: 679-696. |
7 | GAN S, ZHANG C, CHEN P, et al. GREYONE: data flow sensitive fuzzing [C]// Proceedings of the 29th USENIX Security Symposium. Berkeley: USENIX Association, 2020: 2577-2594. |
8 | NIKOLIĆ I, MANTU R, SHEN S, et al. Refined grey-box fuzzing with SIVO [C]// Proceedings of the 2021 International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment International Conference, LNCS 12756. Cham: Springer, 2021: 106-129. |
9 | ASCHERMANN C, SCHUMILO S, BLAZYTKO T, et al. REDQUEEN: fuzzing with input-to-state correspondence[C]// Proceedings of the 2019 Annual Network and Distributed System Security Symposium. Reston, VA: Internet Society, 2019: 1-15. |
10 | LIANG J, WANG M, ZHOU C, et al. PATA: fuzzing with path aware taint analysis[C]// Proceedings of the 2022 IEEE Symposium on Security and Privacy. Piscataway: IEEE, 2022: 1-17. |
11 | LUK C K, COHN R, MUTH R, et al. Pin: building customized program analysis tools with dynamic instrumentation[J]. ACM SIGPLAN Notices, 2005, 40(6): 190-200. |
12 | KEMERLIS V P, PORTOKALIDIS G, JEE K, et al. libdft: practical dynamic data flow tracking for commodity systems [J]. ACM SIGPLAN Notices, 2012, 47(7): 121-132. |
13 | RAWAT S, JAIN V, KUMAR A, et al. VUzzer: application-aware evolutionary fuzzing [C]// Proceedings of the 24th Annual Network and Distributed System Security Symposium. Reston, VA: Internet Society, 2017: 1-14. |
14 | DENG P, YANG Z, ZHANG L, et al. NestFuzz: enhancing fuzzing with comprehensive understanding of input processing logic[C]// Proceedings of the 2023 ACM SIGSAC Conference on Computer and Communications Security. New York: ACM, 2023: 1272-1286. |
15 | CHEN P, CHEN H. Angora: efficient fuzzing by principled search[C]// Proceedings of the 2018 IEEE Symposium on Security and Privacy.Piscataway: IEEE, 2018: 711-725. |
16 | SHI J, ZOU W, ZHANG C, et al. CAMFuzz: explainable fuzzing with local interpretation [J]. Cybersecurity, 2022, 5: No.17. |
17 | 倪萍,陈伟. 基于模糊测试的反射型跨站脚本漏洞检测[J]. 计算机应用, 2021, 41(9): 2594-2601. |
NI P, CHEN W. Reflective cross-site scripting vulnerability detection based on fuzzing test [J]. Journal of Computer Applications, 2021, 41(9): 2594-2601. | |
18 | 庄园,曹文芳,孙国凯,等. 基于生成对抗网络与变异策略结合的网络协议漏洞挖掘方法[J]. 计算机科学, 2023, 50(9): 44-51. |
ZHUANG Y, CAO W F, SUN G K, et al. Network protocol vulnerability mining method based on the combination of generative adversarial network and mutation strategy[J]. Computer Science, 2023, 50(9): 44-51. | |
19 | QIN S, HU F, MA Z, et al. NSFuzz: towards efficient and state-aware network service fuzzing[J]. ACM Transactions on Software Engineering and Methodology, 2023, 32(6): No.160. |
20 | ZHAO B, LI Z, QIN S, et al. StateFuzz: system call-based state-aware Linux driver fuzzing [C]// Proceedings of the 31st USENIX Security Symposium. Berkeley: USENIX Association, 2022: 3273-3289. |
21 | LEMIEUX C, SEN K. FairFuzz: a targeted mutation strategy for increasing greybox fuzz testing coverage [C]// Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering. New York: ACM, 2018: 475-485. |
22 | WANG Y, JIA X, LIU Y, et al. Not all coverage measurements are equal: fuzzing by coverage accounting for input prioritization[C]// Proceedings of the 2020 Annual Network and Distributed System Security Symposium. Reston, VA: Internet Society, 2020: 1-17. |
23 | FIORALDI A, MAIER D, EIßFELDT H, et al. AFL++: combining incremental steps of fuzzing research [C]// Proceedings of the 14th USENIX Workshop on Offensive Technologies. Berkeley: USENIX Association, 2020: 3273-3289. |
24 | DOLAN-GAVITT B, HULIN P, KIRDA E, et al. LAVA: large-scale automated vulnerability addition [C]// Proceedings of the 2016 IEEE Symposium on Security and Privacy. Piscataway: IEEE, 2016: 110-121. |
25 | LATTNER C, ADVE V. LLVM: a compilation framework for lifelong program analysis & transformation [C]// Proceedings of the 2004 International Symposium on Code Generation and Optimization. Piscataway: IEEE, 2004: 75-86. |
[1] | Hang XU, Zhi YANG, Xingyuan CHEN, Bing HAN, Xuehui DU. Coverage-guided fuzzing based on adaptive sensitive region mutation [J]. Journal of Computer Applications, 2024, 44(8): 2528-2535. |
[2] | Yixi LIU, Jun HE, Bo WU, Bingtong LIU, Ziyu LI. Survey of software security testing techniques in DevSecOps [J]. Journal of Computer Applications, 2024, 44(11): 3470-3478. |
[3] | Jihui LIU, Chengwan HE. Online detection of SQL injection attacks based on ECA rules and dynamic taint analysis [J]. Journal of Computer Applications, 2023, 43(5): 1534-1542. |
[4] | NI Ping, CHEN Wei. Reflective cross-site scripting vulnerability detection based on fuzzing test [J]. Journal of Computer Applications, 2021, 41(9): 2594-2601. |
[5] | REN Yuzhu, ZHANG Youwei, AI Chengwei. Survey on taint analysis technology [J]. Journal of Computer Applications, 2019, 39(8): 2302-2309. |
[6] | FU Menglin, WU Lifa, HONG Zheng, FENG Wenbo. Research on vulnerability mining technique for smart contracts [J]. Journal of Computer Applications, 2019, 39(7): 1959-1966. |
[7] | ZHANG Hanfang, ZHOU Anmin, JIA Peng, LIU Luping, LIU Liang. Directed fuzzing method for binary programs [J]. Journal of Computer Applications, 2019, 39(5): 1389-1393. |
[8] | QIN Biao, GUO Fan, TU Fengtao. Correctness verification of static taint analysis results for Android application [J]. Journal of Computer Applications, 2019, 39(10): 3018-3027. |
[9] | ZHOU Min, ZHOU Anmin, LIU Liang, JIA Peng, TAN Cuijiang. Mining denial of service vulnerability in Android applications automatically [J]. Journal of Computer Applications, 2017, 37(11): 3288-3293. |
[10] | LI Jie, YU Yan, WU Jiashun. Vulnerability detection algorithm of DOM XSS based on dynamic taint analysis [J]. Journal of Computer Applications, 2016, 36(5): 1246-1249. |
[11] | ZENG Xiangfei, GUO Fan, TU Fengtao. Object-based dynamic taint analysis for J2EE program [J]. Journal of Computer Applications, 2015, 35(8): 2386-2391. |
[12] | WU Yi-lun ZHANG Bo-feng LAI Zhi-quan SU Jin-shu. Software network behavior analysis based on message semantics analysis [J]. Journal of Computer Applications, 2012, 32(01): 25-29. |
[13] | CHEN Yan-ling ZHAO Jing. Dynamic taint analysis based on virtual technology [J]. Journal of Computer Applications, 2011, 31(09): 2367-2372. |
[14] | . ActiveX vulnerability exploiting technique based on Fuzzing [J]. Journal of Computer Applications, 2008, 28(9): 2252-2254. |
Viewed | ||||||
Full text |
|
|||||
Abstract |
|
|||||