近期,腾讯安全科恩实验室与南方科技大学携手,在软件工程领域公认的权威性顶级会议 ISSTA 上,以《Third-party Library Dependency for Large-scale SCA in the C/C++ Ecosystem: How Far Are We?》为题发表了一篇二进制SCA中第三方库源码复用关系的相关论文。ISSTA(International Symposium on Software Testing and Analysis)为中国计算机学会(CCF)推荐的软件工程/系统软件/程序设计语言分类A类会议,该会议旨在为研究人员、从业者和教育工作者提供关于软件测试与分析领域中最新的理论技术、趋势、经验及问题的交流与分享机会。2023年度ISSTA将于7月17日在华盛顿大学举行。文末阅读全文获取本论文pre-print地址
基于腾讯犀牛鸟精英人才计划,科恩与南方科技大学展开科研合作,南科大计算机科学与工程系硕士 蒋灵同学 作为科研实习生,在南科大导师 张煜群教授 和 腾讯安全科恩实验室 的共同指导下,完成该论文。
目前论文成果已经应用至科恩自研二进制安全智能分析平台—BinaryAI(https://www.binaryai.cn/)及源代码SCA产品。文中提出的相应技术作为BinaryAI的核心模块之一,成功构建了数万级第三方开源库间的源码复用关系,同时处理了百亿级C/C++源码特征数据,有效地提高了BinaryAI识别二进制文件的第三方组件及其版本号等相关能力。此外,该技术也同步拓展应用至腾讯开发安全解决方案,以提升全线产品生命力,欢迎前往BinaryAI平台体验本科研论文落地效果。现有的二进制软件成分分析技术(SCA)通过匹配二进制文件和源码项目的特征相似度来识别包含在二进制中的开源第三方库及其相应版本,从而及时追踪引入二进制文件的潜在风险。然而,第三方库之间的源码复用导致SCA数据库中存在大量重复的特征,严重影响了SCA对第三方库的识别准确性。
本论文首次提出将第三方库间的源码复用关系应用于二进制SCA中,基于源码复用关系,数据库中第三方库间的重复特征被有效清理,从而避免了源码复用导致的第三方库识别错误。在本研究中,我们以当前最先进的源码SCA技术Centris为基础,利用更大规模的基准数据集对Centris检测源码复用关系的性能和局限性进行了全面评估。基于研究的发现,我们提出了一种改进的技术—TPLite,该技术通过结合函数级别的代码克隆检测和经典图算法,有效识别第三方库间的源码复用关系。评估结果表明,与Centris相比,TPLite将复用关系识别准确率从35.71%提高到到 88.33%,召回率从49.44%提高到62.65%。此外,将TPLite源码复用关系应用于下游二进制SCA任务后,与SOTA学术SCA工具B2SFinder相比,准确率从21.08%提高到75.90%,召回率从57.62%提高到 64.17%,与商业SCA工具BDBA相比,准确率从21.08%提高到75.90%,召回率从58.55%提高到 64.17%。同时,我们将TPLite的源码复用关系应用于下游的二进制SCA任务中,进一步提高了二进制SCA对第三方库的识别能力。2019年至今,科恩联合腾讯高校合作项目CCF-腾讯犀牛鸟基金为全球范围内最具创新力的青年学者提供了解产业真实问题,接触业务实际需求的机会,与南方科技大学、香港科技大学、香港理工大学及中科院信息工程研究所等科研院所展开多项科研合作。
未来,科恩也将持续与各大高校深度共建,携手搭起产学研科技创新成果到企业应用落地的桥梁。
文章来源: https://mp.weixin.qq.com/s?__biz=MzU1MjgwNzc4Ng==&mid=2247505048&idx=1&sn=f8d442d44e4f96f078f3fdeb16e75238&chksm=fbfee89dcc89618b9e1b88829e6fc4cfb5a4e487d223a995a1bafd4717c4c85ab30de107fe3b&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh