一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种反序列化攻击的检测方法、装置及可读存储介质与流程

2022-06-01 08:02:34 来源:中国专利 TAG:

技术特征:
1.一种反序列化攻击的检测方法,其特征在于,所述方法包括:确定序列化数据的数据格式;其中,所述数据格式包括原生字节流、对象简谱json格式、可扩展标记语言xml格式中的一种格式;基于所述数据格式,解析所述序列化数据得到所述数据格式对应的解析数据;其中,所述解析数据中包括类,所述类指示创建java实体的策略;基于所述数据格式,确定所述序列化数据的检测策略,并利用所述检测策略针对所述解析数据中的所述类进行反序列化攻击检测,确定所述序列化数据中是否存在反序列化攻击。2.如权利要求1所述的方法,其特征在于,所述基于所述数据格式,解析所述序列化数据得到所述数据格式对应的解析数据,包括:当所述数据格式为原生字节流格式时,所述解析数据包括数组、对象;其中,所述数组为相同类型字段的集合,所述对象指示java实体,所述字段包括字段名和字段值;当所述数据格式为json格式时,所述解析数据包括指定字段,且所述指定字段与所述指定字段的字段值形成键值对;当所述数据格式为xml格式时,确定所述序列化数据中是否为xml encoder格式;若是,则所述解析数据中包括object节点和void节点,且所述object节点中包括class字段,所述void节点中包括method字段;若否,则所述解析数据为x stream格式,所述解析数据中包括class节点或者class字段;其中,所述节点为xml格式的序列化数据的起始标识。3.如权利要求2所述的方法,其特征在于,所述基于所述数据格式,确定所述序列化数据的检测策略,包括:当所述数据格式为原生字节流,所述检测策略为,检测所述解析数据中包含序列化对象的数目;和/或包含序列化数组的数目;和/或包含第一黑名单中类名的数目;和/或当所述引用对象的嵌套深度超过设定深度时,所述引用对象的嵌套深度;和/或是否存在协议格式错误导致的解析异常;其中,所述第一黑名单指示原生字节流格式的序列化数据中包括反序列化攻击时的记录,所述记录包括承载反序列化攻击的类,所述引用对象的嵌套深度指示所述对象被引用的次数。4.如权利要求2所述的方法,其特征在于,所述基于所述数据格式,确定所述序列化数据的检测策略,包括:当所述数据格式为json格式时,所述检测策略为,检测所述键值对中所述指定字段的字段值符合java类的命名特征的数目;和/或所述java类名为第二黑名单中的类名的数目;其中,所述第二黑名单为json格式序列化数据包括反序列化攻击时的记录,所述记录包括承载反序列化攻击的类。5.如权利要求2所述的方法,其特征在于,所述基于所述数据格式,确定所述序列化数据的检测策略,包括:当所述数据格式为xml encoder格式时,检测策略为,检测所述object节点中所述
class字段的字段值为类名的节点数目;和/或所述void节点中所述method字段的字段值为第三黑名单中method字段的字段值的节点数目;其中,所述第三黑名单指示包括xml encoder格式的序列化数据包括反序列化攻击时的记录;当所述数据格式为x stream格式时,检测策略为,检测所述解析数据包括第四黑名单中节点数目或者类名称相同的节点数目;和/或所述class节点的字段值为第四黑名单中的类名的数目;其中,所述第四黑名单指示x stream格式的序列化数据包括反序列化攻击时的记录,所述记录包括承载反序列化攻击的类。6.如权利要求1~5任一项所述的方法,其特征在于,所述利用所述检测策略针对所述解析数据进行反序列化攻击检测,确定所述序列化数据中是否存在反序列化攻击,包括:确定所述数据格式对应的检测策略中每一项内容的分值、设定权重;基于所述每一项内容的分值、设定权重,确定所述每一项内容的分数;将所述每一项内容的分数累加,得到所述序列化数据的置信值;其中,所述置信值指示所述序列化数据包括反序列化攻击的概率;将所述置信值与告警值进行对比,当所述置信值大于所述告警值时,确定所述序列化数据中存在反序列化攻击;其中,所述告警值根据所述序列化数据的使用场景设置。7.一种反序列化攻击的检测装置,其特征在于,所述装置包括:确定单元:用于确定序列化数据的数据格式;其中,所述数据格式包括原生字节流、对象简谱json格式、可扩展标记语言xml格式中的一种格式;解析单元:用于基于所述数据格式,解析所述序列化数据得到所述数据格式对应的解析数据;其中,所述解析数据中包括类,所述类指示创建java实体的策略;检测单元:用于基于所述数据格式,确定所述序列化数据的检测策略,并利用所述检测策略针对所述解析数据中的所述类进行反序列化攻击检测,确定所述序列化数据中是否存在反序列化攻击。8.如权利要求7所述的装置,其特征在于,所述解析单元具体用于,当所述数据格式为原生字节流格式时,所述解析数据包括数组、对象;其中,所述数组为相同类型字段的集合,所述对象指示java实体,所述字段包括字段名和字段值;当所述数据格式为json格式时,所述解析数据包括指定字段,且所述指定字段与所述指定字段的字段值形成键值对;当所述数据格式为xml格式时,确定所述序列化数据中是否为xml encoder格式;若是,则所述解析数据中包括object节点和void节点,且所述object节点中包括class字段,所述void节点中包括method字段;若否,则所述解析数据为x stream格式,所述解析数据中包括class节点或者class字段;其中,所述节点为xml格式的序列化数据的起始标识。9.如权利要求7或8所述的装置,其特征在于,所述检测单元具体用于确定所述数据格式对应的检测策略中每一项内容的分值、设定权重;基于所述每一项内容的分值、设定权重,确定所述每一项内容的分数;将所述每一项内容的分数累加,得到所述序列化数据的置信值;其中,所述置信值指示所述序列化数据包括反序列化攻击的概率;将所述置信值与告警值进行对比,当所述置信值大于所述告警值时,确定所述序列化数据中存在反序列化攻击;其中,所述告警值根据所述序列化数据的使用场景设置。
10.一种可读存储介质,其特征在于,包括,存储器,所述存储器用于存储指令,当所述指令被处理器执行时,使得包括所述可读存储介质的装置完成如权利要求1~6中任一项所述的方法。

技术总结
本申请公开了一种反序列化攻击的检测方法、装置及可读存储介质,用以解决Java反序列化攻击检测准确率低的问题。该方法包括:确定序列化数据的数据格式;其中,所述数据格式包括原生字节流、对象简谱Json格式、可扩展标记语言XML格式中的一种格式;基于所述数据格式,解析所述序列化数据得到所述数据格式对应的解析数据;其中,所述解析数据中包括类,所述类指示创建Java实体的策略;基于所述数据格式,确定所述序列化数据的检测策略,并利用所述检测策略针对所述解析数据中的所述类进行反序列化攻击检测,确定所述序列化数据中是否存在反序列化攻击。反序列化攻击。反序列化攻击。


技术研发人员:金恺 杨宗庆 张林 邓黎 陈翔
受保护的技术使用者:北京神州绿盟科技有限公司
技术研发日:2022.02.11
技术公布日:2022/5/31
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献