JAVA反序列化漏洞检测系统和方法技术方案

技术编号:21572128 阅读:48 留言:0更新日期:2019-07-10 15:33
一种生成Java项目的反序列化漏洞报告的方法包括:由计算设备确定Java项目的内部知识是否可用,当Java项目的内部知识不可用时,执行黑盒分析以生成反序列化漏洞报告;以及当Java项目的内部知识可用时,由计算设备确定Java项目的源代码是否可访问,当Java项目的源代码可访问时,执行白盒分析以生成反序列化漏洞报告,并且当Java项目的源代码不可访问时,执行灰盒分析以生成反序列化漏洞报告。

JAVA Deserialization Vulnerability Detection System and System

【技术实现步骤摘要】
JAVA反序列化漏洞检测系统和方法交叉引用可能包括专利、专利申请及各种出版物在内的一些参考文献在描述本专利技术时被引用和讨论。对这些参考文献的引用和/或讨论只是用来使对于本专利技术的描述变得清楚,而并非承认这些参考文献是在此描述的专利技术的“现有技术”。本说明书中引用和讨论的所有参考文献通过引用全部合并于此,就如同各参考文献单独通过引用而合并于此。
本专利技术一般地涉及软件鲁棒性,更具体地,涉及能够以大覆盖范围自动执行的Java反序列化(deserialization)漏洞检测。
技术介绍
在此提供的
技术介绍
描述旨在一般性地给出本专利技术的背景。在此,既非明确承认也非暗示署名专利技术人的工作(如果在本
技术介绍
部分描述的话)以及在本申请递交之时可能并非是现有技术的所描述方面是针对本专利技术的现有技术。是太阳(Sun)微系统公司的商标,目前由甲骨文(Oracle)公司所有。为简洁起见,下文中将称作“Java”。Java提供了称作“对象序列化(objectserialization)”的机制,使得对象能够被表示为字节序列。反序列化是逆过程。更具体地,反序列过程接收序列化的字节,并开始循环过本文档来自技高网...

【技术保护点】
1.一种生成Java项目的反序列化漏洞报告的方法,包括:由计算设备确定所述Java项目的内部知识是否可用,当所述Java项目的内部知识不可用时,执行黑盒分析以生成反序列化漏洞报告;以及当所述Java项目的内部知识可用时,由所述计算设备确定所述Java项目的源代码是否可访问,当所述Java项目的源代码可访问时,执行白盒分析以生成反序列化漏洞报告,并且当所述Java项目的源代码不可访问时,执行灰盒分析以生成反序列化漏洞报告,其中,所述白盒分析通过以下步骤来执行:分析所述源代码以获得入口点的信息;扫描所述Java项目的配置文件以生成利用载荷;以及针对所述入口点执行所述利用载荷以生成反序列化漏洞报告。

【技术特征摘要】
2018.01.03 US 15/861,3101.一种生成Java项目的反序列化漏洞报告的方法,包括:由计算设备确定所述Java项目的内部知识是否可用,当所述Java项目的内部知识不可用时,执行黑盒分析以生成反序列化漏洞报告;以及当所述Java项目的内部知识可用时,由所述计算设备确定所述Java项目的源代码是否可访问,当所述Java项目的源代码可访问时,执行白盒分析以生成反序列化漏洞报告,并且当所述Java项目的源代码不可访问时,执行灰盒分析以生成反序列化漏洞报告,其中,所述白盒分析通过以下步骤来执行:分析所述源代码以获得入口点的信息;扫描所述Java项目的配置文件以生成利用载荷;以及针对所述入口点执行所述利用载荷以生成反序列化漏洞报告。2.根据权利要求1所述的方法,其中,分析所述源代码以获得入口点的信息的步骤包括:从所述源代码收集源信息和汇信息,其中所述源信息包括接受外部数据的源入口点,并且所述汇信息包括执行反序列化的汇点;对所述源信息和所述汇信息执行污点分析,以生成所述源入口点和所述汇点之间的污点路径;以及对所述污点路径进行解析以提取所述入口点的信息,其中,所述入口点的信息包括馈送数据至源入口点以触发汇点的途径。3.根据权利要求2所述的方法,其中,所述汇信息包括反序列化应用编程接口API。4.根据权利要求1所述的方法,其中,扫描所述Java项目的配置文件以生成利用载荷的步骤包括:对所述配置文件进行解析以获得所述Java项目所依赖的库文件;扫描所述库文件和所述源代码以获得与来自gadget模式数据库DB的gadget相匹配的gadget;以及使用所获得的gadget生成所述利用载荷。5.根据权利要求4所述的方法,其中,所述gadget模式DB包括在反序列化时导致风险的gadget模式,并且所述gadget模式包括文件写许可、代码执行许可、Java反射信息和打开套接字信息中至少之一。6.根据权利要求1所述的方法,其中,针对所述入口点执行所述利用载荷以生成反序列化漏洞报告的步骤包括:确定所述入口点和所述利用载荷之间的关系以生成用于概念验证POC测试的单元测试用例;以及在所述Java项目的相应环境下执行所述单元测试用例,以生成反序列化漏洞报告。7.根据权利要求1所述的方法,其中,所述灰盒分析通过以下步骤来执行:通过使来自gadget载荷数据库的gadget载荷进入到入口点规范中规定的入口点来利用所述Java项目,并基于所述利用来生成反序列化漏洞报告。8.根据权利要求7所述的方法,其中,所述利用由模糊器执行。9.根据权利要求1所述的方法,其中,所述黑盒分析包括:识别服务器上被视为所...

【专利技术属性】
技术研发人员:魏丰国林岳勋
申请(专利权)人:北京京东尚科信息技术有限公司京东美国科技公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1