[发明专利]一种基于字节码增强实现微服务安全的安全插件在审
申请号: | 202310167129.0 | 申请日: | 2023-02-24 |
公开(公告)号: | CN116009991A | 公开(公告)日: | 2023-04-25 |
发明(设计)人: | 吕善;郑恺;孙冉;黄天辉;夏幼林 | 申请(专利权)人: | 中电云数智科技有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F9/455 |
代理公司: | 武汉智权专利代理事务所(特殊普通合伙) 42225 | 代理人: | 张凯 |
地址: | 430056 湖北省武汉市经济技术*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 字节 增强 实现 微服 安全 插件 | ||
本发明公开了一种基于字节码增强实现微服务安全的安全插件,涉及微服务领域,包括扫描检测模块、执行器模块、服务鉴权模块和通讯模块,且所述安全插件在JVM启动时加载至程序中;所述扫描检测模块用于在安全插件加载完成后进行初始化操作,以对程序是否非法修改进行扫描检测;所述执行器模块用于接收指令并执行,所述指令包括扫描检测模块的基础配置加载指令和基于扫描检测数据生成的下发指令数据;所述通讯模块用于上报扫描检测数据至安全控制后台,以及接收安全控制后台下发的下发指令数据和授权token;所述服务鉴权模块用于获取授权token并进行缓存更新,以进行服务鉴权。本发明可以动态检测程序的安全状态,且准确率高。
技术领域
本发明涉及微服务领域,具体涉及一种基于字节码增强实现微服务安全的安全插件。
背景技术
据相关调查研究表明,大多数程序员使用Java语言进行工作,且java语言市场的占比近些年来一直稳居第一,Java源码被编译器编译成字节码(Class格式),字节码文件被JVM(Java Virtual Machine,Java虚拟机)加载并运行。
在JVM中提供了JVMTI(JVM Tool Interface,Java虚拟机中定义的一个开发和监控JVM使用的程序接口)接口能力,可以借助JPLISAgent(Java Programming LanguageInstrumentation Services Agent,Java编程语言检测服务代理)完成对目标代码的修改,也可以暴露运行时JVM的诸多信息,比如线程、GC(垃圾回收机制)、内存等。加载Agent的时机可以是目标JVM启动之前,也可以是在目标JVM运行时进行加载。在目标JVM运行时进行Agent加载具备动态性,从目标JVM中获取数据,然后将数据传递给外部进程,对于功能调试、热部署、线上问题诊断、性能分析等场景都非常适用;在JVM启动前加载Agent,对于不修改源码的情形可以增强程序本身的能力,比如比较流行的APM(Application PerformanceManagement,应用性能管理)实现就是这种方式,见图1和图2所示。
据相关预测,部署在云原生平台上的数字工作负载未来将由30%增长至95%,以容器、微服务、DevOps(过程、方法与系统)为代表的云原生技术已在金融、电信、互联网等多个行业得到实践和验证。数字转型需求旺盛,伴随PaaS(Platform as a Service,平台即服务)、FaaS(Function as a Service,功能即服务)、Serverless(云计算的新一代技术与架构)等技术理念的实践,将程序交给基础设施服务(IAAS)以最大程度利用云价值。因此,如何保证云服务商在安全许可下增强服务将面临挑战,管理Java程序运行时的安全无侵入将是客户和云服务商需要解决的问题。
微服务发展至今,在容器中开发微服务是大势所趋,其继承了容器的快速启动、弹性伸缩、可移植性等优点,同时单独容器中运行微服务可以消除环境、框架、语言等限制。虽然基于容器的微服务开发应用方法有诸多好处,包括易于扩展和管理,但它们也同样存在一些安全问题,比如恶意代码注入、网路漏洞攻击、镜像漏洞的攻击等等。
当前针对Java微服务的安全监测,主要实现是给attach方法(利用了Unix Domainsocket原理实现了Linux中进程间的通信)传入一个JVM的pid(线程编号),远程连接到目标JVM上,动态注入安全检测的Agent,匹配程序中可疑特征,比如常见的内存马程序,但该方式存在一个明显的缺点,就是已注入恶意代码的程序可以对新注入的安全监测的Agent进行逃逸和免杀,导致Java程序在加载过程中被非法篡改。逃逸是指检测成功后会变换恶意代码特征,免杀是指恶意代码阻止安全监测的Agent的正常注入,或者删掉暴露的pid对应的sock文件。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种基于字节码增强实现微服务安全的安全插件,可以动态检测程序的安全状态,且准确率高。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中电云数智科技有限公司,未经中电云数智科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310167129.0/2.html,转载请声明来源钻瓜专利网。