基于RASP的数据库防护方法、系统、设备及介质与流程

文档序号:37280833发布日期:2024-03-12 21:19阅读:13来源:国知局
基于RASP的数据库防护方法、系统、设备及介质与流程

本申请涉及数据库防护,尤其涉及一种基于rasp的数据库防护方法、系统、设备及介质。


背景技术:

1、随着web(world wide web 全球广域网)应用攻击手段变得复杂,传统的采用waf(web application firewall 网站应用级入侵防御系统)产品基于请求特征的防护手段,已经不能满足安全防护需求,在此背景下,rasp(runtime application self protect 应用防护技术)技术应运而生。rasp又称应用运行时自我保护,只要应用程序开始运行便会启动,通过分析应用程序的源代码以及运行时的行为,结合攻击检测规则来保护应用程序。该技术可以在异常攻击行为影响到业务之前被捕捉,准确性极高,因为防护技术处于业务底层的源码,对于同一种攻击的不同包装和变形,均能起到稳定的防护作用。基于该技术,在数据库驱动中进行字节码增强,可以稳定准确的防护数据库注入、存储型css(cross sitescript 跨站脚本攻击)、后台爆破等网络攻击。

2、rasp技术的防护基于数据库驱动的源代码,因此针对每个不同的数据库,都需要在熟悉该数据库驱动源码的基础上,进行相对应的插装与适配,工作量极大且繁琐。除此之外,现有rasp技术多涵盖mysql、oracle、mongodb等使用频率较高的数据库,但是不支持达梦、金仓等数据库。另外,现有技术如果要新增对某数据库的支持,除增加大量代码之外,都要进行版本的更新发布,每支持一个数据库都要更迭一次版本,无法实现动态添加,工作较为繁琐。


技术实现思路

1、针对现有技术的上述不足,本申请提供一种基于rasp的数据库防护方法、系统、设备及介质,以解决现有的rasp技术的数据库适配工作繁琐复杂,且缺少对达梦、金仓等数据库支持的问题。

2、第一方面,本申请提供了一种基于rasp的数据库防护方法,方法包括:基于jdbc规范中接口类的作用,通过drivermanager接口获取连接对象,通过connection接口获取数据库的执行对象,通过statement接口和preparedstatement接口获取数据库执行语句;获取需要配置的数据库对应的drivermanager接口、connection接口、statement接口和preparedstatement接口的具体实现类,进而将具体实现类更新至数据库的配置文件中;通过rasp中数据库统一的hook点,读取配置文件;通过rasp的插装技术,在drivermanager接口、connection接口、statement接口和preparedstatement接口各自对应的具体实现类中选择增强数据库安全的具体方法,进而将具体方法更新至数据库的配置文件中,基于rasp的数据库hook点调用具体方法实现具体实现类的增强。

3、进一步地,获取配置数据库对应的drivermanager接口、connection接口、statement接口和preparedstatement接口各自对应的具体实现类,具体包括:通过预设获取界面,获取具体实现类。

4、进一步地,通过rasp的插装技术,在drivermanager接口、connection接口、statement接口和preparedstatement接口各自对应的具体实现类中选择增强数据库安全的具体方法,具体包括:在drivermanager接口对应的具体实现类中,选择connect方法增强数据库安全;在connection接口对应的具体实现类中,选择preparestatement方法增强数据库安全;在statement接口和preparedstatement接口对应的具体实现类中,选择execute方法、executequery方法和executeupdate方法增强数据库安全。

5、第二方面,本申请提供了一种基于rasp的数据库防护系统,系统包括:设置模块,用于基于jdbc规范中接口类的作用,通过drivermanager接口获取连接对象,通过connection接口获取数据库的执行对象,通过statement接口和preparedstatement接口获取数据库执行语句;适配模块,用于获取需要配置的数据库对应的drivermanager接口、connection接口、statement接口和preparedstatement接口的具体实现类,进而将具体实现类更新至数据库的配置文件中;插装模块,用于通过rasp的插装技术,在drivermanager接口、connection接口、statement接口和preparedstatement接口各自对应的具体实现类中选择增强数据库安全的具体方法,进而将具体方法更新至数据库的配置文件中,基于rasp的数据库hook点调用具体方法实现具体实现类的增强。

6、进一步地,适配模块包括获取单元,用于通过预设获取界面,获取具体实现类。

7、进一步地,插装模块包括插装单元,用于在drivermanager接口对应的具体实现类中,选择connect方法增强数据库安全;在connection接口对应的具体实现类中,选择preparestatement方法增强数据库安全;在statement接口和preparedstatement接口对应的具体实现类中,选择execute方法、executequery方法和executeupdate方法增强数据库安全。

8、第三方面,本申请提供了一种基于rasp的数据库防护设备,设备包括:处理器;以及存储器,其上存储有可执行代码,当可执行代码被执行时,使得处理器执行如上述任一项的一种基于rasp的数据库防护方法。

9、第四方面,本申请提供了一种非易失性计算机存储介质,其上存储有计算机指令,计算机指令在被执行时实现如上述任一项的一种基于rasp的数据库防护方法。

10、本领域技术人员能够理解的是,本申请至少具有如下有益效果:

11、(1)本申请依据jdbc接口规范,选择drivermanager、connection、statement和preparedstatement在每个数据库中的实现类,对connect、preparestatement、execute、executequery和executeupdate五个必需的方法进行字节码增强,搭配检测逻辑实现数据库防护的通用适配思路,适用于所有依据jdbc规范的数据库。

12、(2)本申请在配置文件中添加需要插装的类全名(具体实现类),通过读取配置文件,识别数据库类型,并在这些具体实现类预先选定的方法中完成插装,实现数据库的动态适配,不需要再根据新加数据库单独编写代码,进行版本更新。



技术特征:

1.一种基于rasp的数据库防护方法,其特征在于,所述方法包括:

2.根据权利要求1所述的基于rasp的数据库防护方法,其特征在于,获取配置数据库对应的drivermanager接口、connection接口、statement接口和preparedstatement接口各自对应的具体实现类,具体包括:

3.根据权利要求1所述的基于rasp的数据库防护方法,其特征在于,通过rasp的插装技术,在drivermanager接口、connection接口、statement接口和preparedstatement接口各自对应的具体实现类中选择增强数据库安全的具体方法,具体包括:

4.一种基于rasp的数据库防护系统,其特征在于,所述系统包括:

5.根据权利要求4所述的基于rasp的数据库防护系统,其特征在于,适配模块包括获取单元,

6.根据权利要求4所述的基于rasp的数据库防护系统,其特征在于,插装模块包括插装单元,

7.一种基于rasp的数据库防护设备,其特征在于,所述设备包括:

8.一种非易失性计算机存储介质,其特征在于,其上存储有计算机指令,所述计算机指令在被执行时实现如权利要求1-3任一项所述的一种基于rasp的数据库防护方法。


技术总结
本申请公开了一种基于RASP的数据库防护方法、系统、设备及介质,主要涉及数据库防护技术领域,用以解决现有的RASP技术的数据库适配工作繁琐复杂,且缺少对达梦、金仓等数据库支持的问题。包括:获取配置数据库中接口各自对应的具体实现类,进而更新至数据库的配置文件中;通过数据库统一的Hook点,读取配置文件实现接口与具体实现类之间的适配;通过RASP的插装技术,在DriverManager接口、Connection接口、Statement接口和PreparedStatement接口各自对应的具体实现类中选择增强数据库安全的具体方法。

技术研发人员:周明达,张浩,徐增平
受保护的技术使用者:中孚安全技术有限公司
技术研发日:
技术公布日:2024/3/11
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1