计算机工程

北大核心,CA,INSPEC,JST,Pж(AJ)

国内刊号:31-1289/TP

国际刊号:1000-3428

计算机工程杂志2023年第12期:基于混合分析的Java反序列化漏洞检测方法

发布日期:

作者:郑鹏, 沙乐天

单位:南京邮电大学 计算机学院、软件学院、网络空间安全学院, 南京 210003

关键词:污点分析,Java反序列化漏洞,静态分析,动态验证,符号执行,约束构建

基金:国家自然科学基金面上项目(62072253)

随着Java的类库越来越多,反序列化漏洞的类型和数量都急剧上升。Java反序列化漏洞中存在利用链,攻击者通常将其与任意命令漏洞结合控制服务器。人工检测反序列化链需要花费大量的精力,且依赖代码审计人员的专业知识。基于符号执行和污点分析提出一种自动检测方法,实现调用链检测工具Taint Gadget。通过解析字节码收集继承信息、传参信息和调用信息进行污点标记,筛选出入口函数和危险函数以生成控制流图。基于反序列化漏洞的传播特征并结合符号执行技术扩展控制流图,定义污点传播规则,对污染传播的显示流路径和隐式流路径进行约束,记录传播过程中调用链的类和敏感变量,通过动态的方法还原污染路径并进行验证。方法的实现基于ASM、Neo4j、Z3等工具,包括污点标记模块、污点传播模块和污点验证模块。在ysoserial数据集上的实验结果表明,Taint Gadget的静态命中率和运行时间分别为70.3%和78.4 s,动态命中率和运行时间分别为90.6%和20.8 s,相对T-Gadget Inspector和Gadget Inspector有效提高了静态和动态命中率,缩短了动态运行时间。

来源:2023年第12期

《计算机工程》期刊编辑部

查看计算机工程杂志2023年第12期

联系我们

  • 地址:上海市嘉定区澄浏公路63号
  • 电话:(021) 67092217
  • E-mail:ecice06@ecict.com.cn

咨询工作人员