Exploitability Analysis of Public Component Library Vulnerabilities Based on Taint Analysis

Huijie Yuan, Yunchao Wang, Guoxiao Zong, Zhuo Lv
{"title":"Exploitability Analysis of Public Component Library Vulnerabilities Based on Taint Analysis","authors":"Huijie Yuan, Yunchao Wang, Guoxiao Zong, Zhuo Lv","doi":"10.1109/ICSP54964.2022.9778489","DOIUrl":null,"url":null,"abstract":"The reuse of public component libraries has contributed to the field of computer science because of its low implementation time and high production efficiency. However, the vulnerabilities in libraries can be more serious than those in real-world software because they can affect various software which uses these libraries. Therefore, the technologies of vulnerability mining of public component libraries have received extensive attention, such as fuzzing. But the number of crashes generated by fuzzing is huge, and only an exceedingly small number of public component library vulnerabilities are exploitable in real-world software. To solve this problem, we use taint analysis techniques to analyze the exploitability of library vulnerabilities in real-world software. We first use Pin binary instrumentation technology to instrument the consumer program, analyze the process of calling the library in the consumer program through the taint analysis, and convert the extracted execution path and parameter information into an adjacency matrix. Then we analyze the execution path and crash scene of the crash file, convert the exploitability analysis into path reachability analysis, and determine whether the crash can reach the vulnerable pointer of the software through reachability. Finally, we divide the library vulnerabilities into three levels: directly exploitable, indirectly exploitable, and unexploitable. We design and implement a prototype tool, LibExp-T, to analyze nine public component libraries and four real-world software containing multiple attack surfaces such as images, audio, video, fonts, etc. And we compare them with automatic exploit generation tools CRAX and REX. The results show that LibExp-T can effectively verify the exploitability of component library vulnerabilities in real-world software with low overhead.","PeriodicalId":363766,"journal":{"name":"2022 7th International Conference on Intelligent Computing and Signal Processing (ICSP)","volume":"17 3","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2022 7th International Conference on Intelligent Computing and Signal Processing (ICSP)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICSP54964.2022.9778489","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

The reuse of public component libraries has contributed to the field of computer science because of its low implementation time and high production efficiency. However, the vulnerabilities in libraries can be more serious than those in real-world software because they can affect various software which uses these libraries. Therefore, the technologies of vulnerability mining of public component libraries have received extensive attention, such as fuzzing. But the number of crashes generated by fuzzing is huge, and only an exceedingly small number of public component library vulnerabilities are exploitable in real-world software. To solve this problem, we use taint analysis techniques to analyze the exploitability of library vulnerabilities in real-world software. We first use Pin binary instrumentation technology to instrument the consumer program, analyze the process of calling the library in the consumer program through the taint analysis, and convert the extracted execution path and parameter information into an adjacency matrix. Then we analyze the execution path and crash scene of the crash file, convert the exploitability analysis into path reachability analysis, and determine whether the crash can reach the vulnerable pointer of the software through reachability. Finally, we divide the library vulnerabilities into three levels: directly exploitable, indirectly exploitable, and unexploitable. We design and implement a prototype tool, LibExp-T, to analyze nine public component libraries and four real-world software containing multiple attack surfaces such as images, audio, video, fonts, etc. And we compare them with automatic exploit generation tools CRAX and REX. The results show that LibExp-T can effectively verify the exploitability of component library vulnerabilities in real-world software with low overhead.
基于污点分析的公共组件库漏洞可利用性分析
公共组件库的重用以其实现时间短、生产效率高的特点为计算机科学领域做出了贡献。然而,库中的漏洞可能比实际软件中的漏洞更严重,因为它们可以影响使用这些库的各种软件。因此,基于公共组件库的漏洞挖掘技术受到了广泛的关注,如模糊测试。但是,由模糊测试产生的崩溃数量是巨大的,只有极少数的公共组件库漏洞在现实世界的软件中是可利用的。为了解决这个问题,我们使用污染分析技术来分析实际软件中库漏洞的可利用性。我们首先使用Pin二进制仪表技术对消费者程序进行仪表化,通过污点分析分析消费者程序中调用库的过程,并将提取的执行路径和参数信息转换成邻接矩阵。然后分析崩溃文件的执行路径和崩溃场景,将可利用性分析转化为路径可达性分析,通过可达性判断崩溃是否能到达软件的脆弱指针。最后,我们将库漏洞分为三个级别:直接利用、间接利用和不可利用。我们设计并实现了一个原型工具LibExp-T,用于分析九个公共组件库和四个包含多个攻击面(如图像,音频,视频,字体等)的真实软件。并与自动漏洞生成工具CRAX和REX进行了比较。结果表明,LibExp-T能够以较低的开销有效地验证实际软件中组件库漏洞的可利用性。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信