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

一种代码热修复方法、装置、设备及计算机可读存储介质与流程

2022-11-12 20:40:38 来源:中国专利 TAG:


1.本技术涉及网络安全技术领域,尤其涉及一种代码热修复方法、装置、设备及计算机可读存储介质。


背景技术:

2.如今的信息安全问题层出不穷,几乎每天都有0day安全漏洞的产生,而相对应的官方补丁要经过一定的时间才能产生。即使有官方补丁出来,由于有些系统的规模过于复杂和庞大,在业务上也很难去进行相关组件版本的升级,因为如果升级就会造成相关业务逻辑的regression风险。


技术实现要素:

3.本技术实施例提供了一种代码热修复方法、装置、设备及计算机可读存储介质,至少能够解决相关技术中无法对0day漏洞进行实时安全防护的问题。
4.本技术实施例第一方面提供了一种代码热修复方法,包括:
5.在web服务器中加载rasp探针;其中,所述rasp探针为基于实时应用程序自我保护技术的安全检测探针;
6.通过所述rasp探针监控所述web服务器的应用流量,获取对应于0day 漏洞的安全攻击信息;
7.通过安全漏洞数据库对所述安全攻击信息进行特征比对,根据比对结果获取热修复代码;其中,所述热修复代码为进行热修复的代码片段;
8.根据所述热修复代码对所述0day漏洞进行安全防护。
9.本技术实施例第二方面提供了一种代码热修复装置,包括:
10.加载模块,用于在web服务器中加载rasp探针;其中,所述rasp探针为基于实时应用程序自我保护技术的安全检测探针;
11.获取模块,用于通过所述rasp探针监控所述web服务器的应用流量,获取对应于0day漏洞的安全攻击信息;
12.比对模块,用于通过安全漏洞数据库对所述安全攻击信息进行特征比对,根据比对结果获取热修复代码;其中,所述热修复代码为进行热修复的代码片段;
13.防护模块,用于根据所述热修复代码对所述0day漏洞进行安全防护。
14.本技术实施例第三方面提供了一种电子设备,其特征在于,包括存储器及处理器,其中,所述处理器用于执行存储在所述存储器上的计算机程序,所述处理器执行所述计算机程序时上述本技术实施例第一方面提供的代码热修复方法中的各步骤。
15.本技术实施例第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,实现上述本技术实施例第一方面提供的代码热修复方法中的各步骤。
16.由上可见,根据本技术方案所提供的代码热修复方法、装置、设备及计算机可读存
储介质,在web服务器中加载rasp探针;其中,所述rasp探针为基于实时应用程序自我保护技术的安全检测探针;通过所述rasp探针监控所述web服务器的应用流量,获取对应于0day漏洞的安全攻击信息;通过安全漏洞数据库对所述安全攻击信息进行特征比对,根据比对结果获取热修复代码;其中,所述热修复代码为进行热修复的代码片段;根据所述热修复代码对所述 0day漏洞进行安全防护。通过本技术方案的实施,在监测到0day漏洞的安全攻击之后,通过安全漏洞数据库比对安全攻击信息,根据比对结果生成相应热修复代码对安全漏洞进行热修复,在通过rasp探针保护私有应用隐私的同时,能够及时发现web服务器存在的0day漏洞并进行实时安全防护。
附图说明
17.图1为本技术第一实施例提供的代码热修复方法的基本流程示意图;
18.图2为本技术第二实施例提供的代码热修复方法的细化流程示意图;
19.图3为本技术第三实施例提供的代码热修复装置的程序模块示意图;
20.图4为本技术第四实施例提供的电子设备的结构示意图。
具体实施方式
21.为使得本技术的发明目的、特征、优点能够更加的明显和易懂,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而非全部实施例。基于本技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
22.为了解决相关技术中无法对0day漏洞进行实时安全防护的问题,本技术第一实施例提供了一种代码热修复方法,如图1为本实施例提供的代码热修复方法的基本流程图,该代码热修复方法包括以下的步骤:
23.步骤101、在web服务器中加载rasp探针。
24.具体的,在本实施例中,rasp探针为基于实时应用程序自我保护(rasp, runtime application self-protection)技术的安全检测探针,rasp是一种新型应用安全保护技术,它将保护程序像疫苗一样注入到应用程序中,应用程序融为一体,能实时检测和阻断安全攻击,使应用程序具备自我保护能力,当应用程序遭受到实际攻击伤害,就可以自动对其进行防御,而不需要进行人工干预。 rasp技术可以快速的将安全防御功能整合到正在运行的应用程序中,它拦截从应用程序到系统的所有调用,确保它们是安全的,并直接在应用程序内验证数据请求。web和非web应用程序都可以通过rasp进行保护。该技术不会影响应用程序的设计,因为rasp的检测和保护功能是在应用程序运行的系统上运行的。基于rasp技术,将rasp探针加载至web应用系统,确保rasp探针和web服务器在同一个服务器之中。传统的安全漏洞攻击防御技术通常是通过安装防火墙,而安装的防火墙不管是串联的部署模式,还是并联部署模式都需要用到用户的源代码,容易泄露保护应用的隐私,而通过rasp技术加载 rasp探针则不需要使用客户源代码,能够保护私有应用的隐私。
25.步骤102、通过rasp探针监控web服务器的应用流量,获取对应于0day 漏洞的安全攻击信息。
26.具体的,流量攻击是最为常用的服务器攻击方式,采取合法的数据请求技术,再加
上傀儡机器,造成ddos攻击成为最难防御的网络攻击之一,当然,现有的防御手段足以抵挡一般的流量攻击,但是,当web服务器中存在没被检测出的0day漏洞时,相对应的流量攻击却是致命的。在本实施例中,在确保rasp探针与web容器在同一web服务器之后,通过rasp探针对web服务器中的应用流量进行监控,当发生0day漏洞的安全攻击事件时,通过rasp探针实时获取对应于0day漏洞的安全攻击信息,能够快速对安全攻击事件进行响应。
27.步骤103、通过安全漏洞数据库对安全攻击信息进行特征比对,根据比对结果获取热修复代码。
28.具体的,在本实施例中,在获取到0day安全攻击的相关信息后,通过分析 0day漏洞的特征和与cve和cnnvd安全漏洞数据库进行实时比对,来确定当前0day安全漏洞的潜在安全攻击。同时通过探针结合我们私有的安全攻击知识库,进行安全攻击防护的修复热代码编写,其中,热修复代码为进行热修复的代码片段。
29.在本实施例一种可选的实施方式中,通过安全漏洞数据库对安全攻击信息进行特征比对的步骤,包括:通过安全攻击信息分析0day漏洞的安全漏洞特征;将安全漏洞特征与cve和cnnvd安全漏洞数据库进行特征比对。
30.具体的,每一种安全攻击都存在对应的攻击特征,而这些特征恰好可以分析出系统存在哪种类型的漏洞。在本实施例中,通过对安全攻击信息的分析,确定0day漏洞的安全漏洞特征,漏洞特征是一一对应的,相似的漏洞之间的漏洞特征可能相似,但绝对会存在一些差别,因此,将分析出的安全漏洞特征与 cve和cnnvd安全漏洞数据库中已有漏洞的安全漏洞信息进行特征比对, cve是通用漏洞披露(common vulnerabilities and exposures),列出了已公开披露的各种计算机安全缺陷。
31.进一步的,在本实施例一种可选的实施方式中,根据比对结果获取热修复代码的步骤,包括:若cve和cnnvd安全漏洞数据库中存在与安全漏洞特征一致的安全漏洞,则通过查询安全漏洞的所有安全漏洞特征,确定0day漏洞的潜在安全攻击特征;将rasp探针与安全攻击知识库相结合,获取与潜在安全攻击特征对应的解决方案;根据解决方案生成热修复代码。
32.具体的,在本实施例中,若根据比对结果确定cve和cnnvd安全漏洞数据库中存在与安全漏洞特征一致的安全漏洞,则基本可以认定所检测到的0day 漏洞与该安全漏洞属于同一漏洞类型,通过查询安全漏洞数据库中与该安全漏洞对应的所有漏洞特征,确定0day漏洞是否还存在其它潜在的安全攻击特征,若存在潜在安全攻击特征,则通过rasp探针与安全攻击知识库相结合,获取与潜在安全攻击特征对应的解决方案,其中,安全攻击知识库为私有库,包括大量漏洞实例以及针对不同安全漏洞的具体解决方案,再根据获取的解决方案的具体内容生成对0day漏洞进行热修复的代码。
33.再进一步的,在本实施例一种可选的实施方式中,根据解决方案生成热修复代码的步骤,包括:根据解决方案确定潜在安全攻击中需要被插桩的类名、方法名以及对应于被插桩方法的防护参数;根据需要被插桩的类名、方法名以及防护参数生成对应的热修复代码。
34.具体的,在本实施例中,根据解决方案的具体内容确定对应安全攻击中,实际通过漏洞进行攻击的类和方法,以及进行热修复需要输入的具体防护参数,直接将防护参数输入到需要被插桩的方法中即可解决安全攻击的危害,再根据需要被插桩的类、方法以及防
护参数自动编写成用于热修复的代码片段,应当说明的是,具体的热修复代码包括但不限于上述几项数据。
35.步骤104、根据热修复代码对0day漏洞进行安全防护。
36.具体的,在本实施例中,通过热修复代码对0day漏洞进行插桩,使有效的代码片段对0day中存在安全攻击的方法进行热修复,从而达到安全防护的目的。
37.在本实施例一种可选的实施方式中,根据热修复代码对0day漏洞进行安全防护的步骤,包括:将热修复代码插桩到0day漏洞中存在潜在安全攻击的被插桩方法中;通过对被插桩方法输入对应防护参数进行安全防护。
38.具体的,在本实施例中,通过热修复代码中携带的对潜在安全攻击的需要被插桩方法对应的代码,对潜在安全攻击中需要被插桩方法进行准确定位,并将热修复代码插桩到需要被插桩方法中,将预先编写的包含有防护参数的代码输入至方法中,替换方法中存在的恶意代码,从而对0day漏洞的安全攻击进行有效的安全防护。
39.在本实施例一种可选的实施方式中,根据热修复代码对0day漏洞进行安全防护的步骤之后,还包括:根据用户业务需求选择安全防护策略的触发方式;若选择自动触发,则当0day漏洞在安全防护策略的预设漏洞范围内时,自动触发相应安全防护策略;若选择手动触发,则当检测到0day漏洞时,获取server 端发送的防护指令,对0day漏洞执行相应安全防护策略。
40.具体的,在本实施例中,进行完安全攻击防护后可以将相关的安全信息进行汇总并且上报到server端,通过server端对相关的安全防护策略进行配置、实时安全防护安全攻击漏洞和下线等决策处理,而对于安全防护策略的配置可以根据用户业务需求选择安全防护策略的触发方式,其中,触发方式包括:自动触发、手动触发,若选择自动触发,则当监测到的0day漏洞在安全防护策略的预设漏洞范围内时,自动触发相应安全防护策略;若选择手动触发,则当通过rasp探针监测到0day漏洞时,用户可以通过server端发送执行安全防护策略的防护指令,在接收到防护指令之后,对0day漏洞执行相应的安全防护策略。应当说明的是,安全防护策略是在对0day漏洞进行热修复之后,防止再次受到同一0day漏洞的威胁而配置的相应策略。用户可以根据自身业务需求选择在 0day漏洞的不同层次上进行安全防护,防护手段包括但不限于攻击阻断、攻击上报以及日志记录等,例如,从事网络安全防护设备的用户就需要查看对应0day 漏洞攻击对被保护设备所造成的影响,所以在检测出存在该0day漏洞攻击时,只需要对0day漏洞攻击进行上报,时刻关注0day漏洞攻击的整个周期并记录到日志中,通过用户个性化需求选择对0day漏洞的处理方式,能够更加灵活的进行安全防护。
41.进一步的,在本实施例一种可选的实施方式中,根据热修复代码对0day漏洞进行安全防护的步骤之后,还包括:将0day漏洞的安全漏洞信息以及安全防护策略实时上传至server端;通过server端的配置指令,将安全漏洞信息以及安全防护策略配置为自定义安全防护规则;在获取到的0day漏洞的安全攻击信息时,通过自定义安全防护规则对0day漏洞进行安全防护。
42.具体的,在本实施例中,在对web服务器进行有效的安全防护之后,将汇总的安全漏洞信息以及防御策略汇报给server端,server端通过安全检测接口的配置指令,将汇总的0day漏洞信息以及防御策略配置到相应的自定义安全防护规则中,rasp探针会根据重新
配置后的自定义安全防护规则对web服务器进行实时检测,若检测到自定义安全防护规则中需要防护的0day漏洞攻击时,通过对应的防御策略直接对0day漏洞攻击进行安全防护,能够有效提高rasp 探针的检测效率。
43.基于上述申请的实施例方案,在web服务器中加载rasp探针;其中,rasp 探针为基于实时应用程序自我保护技术的安全检测探针;通过rasp探针监控 web服务器的应用流量,获取对应于0day漏洞的安全攻击信息;通过安全漏洞数据库对安全攻击信息进行特征比对,根据比对结果获取热修复代码;其中,热修复代码为进行热修复的代码片段;根据热修复代码对0day漏洞进行安全防护。通过本技术方案的实施,在监测到0day漏洞的安全攻击之后,通过安全漏洞数据库比对安全攻击信息,根据比对结果生成相应热修复代码对安全漏洞进行热修复,能够及时发现web服务器存在的0day漏洞并进行实时安全防护。
44.图2中的方法为本技术第二实施例提供的一种细化的代码热修复方法,该代码热修复方法包括:
45.步骤201、在web服务器中加载rasp探针。
46.具体的,在本实施例中,rasp探针为基于实时应用程序自我保护技术的安全检测探针。
47.步骤202、通过rasp探针监控web服务器的应用流量,获取对应于0day 漏洞的安全攻击信息。
48.步骤203、通过安全攻击信息分析0day漏洞的安全漏洞特征,并将安全漏洞特征与cve和cnnvd安全漏洞数据库进行特征比对。
49.步骤204、若cve和cnnvd安全漏洞数据库中存在与安全漏洞特征一致的安全漏洞,则通过查询安全漏洞的所有安全漏洞特征,确定0day漏洞的潜在安全攻击特征。
50.具体的,在本实施例中,cve是通用漏洞披露(common vulnerabilities andexposures),列出了已公开披露的各种计算机安全缺陷。通过cve和cnnvd安全漏洞数据库可以获取安全漏洞的所有漏洞特征。
51.步骤205、将rasp探针与安全攻击知识库相结合,获取与潜在安全攻击特征对应的解决方案。
52.具体的,在本实施例中,安全攻击知识库为私有库,包括大量漏洞实例以及针对不同安全漏洞的具体解决方案。
53.步骤206、根据解决方案确定潜在安全攻击中需要被插桩的类名、方法名以及对应于被插桩方法的防护参数。
54.步骤207、根据需要被插桩的类名、方法名以及防护参数生成对应的热修复代码。
55.步骤208、根据热修复代码对0day漏洞进行安全防护。
56.根据本技术方案所提供的代码热修复方法,在web服务器中加载rasp探针;通过rasp探针监控web服务器的应用流量,获取对应于0day漏洞的安全攻击信息;通过安全攻击信息分析0day漏洞的安全漏洞特征,并将安全漏洞特征与cve和cnnvd安全漏洞数据库进行特征比对;若cve和cnnvd安全漏洞数据库中存在与安全漏洞特征一致的安全漏洞,则通过查询安全漏洞的所有安全漏洞特征,确定0day漏洞的潜在安全攻击特征;将rasp探针与安全攻击知识库相结合,获取与潜在安全攻击特征对应的解决方案;根据解决方案确定潜在安全攻击中需要被插桩的类名、方法名以及对应于被插桩方法的防护参数;根据需要被插
桩的类名、方法名以及防护参数生成对应的热修复代码;根据热修复代码对0day漏洞进行安全防护。通过本技术方案的实施,在监测到 0day漏洞的安全攻击之后,通过安全漏洞数据库比对安全攻击信息,根据比对结果生成相应热修复代码对安全漏洞进行热修复,能够及时发现web服务器存在的0day漏洞并进行实时安全防护。
57.图3为本技术第三实施例提供的一种代码热修复装置,该代码热修复装置可用于实现前述实施例中的代码热修复方法。如图3所示,该代码热修复装置主要包括:
58.加载模块301,用于在web服务器中加载rasp探针;其中,rasp探针为基于实时应用程序自我保护技术的安全检测探针;
59.获取模块302,用于通过rasp探针监控web服务器的应用流量,获取对应于0day漏洞的安全攻击信息;
60.比对模块303,用于通过安全漏洞数据库对安全攻击信息进行特征比对,根据比对结果获取热修复代码;其中,热修复代码为进行热修复的代码片段;
61.防护模块304,用于根据热修复代码对0day漏洞进行安全防护。
62.在本实施例一种可选的实施方式中,比对模块具体用于:通过安全攻击信息分析0day漏洞的安全漏洞特征;将安全漏洞特征与cve和cnnvd安全漏洞数据库进行特征比对。
63.进一步的,在本实施例一种可选的实施方式中,比对模块在执行根据比对结果获取热修复代码的功能时,具体用于:若cve和cnnvd安全漏洞数据库中存在与安全漏洞特征一致的安全漏洞,则通过查询安全漏洞的所有安全漏洞特征,确定0day漏洞的潜在安全攻击特征;将rasp探针与安全攻击知识库相结合,获取与潜在安全攻击特征对应的解决方案;根据解决方案生成热修复代码。
64.再进一步的,在本实施例一种可选的实施方式中,获取模块在执行根据解决方案生成热修复代码的功能时,具体用于:根据解决方案确定潜在安全攻击中需要被插桩的类名、方法名以及对应于被插桩方法的防护参数;根据需要被插桩的类名、方法名以及防护参数生成对应的热修复代码。
65.还进一步的,在本实施例一种可选的实施方式中,防护模块具体用于:将热修复代码插桩到0day漏洞中存在潜在安全攻击的被插桩方法中;通过对被插桩方法输入对应防护参数进行安全防护。
66.在本实施例一种可选的实施方式中,该代码热修复装置还包括:选择模块触发模块、执行模块。选择模块用于:根据用户业务需求选择安全防护策略的触发方式;其中,触发方式包括:自动触发、手动触发。触发模块用于:若选择自动触发,则当0day漏洞在安全防护策略的预设漏洞范围内时,自动触发相应安全防护策略。执行模块用于:若选择手动触发,则当检测到0day漏洞时,获取server端发送的防护指令,对0day漏洞执行相应安全防护策略。
67.进一步的,在本实施例一种可选的实施方式中,该代码热修复装置还包括:上传模块、配置模块。上传模块用于:将0day漏洞的安全漏洞信息以及安全防护策略实时上传至server端。配置模块用于:通过server端的配置指令,将安全漏洞信息以及安全防护策略配置为自定义安全防护规则。防护模块具体还用于:在获取到的0day漏洞的安全攻击信息时,通过自定义安全防护规则对0day 漏洞进行安全防护。
68.根据本技术方案所提供的代码热修复装置,在web服务器中加载rasp探针;其中,
rasp探针为基于实时应用程序自我保护技术的安全检测探针;通过rasp探针监控web服务器的应用流量,获取对应于0day漏洞的安全攻击信息;通过安全漏洞数据库对安全攻击信息进行特征比对,根据比对结果获取热修复代码;其中,热修复代码为进行热修复的代码片段;根据热修复代码对 0day漏洞进行安全防护。通过本技术方案的实施,在监测到0day漏洞的安全攻击之后,通过安全漏洞数据库比对安全攻击信息,根据比对结果生成相应热修复代码对安全漏洞进行热修复,能够及时发现web服务器存在的0day漏洞并进行实时安全防护。
69.图4为本技术第四实施例提供的一种电子设备。该电子设备可用于实现前述实施例中的代码热修复方法,主要包括:
70.存储器401、处理器402及存储在存储器401上并可在处理器402上运行的计算机程序403,存储器401和处理器402通过通信连接。处理器402执行该计算机程序403时,实现前述实施例中的代码热修复方法。其中,处理器的数量可以是一个或多个。
71.存储器401可以是高速随机存取记忆体(ram,random access memory) 存储器,也可为非不稳定的存储器(non-volatile memory),例如磁盘存储器。存储器401用于存储可执行程序代码,处理器402与存储器401耦合。
72.进一步的,本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是设置于上述各实施例中的电子设备中,该计算机可读存储介质可以是前述图4所示实施例中的存储器。
73.该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现前述实施例中的代码热修复方法。进一步的,该计算机可存储介质还可以是u 盘、移动硬盘、只读存储器(rom,read-only memory)、ram、磁碟或者光盘等各种可以存储程序代码的介质。
74.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
75.作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
76.另外,在本技术各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
77.集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的可读存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以
存储程序代码的介质。
78.需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本技术所必须的。
79.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
80.以上为对本技术所提供的代码热修复方法、装置、设备及计算机可读存储介质的描述,对于本领域的技术人员,依据本技术实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本技术的限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献