信息学院吴荣鑫团队1篇论文被ICSE 2024录用
发布时间:2024-07-27 点击:

近日,信息学院软件安全实验室吴荣鑫副教授团队1篇论文被软件工程领域最有影响力的会议之一International Conference on Software Engineering(ICSE)录用,ICSE是中国计算机学会推荐的软件工程领域A类会议。ICSE 2024共收到论文投稿1051篇,最终录取234篇,录用率22.2%。

【录用论文简介】

LibAlchemy: A Two-Layer Persistent Summary Design for Taming Third-Party Libraries in Static Bug-Finding Systems

使用第三方库(TPL)在便利开发的同时,也会引起质量甚至是安全问题。使用传统的静态分析来检测由第三方库API误用引起的漏洞并非易事。首先,若将全程序分析应用于应用程序和依赖库的代码,很容易引起由于代码膨胀而产生的可扩展性问题。另一方面,若对第三方库API采用激进或保守的假设,将不可避免地使检测结果中充斥着误报或漏报。一个更好的解决方案是以一种自动化的方法离线生成并持久化第三方库API的函数摘要,然后在在线组合静态分析中重新使用这些摘要。然而,当处理第三方库的数百万行代码时,现有研究设计的函数摘要存在一个尚未解决的悖论——高精度的摘要形式导致了难以承受的空间和时间开销,而不精确的摘要则大大削弱了其精度或召回率。本文解决上述悖论的想法是基于这样的观察:在实际程序中,当执行路径敏感分析时,路径条件的爆炸性大小占据了内存使用的巨大消耗,如果使用重量级的路径条件形式,即SMT约束,这意味着持久化的高时空开销。因此,本文提出了一个两层的摘要设计,以减轻高时空成本同时保留高精度:在第一层,使用程序依赖图(PDG)作为摘要,它是一个线性大小的程序中间表示,本质上编码了与路径条件相同的程序信息,第一层摘要设计可以保证持久化的低成本和无损恢复路径条件的能力;在第二层,为了避免重复验证已经分析过的第三方库API中的bug特定属性,使用PDG上的数据流路径作为漏洞特定的摘要,记录可能成为漏洞路径的过程内路径片段,并设计了一种高效的算法在第一层摘要上以线性开销恢复路径条件,第二层摘要的设计使高效的路径条件恢复成为可能,而不会引起很大的空间开销。

图1. 摘要持久化及漏洞检测概览

实验表明本文提出的摘要设计在检测由第三方库API滥用引起的安全漏洞方面非常有效,可以在10个小时内完成对超过1000万行代码的检测,并在15个流行的开源项目中找到总共55个真实的漏洞,精确率为90.16%。由于检测到的漏洞的严重性,其中11个漏洞被分配了CVE标识符。与全程序分析相比,论文实现了18.56倍的加速,平均节省 91.49%的内存使用。此外,与传统的路径敏感摘要设计的持久化相比,LibAlchemy节省了94.98%的空间和 97.05% 的时间;在摘要重用时,LibAlchemy实现了12.77倍的加速,平均节省了90.51%的内存使用。

该论文第一作者是吴荣鑫副教授,由2021级硕士生何宇轩,2021级硕士生黄嘉峰、王程鹏(香港科技大学)、唐闻声(香港科技大学)、时清凯(南京大学)、肖枭、张川(香港科技大学)合作完成。

论文链接: https://dl.acm.org/doi/10.1145/3597503.3639132

投稿:吴荣鑫