摘要
Java反序列化漏洞由于其很容易被非法利用,已经成为目前最具威胁的软件漏洞之一.在开发过程中,事先对软件所使用的第三方公共组件库进行检测,提前发现并防御潜在的反序列化漏洞尤为重要.目前已有的反序列化漏洞检测,主要有基于规则匹配和基于污点分析两种检测方法,前者采用白名单或者黑名单的方法无法发现未知的反序列化漏洞,而后者因其对漏洞调用链检测能力有限,故漏报和误报率高.为了弥补已有方法的缺陷,提出了一种基于图网络的Java反序列化漏洞调用链检测方法SerialFinder,该方法利用图结构充分表达反序列化漏洞调用链的语义信息,训练图同构网络模型,进而可以检测潜在的反序列化漏洞调用链.SerialFinder在多个第三方组件库进行验证,与业界最先进的Java反序列化漏洞调用链检测方法Gadget Inspector进行对比,结果表明,SerialFinder在三个公共组件库上的平均命中率为64%,比Gadget Inspector高31%.
基金项目
陕西省国际合作计划重点项目(2020KWZ-013)
中国劳动关系学院一般项目(20XYJS007)