一种数据库审计方法、装置、电子设备及可读存储介质制造方法及图纸

技术编号:35563099 阅读:15 留言:0更新日期:2022-11-12 15:46
本申请提供了一种数据库审计方法、装置、电子设备及可读存储介质,所述方法包括:基于进行了当前环境的数据库操作的SQL语句构建训练样本,训练用于对待审计SQL语句进行检测的检测模型,所述检测模型至少包括基于监督学习的SQL注入检测模型;响应于接收到的用于操作该数据库的所述待审计SQL语句,通过所述检测模型检测所述待审计SQL语句。这样,通过数据库本身关联的SQL语句来构建训练样本,一方面可以使得监督模型的训练无需依赖离线样本数据,另一方面,SQL语句中包含了数据库本身的环境信息,可以训练出与数据库最为契合的监督模型,大大增加了训练效果的上限。大大增加了训练效果的上限。大大增加了训练效果的上限。

【技术实现步骤摘要】
一种数据库审计方法、装置、电子设备及可读存储介质


[0001]本申请涉及计算机
,具体而言,涉及一种数据库审计方法、装置、电子设备及可读存储介质。

技术介绍

[0002]随着信息化快速发展,信息安全、数据安全的问题越来越得到重视。用户从终端开始到访问网络,到web服务和应用,到最终的数据库,各环节都有相应的安全保护设备,而数据库审计是离数据库最近的防护能力,可以对SQL注入式攻击或者入侵式非法访问行为进行审计防护。
[0003]但是数据库审计方式中,使用监督模型虽然检出质量高但高度依赖离线样本数据的数量和质量,人工离线构造代价大还会损失环境信息;使用无监督模型又会带来大量低危告警。

技术实现思路

[0004]本申请解决的问题是现有数据库审计中监督模型的离线样本构造代价大,无监督模型检测效果差。
[0005]为解决上述问题,本申请第一方面提供了一种数据库审计方法,包括:
[0006]基于进行了当前环境的数据库操作的SQL语句构建训练样本,训练用于对待审计SQL语句进行检测的检测模型,所述检测模型至少包括基于监督学习的SQL注入检测模型;
[0007]响应于接收到的用于操作该数据库的所述待审计SQL语句,通过所述检测模型检测所述待审计SQL语句。
[0008]本申请第二方面提供了一种数据库审计装置,其包括:
[0009]模型训练模块,其用于基于进行了当前环境的数据库操作的SQL语句构建训练样本,训练用于对待审计SQL语句进行检测的检测模型,所述检测模型至少包括基于监督学习的SQL注入检测模型;
[0010]语句检测模块,其用于响应于接收到的用于操作该数据库的所述待审计SQL语句,通过所述检测模型检测所述待审计SQL语句。
[0011]本申请第三方面提供了一种电子设备,其包括:存储器和处理器;
[0012]所述存储器,其用于存储程序;
[0013]所述处理器,耦合至所述存储器,用于执行所述程序,以用于:
[0014]基于进行了当前环境的数据库操作的SQL语句构建训练样本,训练用于对待审计SQL语句进行检测的检测模型,所述检测模型至少包括基于监督学习的SQL注入检测模型;
[0015]响应于接收到的用于操作该数据库的所述待审计SQL语句,通过所述检测模型检测所述待审计SQL语句。
[0016]本申请第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行实现上述所述的数据库审计方法。
[0017]这样,通过数据库本身关联的SQL语句来构建训练样本,一方面可以使得监督模型的训练无需依赖离线样本数据,另一方面,SQL语句中包含了数据库本身的环境信息,可以训练出与数据库最为契合的监督模型,大大增加了训练效果的上限。
[0018]本申请中,通过构建分层治理使系统具备自主对抗能力减弱系统被攻击绕过风险。具体来说将数据划分了三个层次:灰数据、异常数据、黑数据。使用不同模型包括基线模型、监督模型、无监督参数框架模型、异常检测模型在不同层上做检测,多维度捕获异常。
[0019]本申请中,通过构建告警评估及规则生成模块自动化生成规则补充人工规则,沉淀智能模型安全能力,形成反馈闭环。
附图说明
[0020]图1为根据本申请一个实施例的数据库审计方法的流程图;
[0021]图2为根据本申请一个实施例的数据库审计方法S200的流程图;
[0022]图3为根据本申请一个实施例的数据库审计方法S100的流程图;
[0023]图4为根据本申请另一个实施例的数据库审计方法S100的流程图;
[0024]图5为根据本申请一个实施例的数据库审计方法S203的流程图;
[0025]图6为根据本申请的示例数据库审计系统的架构图;
[0026]图7为根据本申请一个实施例的数据库审计装置的结构框图;
[0027]图8为根据本申请实施例的电子设备的结构框图。
具体实施方式
[0028]为使本申请的上述目的、特征和优点能够更为明显易懂,下面结合附图对本申请的具体实施例做详细的说明。虽然附图中显示了本申请的示例性实施方式,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
[0029]需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本申请所属领域技术人员所理解的通常意义。
[0030]随着信息化快速发展,有关用户个人信息安全、数据安全的问题越来越得到重视。攻击者使用各种攻击手段,目标是从数据库中窃取敏感数据信息。用户从终端开始到访问网络,到web服务和应用,到最终的数据库,各环节都有相应的安全保护设备,而数据库审计是离数据库最近的防护能力可以对SQL注入式攻击或者入侵式非法访问行为进行审计防护。
[0031]传统数据库审计方式基于规则策略进行匹配式检测,这种检测方式覆盖面广,但是较为死板,无法应对复杂攻击。
[0032]使用机器学习模型虽然可以实现智能检测,来应对复杂攻击。其中的监督模型的特点是检出质量高,但是高度依赖离线样本数据的数量和质量,例如数据库侧SQL注入样本需要完整SQL语句,想要完成高质量离线样本的构造,代价巨大;且离线构造还会损失SQL语句中的环境信息,降低监督模型的训练效果的上限。其中的无监督模型虽然不依赖离线样本,但是检出质量较低,会带来大量低危告警。
[0033]上述问题限制了机器模型在数据库审计方向有效的落地。
[0034]针对上述问题,本申请提供一种新的数据库审计方案,能够通过当前数据库的SQL语句构造样本对检测模型进行训练,从而消除了监督模型对离线样本的高度依赖。
[0035]为了便于理解,在此对下述可能使用的术语进行解释:
[0036]SQLi:(Structured Query Language Injection,SQL注入),即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。
[0037]Payload:有效载荷。
[0038]LCS:(Longest Common Subsequence,最长公共子序列),是一个在一个序列集合中(通常为两个序列)用来查找所有序列中最长子序列的问题。一个数列,如果分别是两个或多个已知数列的子序列,且是所有符合此条件序列中最长的,则称为已知序列的最长公共子序列。
[0039]SQLMAP:是一款开源的流行的渗透测试工具,进行自动化的检测过程和利用一些SQL注入缺陷来接管数据库服务。
[0040]本申请实施例提供了一种数据库审计方法,该方法可以由数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库审计方法,其特征在于,包括:基于进行了当前环境的数据库操作的SQL语句构建训练样本,训练用于对待审计SQL语句进行检测的检测模型,所述检测模型至少包括基于监督学习的SQL注入检测模型;响应于接收到的用于操作该数据库的所述待审计SQL语句,通过所述检测模型检测所述待审计SQL语句。2.根据权利要求1所述的方法,其特征在于,所述检测模型还包括SQL基线检测模型,所述通过所述检测模型检测所述待审计SQL语句,包括:通过所述SQL基线检测模型检测所述待审计SQL语句,将检测通过的所述待审计SQL语句确定为安全SQL语句;基于所述SQL注入检测模型检测筛除所述安全SQL语句后的所述待审计SQL语句,将检测未通过的所述待审计SQL语句确定为攻击SQL语句。3.根据权利要求2所述的方法,其特征在于,所述检测模型还包括用于抽取并检测SQL语句中的输出参数的框架参数模型,所述通过所述检测模型检测所述待审计SQL语句,还包括:基于所述框架参数模型检测筛除所述安全SQL语句后的所述待审计SQL语句,将检测未通过的所述待审计SQL语句确定为攻击SQL语句。4.根据权利要求1所述的方法,其特征在于,所述SQL注入检测模型的训练样本包括攻击样本和安全样本;通过如下步骤构建用于训练所述SQL注入检测模型的训练样本:对进行了该数据库操作的所述SQL语句进行解析,并转化为预设格式的SQL模板;基于获取的攻击载荷和所述SQL模板构造所述攻击样本,将所述SQL语句中的安全SQL语句作为所述安全样本。5.根据权利要求4所述的方法,其特征在于,所述SQL模板的输出参数上具有标注,所述基于攻击载荷和所述SQL模板构造所述攻击样本中,通过将所述模板的输出参数替换为所述攻击载荷的方式构造所述攻击样本。6.根据权利要求4所述的方法,其特征在于,所述攻击载荷的获取步骤为:获取所述SQL语句中的攻击SQL语句,将所述攻击SQL语句的输出参数作为所述攻击载荷。7.根据权利要求1所述的方法,其特征在于,通过如下步骤训练所述SQL基线检测模型:对进行了该数据库操作的所述SQL语句进行解析,并拆解所述SQL语句的结构特征、行为特征和环境特征;统计分析所述结构特征、所述行为特征和所...

【专利技术属性】
技术研发人员:孟雷
申请(专利权)人:阿里云计算有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1