全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210421397.6 (22)申请日 2022.04.21 (71)申请人 厦门服云信息科技有限公司 地址 361000 福建省厦门市软件园二期观 日路12号 403单元 (72)发明人 刘映江 陈奋 陈荣有 李伟彬  张志灿  (74)专利代理 机构 厦门市精诚新创知识产权代 理有限公司 3 5218 专利代理师 赵薇 (51)Int.Cl. G06F 21/56(2013.01) G06F 21/55(2013.01) G06F 8/30(2018.01) G06F 9/445(2018.01)G06F 9/455(2006.01) (54)发明名称 一种Java内存木马检测方法、 终端设备及存 储介质 (57)摘要 本发明涉及一种Java内存木马检测方法、 终 端设备及存储介质, 该方法中包括: S1: 构建类加 载器列表; S2: 针对当前Java进程中的每个无源 类进行以下判断; S3: 判断无源类是否为 匿名类, 如果是, 进入S4; 否则, 根据该无源类的类加载器 信息和类信息判断该无源类是否有威胁; S4: 判 断该无源类的父类是否为有源类, 如果是, 根据 其父类的类加载器信息判断该无源类是否有威 胁; 否则, 进入S5; S5: 判断该无源类的父类的类 加载器是否与该无源类的类加载器相同, 如果相 同, 根据该无源类的父类的类加载器信息和类信 息判断该无源类是否有威胁; 否则, 判定该无源 类有威胁 。 本发明可以提高检测的准确性。 权利要求书1页 说明书4页 附图2页 CN 114936368 A 2022.08.23 CN 114936368 A 1.一种Java 内存木马检测方法, 其特 征在于, 包括以下步骤: S1: 构建类加载器列表, 用于记录Java系统的类加载器和Web容器的类加载器; S2: 读取并记录当前Java进程中的所有无源类以及对应的类信息, 对每个无源类进行 以下步骤的判断; S3: 判断无源类是否为匿名类, 如果是, 进入S4; 否则, 获取该无源类的类加载器信息和 类信息, 根据类加载器信息和类信息判断该 无源类是否有威胁; S4: 判断该无源类的父类是否为有源类, 如果是, 获取其父类的类加载器信息, 根据类 加载器信息判断该 无源类是否有威胁; 否则, 进入S5; S5: 判断该无源类的父类的类加载器是否与该无源类的类加载器相同, 如果相同, 获取 该无源类的父类的类加载器信息和类信息, 根据类加载器信息和类信息判断该无源类是否 有威胁; 否则, 判定该 无源类有威胁。 2.根据权利要求1所述的Java内存木马检测方法, 其特征在于: 根据类加载器信息和类 信息判断该无源类是否有威胁的方法为: 只有当根据类加载器信息和类信息判断该无源类 均无威胁时, 才判定该 无源类无威胁。 3.根据权利要求1所述的Java内存木马检测方法, 其特征在于: 根据类加载器信息判断 该无源类是否有威胁的方法包括以下步骤: S101: 判断类加载器是否为自定义类加载器, 如果是, 进入S102; 否则, 进入S104; S102: 判断类加载器是否为有源类, 如果是, 进入S10 3; 否则, 判定该 无源类有威胁; S103: 判断类加载器是否与该无源类的父类存在于相同package中, 如果是, 则判定该 无源类无威胁; 否则, 判定该 无源类有威胁; S104: 判断类加载器是Java系统的类加载器还是Web容器的类加载器, 如果是Java系统 的类加载器则判定该 无源类无威胁, 如果是Web容器的类加载器则判定该 无源类有威胁。 4.根据权利 要求3所述的Java内存木马检测方法, 其特征在于: 步骤S101中判断类加载 器是否为自定义类加载器的方法为: 根据将 类加载器与类加载器列 表中的各类加载器相匹 配, 当类加载器既不属 于Java系统的类加载器, 也不属 于Web容器的类加载器时, 则判定其 为自定义类加载器。 5.根据权利要求1所述的Java内存木马检测方法, 其特征在于: 根据类信息判断该无源 类是否有威胁的方法为: 根据类信息提取类的package信息, 并根据package信息查找对应 的package位置, 进而判断package位置是否在Web容器启动时的加载路径中, 如果不在则判 定该无源类有威胁, 如果在则判定该 无源类无威胁。 6.一种Java内存木马检测终端设备, 其特征在于: 包括处理器、 存储器以及存储在所述 存储器中并在所述处理器上运行的计算机程序, 所述处理器执行所述计算机程序时实现如 权利要求1~5中任一所述方法的步骤。 7.一种计算机可读存储介质, 所述计算机可读存储介质存储有计算机程序, 其特征在 于: 所述计算机程序被处 理器执行时实现如权利要求1~5中任一所述方法的步骤。权 利 要 求 书 1/1 页 2 CN 114936368 A 2一种Java内存木马检测方 法、 终端设 备及存储介质 技术领域 [0001]本发明涉及木马检测领域, 尤其涉及一种Java内存木马检测方法、 终端设备及存 储介质。 背景技术 [0002]Java内存木马是一种利用JSP动态编译或Java字节码 技术进行动态注入的内存木 马, 对于动态注入的内存木马有一个通用的特点, 即在编译注入完成后, 不会形成对应的 class文件, 而且无源内存木马为了兼容所有版本的Web容器和Java版本, 不会使用新的语 法和特性来构建内存木马, 因此现有的检测方式均为判断该类是否存在源文件, 或者是否 存在执行Shell脚本命令等方式进行判断。 [0003]在实际的Java开发过程中, 有可能会使用字节码工具, 或者是匿名内部类、 代理等 方式进行实际的业务操作, 而以上 的操作均会动态产生无源类, 但是所产生的无源类是正 常的, 并且大部 分不具备威胁性, 因为内部是在进 行正常的业务逻辑的调用, 业界一般只会 将使用Java动态代理和Spring等框架生成的动态代理类排除, 而一些自主研发的代理框 架, 或者动态生成Clas s并加载的工具类并不能正常识别。 发明内容 [0004]为了解决上述问题, 本发明提出了一种Java内存木马检测方法、 终端设备及存储 介质。 [0005]具体方案如下: [0006]一种Java 内存木马检测方法, 包括以下步骤: [0007]S1: 构建类加载器列表, 用于记录Java系统的类加载器和Web容器的类加载器; [0008]S2: 读取并记录当前Java进程中的所有无源类以及对应的类信息, 对每个无源类 进行以下步骤的判断; [0009]S3: 判断无源类是否为匿名类, 如果是, 进入S4; 否则, 获取该无源类的类加载器信 息和类信息, 根据类加载器信息和类信息判断该 无源类是否有威胁; [0010]S4: 判断该无源类的父类是否为有源类, 如果是, 获取其父类 的类加载器信息, 根 据类加载器信息判断该 无源类是否有威胁; 否则, 进入S5; [0011]S5: 判断该无源类的父类的类加载器是否与该无源类的类加载器相同, 如果相同, 获取该无源类的父类的类加载器信息和类信息, 根据类加载器信息和类信息判断该无源类 是否有威胁; 否则, 判定该 无源类有威胁。 [0012]进一步的, 根据类加载器信息和类信息判断该无源类是否有威胁的方法为: 只有 当根据类加载器信息和类信息判断该 无源类均无威胁时, 才判定该 无源类无威胁。 [0013]进一步的, 根据类加载器信息判断该 无源类是否有威胁的方法包括以下步骤: [0014]S101: 判断类加载器是否为自定义类加载器, 如果是, 进入S102; 否则, 进入S104; [0015]S102: 判断类加载器是否为有源类, 如果是, 进入S103; 否则, 判定该无源类有威说 明 书 1/4 页 3 CN 114936368 A 3

.PDF文档 专利 一种Java内存木马检测方法、终端设备及存储介质

文档预览
中文文档 8 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共8页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种Java内存木马检测方法、终端设备及存储介质 第 1 页 专利 一种Java内存木马检测方法、终端设备及存储介质 第 2 页 专利 一种Java内存木马检测方法、终端设备及存储介质 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-17 23:58:18上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。