CN113505371B - 数据库安全风险评估系统 - Google Patents

数据库安全风险评估系统 Download PDF

Info

Publication number
CN113505371B
CN113505371B CN202110901608.1A CN202110901608A CN113505371B CN 113505371 B CN113505371 B CN 113505371B CN 202110901608 A CN202110901608 A CN 202110901608A CN 113505371 B CN113505371 B CN 113505371B
Authority
CN
China
Prior art keywords
sql
abnormal
module
risk
database
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110901608.1A
Other languages
English (en)
Other versions
CN113505371A (zh
Inventor
陈文�
张怡霖
李麟锐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan University
Original Assignee
Sichuan University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sichuan University filed Critical Sichuan University
Priority to CN202110901608.1A priority Critical patent/CN113505371B/zh
Publication of CN113505371A publication Critical patent/CN113505371A/zh
Application granted granted Critical
Publication of CN113505371B publication Critical patent/CN113505371B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种数据库安全风险评估系统,包括:风险评估引擎、服务器端SQL异常风险评估模块、内网节点SQL异常风险评估模块、基本风险评估模块、漏洞库和历史评估记录模块,风险评估引擎用于调度服务器端SQL异常风险评估模块、内网节点SQL异常风险评估模块和基本风险评估模块,分别执行首轮的服务器端SQL异常风险评估
Figure DEST_PATH_IMAGE002
、次轮的内网节点SQL异常风险评估
Figure DEST_PATH_IMAGE004
和末轮的基本风险评估
Figure DEST_PATH_IMAGE006
,漏洞库,用于存储已知数据库漏洞,以及web服务器漏洞,历史评估记录模块,用于存储评估历史记录数据;本发明对数据库安全风险的评估更全面和客观。

Description

数据库安全风险评估系统
技术领域
本发明涉及网络空间安全技术领域,特别是一种数据库安全风险评估系统。
背景技术
数据库是当前各类网络应用系统的核心组成部分,记录着系统内的关键业务数据。然而,针对数据库的各类已知和未知攻击层出不穷,严重威胁网络数据库信息系统安全。当前,数据库通常存在的脆弱点有:数据库系统未知漏洞,或尚未修复的已知漏洞,用户和系统管理员弱口令、SQL注入攻击、服务器主机安全漏洞、内网安全威胁、不恰当的数据库配置等。这些安全脆弱点通常会带来严重的安全风险。
当前,广泛采用的数据库安全检查工具,如OScanner、Scuba、BSQL Hacker、DAS-DBAuditor等能够对各种数据库进行脆弱性分析,检测数据库中的安全漏洞和配置缺陷,构建攻击流量对数据库安全进行渗透测试,为数据库安全分析提供了帮助。
然而,现阶段的数据库安全评估工具,通常基于数据库系统当前存在的已知漏洞,SQL注入语句检查,系统配置选项分析,日志告警分析等进行指标打分、融合形成评估结果。对数据库系统的操作异常和来自内网的安全威胁缺乏分析,仅依据各项已知威胁指标进行数据库风险评估,通过给定的评分指标体系或算法对数据库安全风险给出量化评估结果。
因此传统数据库评估具有片面性,难以对网络数据库系统面临的内、外部各类安全威胁进行全面分析和风险评估,具体体现在:
1)传统的数据库安全风险评估系统依赖于已知的安全漏洞,SQL注入特征,错误配置选项等先验知识对目标数据库系统的安全风险进行评估,在先验知识缺乏的情况下,难以对数据库系统潜在的未知安全风险进行评估;
2)传统的风险评估过程仅针对待评估的目标系统当前自身存在的脆弱性漏洞,日志警报分析,口令测试结果等指标依据预定的打分标准进行打分并融合出最终的分值,忽略了来自网络数据库系统内部网络的安全威胁对当前数据库安全风险的影响,导致评估结果存在片面性;
3)传统的数据库安全风险评估模型缺乏自学习、自适应能力,采用统一、固定的检测模型对所有目标系统进行风险评估,难以根据数据库系统自身的应用环境变化情况进行动态调节。
发明内容
为解决现有技术中存在的问题,本发明的目的是提供一种数据库安全风险评估系统,本发明对数据库安全风险的评估更全面和客观。
为实现上述目的,本发明采用的技术方案是:一种数据库安全风险评估系统,包括:
风险评估引擎,用于调度服务器端SQL异常风险评估模块、内网节点SQL异常风险评估模块和基本风险评估模块,分别执行首轮的服务器端SQL异常风险评估
Figure 69323DEST_PATH_IMAGE001
、次轮的内网节点SQL异常风险评估
Figure 824789DEST_PATH_IMAGE002
和末轮的基本风险评估
Figure 886286DEST_PATH_IMAGE003
服务器端SQL异常风险评估模块,用于对本轮检测周期内,日志记录保存的数据库服务器执行的SQL命令进行异常检测,完成服务器端SQL异常风险评估
Figure 704725DEST_PATH_IMAGE001
内网节点SQL异常风险评估模块,用于对本轮检测周期内,收集到的客户端数据库SQL操作行为进行异常检测,完成内网节点SQL异常风险评估
Figure 913989DEST_PATH_IMAGE002
基本风险评估模块,利用漏洞扫描、日志分析、SQL注入检查、弱口令测试、数据库配置的标准测评结果,完成基本风险评估
Figure 207567DEST_PATH_IMAGE003
漏洞库,用于存储已知数据库漏洞,以及web服务器漏洞;
历史评估记录模块,用于存储评估历史记录数据。
作为本发明的进一步改进,所述服务器端SQL异常风险评估模块具体包括:
第一信息收集模块,用于检索数据库日志记录,收集数据库系统在本轮检测周期执行的SQL命令;
第一样本提取模块,用于分析收集到的服务器端SQL命令属性,提取命令样本;
第一机器学习模型训练模块,基于历史收集的服务器端正常SQL命令样本构成的训练集合,训练机器学习模型用于服务器端SQL命令特征识别,采用的机器学习模型包括单分类支持向量机one-class SVM、人工免疫检测器、支持向量聚类算法SVDD或隐马尔可夫模型HMM,以刻画服务器端执行的正常SQL命令特征;
第一机器学习更新模块,利用服务器端SQL异常风险评估结果为低风险的检测周期内收集的服务器端SQL命令样本,以及用户针对上一次检测的评估反馈信息,对第一机器学习模型进行更新训练;
第一异常检测模块,将检测周期内采集到的服务器端SQL命令样本输入训练好的第一机器学习模型进行分类,机器学习模型比较新收集到的样本与服务器端正常SQL命令特征之间的偏离程度,若偏离程度超过阈值,则检测结果为异常,否则检测结果为正常;
Figure 920309DEST_PATH_IMAGE001
风险评估模块,根据异常检测结果对服务器端SQL异常风险进行评估,评估方法如下:
Figure 109981DEST_PATH_IMAGE004
其中,
Figure 806542DEST_PATH_IMAGE005
为异常样本的类别数量,
Figure 903811DEST_PATH_IMAGE006
代表检测周期内服务器端匹配到第
Figure 471059DEST_PATH_IMAGE007
类SQL命令异常样本数量,
Figure 831633DEST_PATH_IMAGE008
为第一机器学习模型输出的第
Figure 15489DEST_PATH_IMAGE007
类异常样本偏离正常服务器端SQL命令特征程度的累积和。
作为本发明的进一步改进,所述内网节点SQL异常风险评估模块包括安装在内部网络的各台主机节点上的第二信息收集模块、第二样本提取模块、第二机器学习模块、第二机器学习更新模块、第二异常检测模块和
Figure 650870DEST_PATH_IMAGE002
风险评估模块,其中:
第二信息收集模块,用于在客户端通过SQL拦截器,如Mybatis插件工具,拦截客户端向数据库服务端发送的SQL命令;
第二样本提取模块,分析收集到的客户端SQL命令属性,提取命令样本;
第二机器学习模型训练模块,基于历史收集的客户端正常SQL命令样本构成的训练集合,训练机器学习模型用于客户端SQL命令特征识别,机器学习模型包括单分类支持向量机one-class SVM、人工免疫检测器、支持向量聚类算法SVDD或隐马尔可夫模型HMM,以刻画客户端执行的正常SQL命令特征;
第二机器学习更新模块,利用内网节点SQL异常风险评估结果为低风险的检测周期内收集的客户端SQL命令样本,以及用户的检测反馈信息,对第二机器学习模型进行更新训练;
第二异常检测模块,将检测周期内采集到的客户端SQL命令样本输入训练好的第二机器学习模型进行分类,第二机器学习模型比较新收集到的客户端SQL命令样本与客户端正常SQL命令特征之间的偏离程度,若偏离程度超过阈值,则检测结果为异常,否则检测结果为正常;
Figure 541466DEST_PATH_IMAGE002
风险评估模块,根据异常检测结果对SQL命令异常检测风险进行评估,评估方法如下:
Figure 135258DEST_PATH_IMAGE009
其中,
Figure 275252DEST_PATH_IMAGE010
为异常样本的类别数量,
Figure 183166DEST_PATH_IMAGE011
代表检测周期内匹配到客户端第
Figure 725005DEST_PATH_IMAGE007
类SQL命令异常样本数量,
Figure 489699DEST_PATH_IMAGE012
为第二机器学习模型输出的第
Figure 116989DEST_PATH_IMAGE007
类异常样本偏离客户端正常SQL命令特征程度的累积和。
作为本发明的进一步改进,在所述基本风险评估模块中,设漏洞风险为
Figure 297435DEST_PATH_IMAGE013
,SQL注入风险为
Figure 959361DEST_PATH_IMAGE014
,日志告警风险为
Figure 894956DEST_PATH_IMAGE015
,弱口令风险为
Figure 212804DEST_PATH_IMAGE016
,异常配置风险
Figure 820827DEST_PATH_IMAGE017
,对当前数据库系统面临的基本安全风险进行评估,所述基本风险评估模块的
Figure 602838DEST_PATH_IMAGE003
风险评估方法如下:
Figure 443755DEST_PATH_IMAGE018
其中:
Figure 248900DEST_PATH_IMAGE019
代表第
Figure 99045DEST_PATH_IMAGE007
类基本风险的重要程度;
Figure 469983DEST_PATH_IMAGE020
,其中,
Figure 685064DEST_PATH_IMAGE021
代表匹配到第
Figure 508663DEST_PATH_IMAGE007
类漏洞数量,
Figure 162498DEST_PATH_IMAGE022
为第
Figure 387943DEST_PATH_IMAGE007
类漏洞的威胁程度,m1为漏洞类别数量;
Figure 773925DEST_PATH_IMAGE023
,其中,
Figure 350400DEST_PATH_IMAGE024
代表匹配到第
Figure 542347DEST_PATH_IMAGE007
类SQL注入命令数量,
Figure 825561DEST_PATH_IMAGE025
为第
Figure 444761DEST_PATH_IMAGE007
类SQL注入威胁程度,m2为SQL注入命令类别数量;
Figure 242953DEST_PATH_IMAGE026
,其中,
Figure 973011DEST_PATH_IMAGE027
代表匹配到第
Figure 376311DEST_PATH_IMAGE007
类警报数量,
Figure 166412DEST_PATH_IMAGE028
为第
Figure 451900DEST_PATH_IMAGE007
类警报的威胁程度,m3为警报类别数量;
Figure 985650DEST_PATH_IMAGE029
,其中,若第
Figure 243456DEST_PATH_IMAGE007
个弱口令验证成功,则
Figure 941809DEST_PATH_IMAGE030
=1否则
Figure 980172DEST_PATH_IMAGE030
=0,
Figure 52033DEST_PATH_IMAGE031
为口令所属角色的重要程度从数据库管理员、系统管理员、一般用户角色重要程度依次降低,m4为弱口令数量;
Figure 164346DEST_PATH_IMAGE032
,其中,
Figure 561829DEST_PATH_IMAGE033
代表匹配到第
Figure 556330DEST_PATH_IMAGE007
类异常配置数量,
Figure 635144DEST_PATH_IMAGE034
为第
Figure 929860DEST_PATH_IMAGE007
类异常配置的威胁程度,m5为异常配置类别数量。
本发明在数据库安全风险评估过程中,1)引入机器学习模块,首先对待评测目标数据库系统的SQL命令特征进行学习,在学习期内刻画正常状态下的SQL命令模式,在后继动态风险评估过程中,对SQL命令进行异常检测,减少了对数据库安全威胁先验知识的依赖;2)对内网节点的数据库访问行为进行分析,以发现来自内网的异常数据库访问行为;3)根据服务器端SQL命令异常检测的结果、内网节点数据库访问行为异常检测结果,以及传统的数据库基本风险测评,包括漏洞扫描,日志分析,SQL注入检查、弱口令测试、数据库异常配置检查结果生成三类风险评估结果。
具体地,每次风险评估包括三轮评估过程:首轮“服务器端SQL异常风险评估
Figure 967086DEST_PATH_IMAGE001
”、次轮“内网节点SQL异常风险评估
Figure 917724DEST_PATH_IMAGE002
”、末轮“基本风险评估
Figure 331388DEST_PATH_IMAGE003
”,通过三轮风险评估过程对待评测的目标数据库安全风险进行全面、客观的评估;
此外,4)本发明将机器学习模型与风险评估结果相结合,一方面将机器学习模型对数据库异常检测结果作为风险评估模型的输入,另一方面,将风险评估为低风险周期内收集的样本结合评估结果反馈用于对机器学习模型进行动态更新,实现了机器学习模型的自适应性和自学习,模型能够随着网络环境的变化而动态更新,以保持风险评估的准确性。
本发明的有益效果是:
1、在数据库服务器端和内网用户端引入了基于机器学习的SQL命令异常检测模块,将异常检测结果融入到数据库安全风险评估结果中,异常检测模型只需要计算检测周期内的SQL命令特征与机器学习模型刻画的正常SQL命令特征的偏离程度就可以发现SQL命令异常并评估相关的异常风险,该过程无需关于数据库威胁的先验知识,使风险评估具备了对未知的数据库安全风险的评估能力;
2、每次风险评估包括三轮评估过程:首轮“服务器端SQL异常风险评估
Figure 480610DEST_PATH_IMAGE001
”、次轮“内网节点SQL异常风险评估
Figure 688737DEST_PATH_IMAGE002
”、末轮“基本风险评估
Figure 861092DEST_PATH_IMAGE003
”,由于同时考虑了基本安全风险、服务器端和内网用户端SQL命令异常风险,本发明的数据库安全风险评估较传统的风险评估方法更全面,客观;
3、本发明中的机器学习模型与风险评估结果相结合,一方面机学习模型对SQL命令异常检测结果作为风险评估模型的输入,另一方面,风险评估结果为低风险的检测周期内收集的样本结合用户的评估反馈用于对机器学习模型进行动态更新,实现了机器学习模型的自适应性和自学习,模型能够随着数据库网络环境的变更而动态更新,以保持风险评估系统的准确性,解决了传统风险评估模型缺乏自学习、自适应能力的问题。
附图说明
图1为本发明实施例的结构框图。
具体实施方式
下面结合附图对本发明的实施例进行详细说明。
实施例
如图1所示,一种数据库安全风险评估系统,包括:
风险评估引擎,调度服务器端SQL异常风险评估模块、内网节点SQL异常风险评估模块、基本风险评估模块,分别执行首轮“服务器端SQL异常风险评估
Figure 344026DEST_PATH_IMAGE036
”、次轮“内网节点SQL异常风险评估
Figure 82175DEST_PATH_IMAGE038
”、末轮“基本风险评估
Figure 930045DEST_PATH_IMAGE040
”;
服务器端SQL异常风险评估模块,对本轮检测周期内,日志记录保存的数据库服务器执行的SQL命令进行异常检测,完成服务器端SQL异常风险评估
Figure 386435DEST_PATH_IMAGE036
内网节点SQL异常风险评估模块,对本轮检测周期内,收集到的客户端数据库SQL操作行为进行异常检测,完成内网节点SQL异常风险评估
Figure 407480DEST_PATH_IMAGE038
基本风险评估模块,利用传统的漏洞扫描,日志分析,SQL注入检查、弱口令测试、数据库配置等标准测评结果,完成基本风险评估
Figure 265715DEST_PATH_IMAGE040
漏洞库,用来存储已知数据库漏洞,以及web服务器漏洞,漏洞信息来源可通过漏洞挖掘,以及第三方公开库筛选进行建立,可用的第三方来源包括:CVE、CNNVD、CNVD、NVD、CERT、BSRC、TSRC等;
历史评估记录,用来存储评估历史记录数据;
所述的服务器端SQL异常风险评估模块安装在数据库服务器上,包括:第一信息收集模块、第一样本提取模块、第一机器学习模型训练模块、第一机器学习更新模块、第一异常检测模块和
Figure 284486DEST_PATH_IMAGE036
风险评估模块。
第一信息收集模块,检索数据库日志记录,收集数据库系统在本轮检测周期执行的SQL命令;
第一样本提取模块,如表1所示对SQL命令进行属性分析,提取命令样本,其中,S表示数据库中已创建的表格或查询视图的总数,t表示数据库中存储过程的总数。通过属性分析得到每条SQL命令对应的多维属性值,由属性值组合生成该SQL命令对应的样本。在训练阶段收集到的样本集合
Figure 228172DEST_PATH_IMAGE042
用于对第一机器学习模型进行初始训练,该阶段假定数据库系统处于正常状态,所收集的样本均为正常的SQL命令样本。
表1 SQL命令属性分析
Figure 790259DEST_PATH_IMAGE044
Figure 706262DEST_PATH_IMAGE046
第一机器学习模型训练模块,该模块首先基于历史收集的正常样本构成的训练集合
Figure 692673DEST_PATH_IMAGE042
,训练机器学习模型用于服务器端SQL命令特征识别,可采用的机器学习模型有单分类支持向量机one-class SVM,人工免疫检测器,支持向量聚类算法SVDD、隐马尔可夫模型HMM等,以刻画服务器端执行的正常SQL命令特征。
第一机器学习更新模块,利用服务器端SQL异常风险评估结果为低风险的检测周期内收集的服务器端SQL命令样本,以及用户针对上一次检测的评估反馈信息,对第一机器学习模型进行更新训练。
第一异常检测模块,将检测周期内采集到的服务器端SQL命令样本输入训练好的第一机器学习模型进行分类,第一机器学习模型比较新收集到的样本与服务器端正常SQL命令特征之间的偏离程度,若偏离程度超过阈值,则异常检测结果为‘异常’,否则异常结果为‘正常’。
Figure 389233DEST_PATH_IMAGE036
风险评估模块,根据异常检测结果对服务器端SQL异常风险进行评估,评估方法如下:
Figure 689764DEST_PATH_IMAGE048
其中,
Figure 257012DEST_PATH_IMAGE050
为异常样本的类别数量,
Figure 679903DEST_PATH_IMAGE052
代表检测周期内服务器端匹配到第
Figure 535864DEST_PATH_IMAGE054
类SQL命令异常样本数量,
Figure 436824DEST_PATH_IMAGE056
为第一机器学习模型输出的第
Figure 124157DEST_PATH_IMAGE054
类异常样本偏离正常服务器端SQL命令特征程度的累积和。在具体实施方式中,可以进一步对
Figure 717949DEST_PATH_IMAGE058
的取值范围进行高、中或低风险的阈值划分,以标识当前服务器端SQL异常风险等级。
所述的内网节点SQL异常风险评估模块包括:第二信息收集模块、第二样本提取模块、第二机器学习模型训练模块、第二机器学习模型更新模块、第二异常检测模块和
Figure 857944DEST_PATH_IMAGE038
风险评估模块,上述模块安装在内部网络的各台主机节点上,对本轮检测周期内,收集到的内网客户端数据库操作行为进行异常检测,生成异常检测结果。
第二信息收集模块在客户端通过SQL拦截器,如Mybatis插件工具,拦截客户端向数据库服务端发送的SQL命令。
第二样本提取模块,如表1所示对客户端SQL命令进行属性分析,提取命令样本,其中,S表示数据库中已创建的表格或查询视图的总数,t表示数据库中存储过程的总数取SQL命令多维特征向量;通过属性分析得到每条客户端SQL命令对应的多维属性值,由属性值组合生成该SQL命令对应的样本。在训练阶段收集到的客户端SQL样本集合
Figure 500278DEST_PATH_IMAGE060
用于对第二机器学习模型进行初始训练,该阶段假定客户端工作正常,所收集的样本均为客户端正常的SQL命令样本。
第二机器学习模型训练模块,首先基于历史收集的正常样本构成的训练集合
Figure 307697DEST_PATH_IMAGE060
,训练基于机器学习的客户端SQL命令特征识别模型,可采用的机器学习算法有单分类支持向量机one-class SVM,人工免疫检测器,支持向量聚类算法SVDD、隐马尔可夫模型HMM等,以刻画客户端执行的正常SQL命令特征。
第二机器学习更新模块,利用内网节点SQL异常风险评估结果为低风险的检测周期内收集的客户端SQL命令样本,以及用户的检测反馈信息,对第二机器学习模型进行更新训练。
第二异常检测模块,将检测周期内采集到的内网客户端SQL命令样本输入训练好的第二机器学习模型进行分类,模型比较新收集到的客户端SQL命令样本与客户端正常SQL命令特征之间的偏离程度,若偏离程度超过阈值,则异常检测结果为‘异常’,否则异常结果为‘正常’。
Figure 806811DEST_PATH_IMAGE038
风险评估模块,根据异常检测结果对SQL命令异常检测风险进行评估,评估方法如下:
Figure 637364DEST_PATH_IMAGE062
其中,
Figure 880126DEST_PATH_IMAGE064
为异常样本的类别数量,
Figure 807631DEST_PATH_IMAGE066
代表检测周期内匹配到客户端第
Figure 477647DEST_PATH_IMAGE054
类SQL命令异常样本数量,
Figure 529916DEST_PATH_IMAGE068
为第二机器学习模型输出的第
Figure 576370DEST_PATH_IMAGE054
类异常样本偏离客户端正常SQL命令特征程度的累积和。在具体实施方式中,可以进一步对
Figure DEST_PATH_IMAGE070
的取值范围进行高、中或低风险的阈值划分,以标识当前内网节点SQL异常风险等级。
所述的基本风险评估模块,利用传统的漏洞扫描、SQL注入检查、日志分析、弱口令测试、数据库配置等标准测评结果融合生成基本风险评估结果,包括:①漏洞风险
Figure DEST_PATH_IMAGE072
,②SQL注入风险
Figure DEST_PATH_IMAGE074
,③日志告警风险
Figure DEST_PATH_IMAGE076
,④弱口令风险
Figure DEST_PATH_IMAGE078
,以及⑤异常配置风险
Figure DEST_PATH_IMAGE080
,对当前数据库系统面临的基本安全风险进行评估,
Figure 220365DEST_PATH_IMAGE040
风险评估模块采用的评估方法如下:
Figure DEST_PATH_IMAGE082
其中:
Figure DEST_PATH_IMAGE084
代表第
Figure 592441DEST_PATH_IMAGE054
类基本风险的重要程度;
Figure DEST_PATH_IMAGE086
,其中,
Figure DEST_PATH_IMAGE088
代表匹配到第
Figure 459903DEST_PATH_IMAGE054
类漏洞数量,
Figure DEST_PATH_IMAGE090
为第
Figure 841205DEST_PATH_IMAGE054
类漏洞的威胁程度,m1为漏洞类别数量;
Figure DEST_PATH_IMAGE092
,其中,
Figure DEST_PATH_IMAGE094
代表匹配到第
Figure 743302DEST_PATH_IMAGE054
类SQL注入命令数量,
Figure DEST_PATH_IMAGE096
为第
Figure 489541DEST_PATH_IMAGE054
类SQL注入威胁程度,m2为SQL注入命令类别数量;
Figure DEST_PATH_IMAGE098
,其中,
Figure DEST_PATH_IMAGE100
代表匹配到第
Figure 109879DEST_PATH_IMAGE054
类警报数量,
Figure DEST_PATH_IMAGE102
为第
Figure 20504DEST_PATH_IMAGE054
类警报的威胁程度,m3为警报类别数量;
Figure DEST_PATH_IMAGE104
,其中,若第
Figure 245949DEST_PATH_IMAGE054
个弱口令验证成功,则
Figure DEST_PATH_IMAGE106
=1否则
Figure 225406DEST_PATH_IMAGE106
=0,
Figure DEST_PATH_IMAGE108
为口令所属角色的重要程度从数据库管理员、系统管理员、一般用户角色重要程度依次降低,m4为弱口令数量;
Figure DEST_PATH_IMAGE110
,其中,
Figure DEST_PATH_IMAGE112
代表匹配到第
Figure 333040DEST_PATH_IMAGE054
类异常配置数量,
Figure DEST_PATH_IMAGE114
为第
Figure 56145DEST_PATH_IMAGE054
类异常配置的威胁程度,m5为异常配置类别数量。
在具体实施例中,可以进一步对
Figure DEST_PATH_IMAGE116
的取值范围进行高、中或低风险的阈值划分,以标识当前基本风险等级。
以上所述实施例仅表达了本发明的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

Claims (6)

1.一种数据库安全风险评估系统,其特征在于,包括:
风险评估引擎,用于调度服务器端SQL异常风险评估模块、内网节点SQL异常风险评估模块和基本风险评估模块,分别执行首轮的服务器端SQL异常风险评估L1、次轮的内网节点SQL异常风险评估L2和末轮的基本风险评估L3
服务器端SQL异常风险评估模块,用于对本轮检测周期内,日志记录保存的数据库服务器执行的SQL命令进行异常检测,完成服务器端SQL异常风险评估L1
内网节点SQL异常风险评估模块,用于对本轮检测周期内,收集到的客户端数据库SQL操作行为进行异常检测,完成内网节点SQL异常风险评估L2
基本风险评估模块,利用漏洞扫描、日志分析、SQL注入检查、弱口令测试、数据库配置的标准测评结果,完成基本风险评估L3
漏洞库,用于存储已知数据库漏洞,以及web服务器漏洞;
历史评估记录模块,用于存储评估历史记录数据;
所述服务器端SQL异常风险评估模块具体包括:
第一信息收集模块,用于检索数据库日志记录,收集数据库系统在本轮检测周期执行的SQL命令;
第一样本提取模块,用于分析收集到的服务器端SQL命令属性,提取命令样本;
第一机器学习模型训练模块,基于历史收集的服务器端正常SQL命令样本构成的训练集合,训练机器学习模型用于服务器端SQL命令特征识别,以刻画服务器端执行的正常SQL命令特征;
第一机器学习更新模块,利用服务器端SQL异常风险评估结果为低风险的检测周期内收集的服务器端SQL命令样本,以及用户针对上一次检测的评估反馈信息,对第一机器学习模型进行更新训练;
第一异常检测模块,将检测周期内采集到的服务器端SQL命令样本输入训练好的第一机器学习模型进行分类,第一机器学习模型比较新收集到的样本与服务器端正常SQL命令特征之间的偏离程度,若偏离程度超过阈值,则检测结果为异常,否则检测结果为正常;
L1风险评估模块,根据异常检测结果对服务器端SQL异常风险进行评估,评估方法如下:
Figure FDA0003413264740000021
其中,m为异常样本的类别数量,θi代表检测周期内服务器端匹配到第i类SQL命令异常样本数量,xi为第一机器学习模型输出的第i类异常样本偏离正常服务器端SQL命令特征程度的累积和。
2.根据权利要求1所述的数据库安全风险评估系统,其特征在于,所述机器学习模型包括单分类支持向量机one-class SVM、人工免疫检测器、支持向量聚类算法SVDD或隐马尔可夫模型HMM。
3.根据权利要求1所述的数据库安全风险评估系统,其特征在于,所述内网节点SQL异常风险评估模块包括安装在内部网络的各台主机节点上的第二信息收集模块、第二样本提取模块、第二机器学习模块、第二机器学习更新模块、第二异常检测模块和L2风险评估模块,其中:
第二信息收集模块,用于在客户端通过SQL拦截器,拦截客户端向数据库服务端发送的SQL命令;
第二样本提取模块,分析收集到的客户端SQL命令属性,提取命令样本;
第二机器学习模型训练模块,基于历史收集的客户端正常SQL命令样本构成的训练集合,训练机器学习模型用于客户端SQL命令特征识别,以刻画客户端执行的正常SQL命令特征;
第二机器学习更新模块,利用内网节点SQL异常风险评估结果为低风险的检测周期内收集的客户端SQL命令样本,以及用户的检测反馈信息,对第二机器学习模型进行更新训练;
第二异常检测模块,将检测周期内采集到的客户端SQL命令样本输入训练好的第二机器学习模型进行分类,第二机器学习模型比较新收集到的客户端SQL命令样本与客户端正常SQL命令特征之间的偏离程度,若偏离程度超过阈值,则检测结果为异常,否则检测结果为正常;
L2风险评估模块,根据异常检测结果对SQL命令异常检测风险进行评估,评估方法如下:
Figure FDA0003413264740000031
其中,n为异常样本的类别数量,σi代表检测周期内匹配到客户端第i类SQL命令异常样本数量,yi为第二机器学习模型输出的第i类异常样本偏离客户端正常SQL命令特征程度的累积和。
4.根据权利要求3所述的数据库安全风险评估系统,其特征在于,所述SQL拦截器为Mybatis插件工具。
5.根据权利要求3所述的数据库安全风险评估系统,其特征在于,所述机器学习模型包括单分类支持向量机one-class SVM、人工免疫检测器、支持向量聚类算法SVDD或隐马尔可夫模型HMM。
6.根据权利要求1所述的数据库安全风险评估系统,其特征在于,在所述基本风险评估模块中,设漏洞风险为δ1,SQL注入风险为δ2,日志告警风险为δ3,弱口令风险为δ4,异常配置风险δ5,对当前数据库系统面临的基本安全风险进行评估,所述基本风险评估模块的L3风险评估方法如下:
Figure FDA0003413264740000041
其中:ωi代表第i类基本风险的重要程度;
Figure FDA0003413264740000042
其中,γi代表匹配到第i类漏洞数量,αi为第i类漏洞的威胁程度,m1为漏洞类别数量;
Figure FDA0003413264740000043
其中,μi代表匹配到第i类SQL注入命令数量,βi为第i类SQL注入威胁程度,m2为SQL注入命令类别数量;
Figure FDA0003413264740000044
其中,ρi代表匹配到第i类警报数量,εi为第i类警报的威胁程度,m3为警报类别数量;
Figure FDA0003413264740000045
其中,若第i个弱口令验证成功,则τi=1否则τi=0,
Figure FDA0003413264740000046
为口令所属角色的重要程度从数据库管理员、系统管理员、一般用户角色重要程度依次降低,m4为弱口令数量;
Figure FDA0003413264740000047
其中,ζi代表匹配到第i类异常配置数量,λi为第i类异常配置的威胁程度,m5为异常配置类别数量。
CN202110901608.1A 2021-08-06 2021-08-06 数据库安全风险评估系统 Active CN113505371B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110901608.1A CN113505371B (zh) 2021-08-06 2021-08-06 数据库安全风险评估系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110901608.1A CN113505371B (zh) 2021-08-06 2021-08-06 数据库安全风险评估系统

Publications (2)

Publication Number Publication Date
CN113505371A CN113505371A (zh) 2021-10-15
CN113505371B true CN113505371B (zh) 2022-03-15

Family

ID=78015148

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110901608.1A Active CN113505371B (zh) 2021-08-06 2021-08-06 数据库安全风险评估系统

Country Status (1)

Country Link
CN (1) CN113505371B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114640499A (zh) * 2022-02-11 2022-06-17 深圳昂楷科技有限公司 一种对用户行为进行异常识别的方法及其装置
CN114866358B (zh) * 2022-07-07 2022-09-09 中国人民解放军国防科技大学 一种基于知识图谱的自动化渗透测试方法及系统
CN115514562B (zh) * 2022-09-22 2023-03-28 国网山东省电力公司 一种用于数据安全预警方法及系统
CN116702146B (zh) * 2023-08-07 2024-03-22 天翼安全科技有限公司 一种Web服务器的注入漏洞扫描方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102413127A (zh) * 2011-11-09 2012-04-11 中国电力科学研究院 一种数据库综合安全防护方法
CN102915376A (zh) * 2012-11-13 2013-02-06 北京神州绿盟信息安全科技股份有限公司 检测数据库异常行为的方法和设备
CN103473381A (zh) * 2013-10-13 2013-12-25 陈志德 数据库安全评估方法
CN104484474A (zh) * 2014-12-31 2015-04-01 南京盾垒网络科技有限公司 数据库安全审计方法
CN109977689A (zh) * 2017-12-28 2019-07-05 中国移动通信集团广东有限公司 一种数据库安全审计方法、装置及电子设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110219035A1 (en) * 2000-09-25 2011-09-08 Yevgeny Korsunsky Database security via data flow processing
US10938849B2 (en) * 2017-11-01 2021-03-02 Dell Products L.P. Auditing databases for security vulnerabilities

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102413127A (zh) * 2011-11-09 2012-04-11 中国电力科学研究院 一种数据库综合安全防护方法
CN102915376A (zh) * 2012-11-13 2013-02-06 北京神州绿盟信息安全科技股份有限公司 检测数据库异常行为的方法和设备
CN103473381A (zh) * 2013-10-13 2013-12-25 陈志德 数据库安全评估方法
CN104484474A (zh) * 2014-12-31 2015-04-01 南京盾垒网络科技有限公司 数据库安全审计方法
CN109977689A (zh) * 2017-12-28 2019-07-05 中国移动通信集团广东有限公司 一种数据库安全审计方法、装置及电子设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
数据库安全分析及防范机制研究;郭晓栋等;《保密科学技术》;20180220(第02期);第16-19页,图1 *
数据库安全审计系统的设计与实现;王欣等;《工业仪表与自动化装置》;20160215(第01期);全文 *

Also Published As

Publication number Publication date
CN113505371A (zh) 2021-10-15

Similar Documents

Publication Publication Date Title
CN113505371B (zh) 数据库安全风险评估系统
Hosseini et al. Anomaly process detection using negative selection algorithm and classification techniques
CN112910859B (zh) 基于c5.0决策树和时序分析的物联网设备监测预警方法
US11533373B2 (en) Global iterative clustering algorithm to model entities' behaviors and detect anomalies
CN111177714A (zh) 异常行为检测方法、装置、计算机设备和存储介质
CN109547423A (zh) 一种基于机器学习的web恶意请求深度检测系统及方法
CN108268886B (zh) 用于识别外挂操作的方法及系统
CN111047173B (zh) 基于改进d-s证据理论的社团可信度评估方法
CN117195250A (zh) 一种数据安全管理方法及系统
Rao et al. Zero-shot learning approach to adaptive Cybersecurity using Explainable AI
Settanni et al. Correlating cyber incident information to establish situational awareness in critical infrastructures
CN117992953A (zh) 基于操作行为跟踪的异常用户行为识别方法
Ahmed et al. Cyber attack detection method based on nlp and ensemble learning approach
KR102357630B1 (ko) 제어시스템 보안이벤트의 공격전략 분류 장치 및 방법
CN111507878B (zh) 一种基于用户画像的网络犯罪嫌疑人侦查方法及系统
CN111970272A (zh) 一种apt攻击操作识别方法
Nalavade et al. Finding frequent itemsets using apriori algorithm to detect intrusions in large dataset
Bao et al. Network intrusion detection based on support vector machine
Zhu et al. Business process mining based insider threat detection system
CN113722230B (zh) 针对模糊测试工具漏洞挖掘能力的集成化评估方法及装置
CN109918638A (zh) 一种网络数据监测方法
Strasburg et al. Masquerade detection in network environments
Sirisang et al. Analyzing SQL injection statements using common substructure of parse tree
Zhang et al. Attack graph-based quantitative assessment for industrial control system security
Zhang et al. The Flaw Within: Identifying CVSS Score Discrepancies in the NVD

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant