CN112749410B - 一种数据库安全保护方法及装置 - Google Patents
一种数据库安全保护方法及装置 Download PDFInfo
- Publication number
- CN112749410B CN112749410B CN202110023167.XA CN202110023167A CN112749410B CN 112749410 B CN112749410 B CN 112749410B CN 202110023167 A CN202110023167 A CN 202110023167A CN 112749410 B CN112749410 B CN 112749410B
- Authority
- CN
- China
- Prior art keywords
- access
- database
- flow
- user
- time
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/147—Network analysis or design for predicting network behaviour
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种数据库安全保护方法及装置,属于数据库安全技术领域。本发明提供了一种数据库安全保护方法,通过记录和收集一段时间内数据库数据访问量数据,包括访问IP、访问时间、访问数据库条数、访问语句等数据,通过机器学习算法建立流量时序预测模型。在后续的业务中通过检测数据库访问量与时序预测模型比对,如果比对结果异常,则触发数据库数据保护机制,包括关闭数据库、伪造访问端口等方式,通过这种方式来保护数据库的数据安全。
Description
技术领域
本发明涉及数据库安全技术领域,尤其涉及一种数据库安全保护方法及装置。
背景技术
数据库可以说是互联网公司的核心,几乎所有的业务流程都离不开数据库的支撑。数据库的数据安全更是核心中的关键。当前的数据库安全防护技术基本包括数据库加密、数据库防火墙、数据脱敏等层面技术。而目前对数据库数据安全威胁比较多的常常发生在内部数据泄露,以及通过服务器为跳板,窃取数据库数据。这些威胁手段常常使传统解决方案失去控制能力。
因此,在网络高度发达、大数据高速发展的今天,对于数据库的保护尤为重要,技术人员对数据库的保护也进行了各种方案的探索。
中国专利申请文献CN102480385A中,公开了一种数据库安全保护方法,包括:制定模型生成策略;对数据库访问操作进行统计;根据统计结果生成正常行为模型;根据正常行为模型,检测数据库操作是否存在异常。接收报文,提取报文中标识数据库操作的结构化查询语言语句,从结构化查询语言语句中提取数据库访问操作。对数据库访问操作进行统计具体为:对与策略参数相匹配的数据库访问操作进行分类统计,得到统计结果,分类统计具体为按照操作类型统计一观测周期内各类操作的操作次数。根据统计结果生成正常行为模型包括:在每个模型生成周期,根据统计结果,分别计算前一采样周期内各观测周期全部操作的操作次数;分别计算各观测周期内各类操作的操作次数占全部操作的操作次数的比例;根据全部操作的操作次数和各类操作的操作次数占全部操作的操作次数的比例,按照模型生成策略,生成正常行为模型,将当前所在观测周期内对一类操作的操作次数占该观测周期内全部操作次数的比例与前一模型生成周期内的该比例的均值之差,与该类操作的操作次数占全部操作次数的比例的方差值进行比较,根据比较结果,判断是否存在数据库操作异常。该方案有很多的局限性。因为其实基于操作模型去判断的,而不是基于流量。这样就有可能存在发生了发生了大批量数据下载,而可能这次还是一次正常的访问行为。在这种情况下是判断不出来异常。
现有技术至少存在以下不足:
1.现有的技术中,很多程度上都是比较看重数据库物理层面上的保护,没有做到对数据层的保护。而对于数据的保护往往是基于操作行为判断,这就很容易导致并不能从根本上去限制恶意下载、数据泄露等行为的发生。
发明内容
为解决现有技术中存在的技术问题,本发明提供了一种流量分析算法的数据库数据安全保护方法,通过记录和收集一段时间内数据库数据访问量数据,包括访问IP,访问日期,访问数据库条数,访问语句等数据,通过机器学习算法建立流量访问分析模型。在后续的业务中通过检测数据库访问量与时序预测模型比对,如果比对结果异常,则触发数据库数据保护机制,包括关闭数据库、伪造访问端口等方式,通过这种方式来保护数据库的数据安全。
时间序列预测算法是一种回归预测算法,属于定量预测。在假定事物发展的延续性下,经常通过对过去的时间序列数据进行统计分析,同时消除干扰随机波动数据,并以此建立数据与时间的关系模型。通过这套建立的时间关系模型进行趋势预测。
设计一种基于流量分析算法的数据库数据安全保护方法,能够通过建立访问量的时序预测模型,在内部与外部攻击行为到来的时候,对数据库数据进行安全保护。
本发明提供了一种数据库安全保护方法,包括以下步骤:
在数据库中创建访问记录表,用于记录用户访问流量相关信息,根据访问记录表记录的信息可以得到连接时间connect_time和访问操作connect_option;
开启流量监控工具,运行数据库;
记录数据库日志和访问记录表;
读取数据库日志和访问记录表的信息,进行数据分析,获得各用户各访问访问时间点对应的流量;
根据各用户访问时间点与流量的对应关系,建立各用户的流量时序预测模型;
构建多个不同级别的数据库避险措施,用于在监测到非正常访问后的数据库保护;
运行各用户的所述流量时序预测模型,开启流量监控工具监测访问流量;
将监测到的预设时间段内的访问流量数据值与该流量对应用户的时序预测模型的预测值进行比对,判断访问流量是否正常:
如果异常,则触发数据库避险措施;
如果正常,则将监控到的预设时间段及对应的访问流量数据值输入时序预测模型,对时序预测模型进行优化,并继续监测。
优选地,所述在数据库中创建访问记录表包括以下步骤:
在数据库中创建访问记录表;
在数据库中进行设置,开启访问记录表的记录;
在数据库中进行设置,开启数据库日志记录,所述数据库日志记录的信息包括:访问时间、连接id和访问操作。
优选地,所述访问记录表记录的信息包括:连接id connect_id、连接时间connect_time、访问者IP地址和访问者名字connect_name。
优选地,所述数据分析包括如下步骤:
根据访问记录表中各用户的连接id查询数据库日志,如果该连接id的操作为取数据库数据,则获取该连接id的连接时间connect_time;
根据获取的各用户的连接时间和访问者IP地址,从流量监控工具获取该连接时间对应的访问流量值,并进行记录;
得到各用户在不同访问时间点T和各访问时间点T对应的访问流量H的{T,H}数据点集合。
优选地,所述流量时序预测模型的建立包括:
根据数据分析得到的各用户的{T,H}数据点集合,选取k阶曲线对各用户流量与访问时间的关系进行拟合,拟合公式如下:
其中i为拟合曲线阶数,取0,1...k;
Tm为用户m的访问时间;
Hm为用户m的流量;
am,i为用户m的拟合公式中第i项的系数;
使用最小二乘拟合,得到各用户拟合公式中各阶表达式的系数,得到各用户不同访问时间点T和访问时间点T对应的访问流量H的k阶拟合时序预测模型。
优选地,将监测到的预设时间段内的访问流量数据值与该流量对应用户的时序预测模型的预测值进行比对,判断访问流量是否正常,包括:
在预设时间段ΔT内,记录访问流量HΔT;
时序预测模型计算得到预设时间段ΔT内的预测访问流量H'ΔT;
比较访问量HΔT和H'ΔT,如果相对差值在给定的预设阈值Hε内,即满足|HΔT-H'ΔT|<Hε,则说明访问流量正常,如果不满足,则说明访问流量异常。
优选地,所述预设阈值为多个不同值,访问流量相对差值|HΔT-H'ΔT|在不同的预设阈值范围内,对应采取不用的数据库避险措施。
优选地,所述数据库避险措施包括:关闭数据库、伪造端口、数据失真保护、访问限制和数据自动备份。
本发明提供了一种数据库安全保护装置,包括:
数据库操作模块、数据分析模块、时序预测模块和数据库保护模块;
所述数据库操作模块执行如下操作:
在数据库中创建访问记录表,用于记录用户访问流量相关信息;
开启访问记录表的记录和数据库日志的记录;
在运行数据库期间,针对数据库的访问,进行数据库日志和访问记录表的记录;
所述数据分析模块执行如下操作:
读取数据库日志和访问记录表;
获得各用户不同访问时间点T和访问时间点T对应的访问流量H的{T,H}数据点集合;
所述时序预测模块执行如下操作:
根据获得的各用户不同访问时间点T和访问时间点T对应的访问流量H的{T,H}数据点集合,采用k阶曲线对各用户流量与访问时间的关系进行拟合,建立各用户的流量时序预测模型,所述时序预测模型可以根据预设时间段预测所述预设时间段内的访问流量;
利用时序预测模型对预设时间段进行访问流量预测;
根据监控得到的所述预设时间段的访问流量与预测得到的访问流量得到访问流量相对差值;
将访问流量相对差值与多个预设阈值对比,判断访问流量是否正常,如果异常,启动数据库避险措施,如果正常,将监控到的预设时间段及对应的访问流量数据值输入时序预测模型,对时序预测模型进行优化。
优选地,所述访问流量相对差值在不同预设阈值内选择不同等级的数据库避险措施,所述数据库避险措施按等级由高到低分别包括:关闭数据库、伪造端口、数据失真保护、访问限制和数据自动备份。
与现有技术相对比,本发明的有益效果如下:
1.本发明通过访问时间点及访问时间点对应的访问流量建立时序预测模型,并利用时序预测模型与实际监控流量对比,判断访问流量是否异常,可以根据历史访问流量判断当前访问流量情况,更准确。
2.本发明通过设置多个阈值判断访问流量是否异常,并对不同阈值范围采取不同的避险措施,根据异常程度对数据库给予不同程度的保护,适应性更强。
附图说明
图1是本发明的一个实施例的数据库安全保护方法流程图;
图2是本发明的一个实施例建立时序预测模型的流程图;
图3是本发明的一个实施例的数据库安全保护装置框图。
具体实施方式
下面结合附图1-3,对本发明的具体实施方式作详细的说明。
本发明提供了一种数据库安全保护方法,包括以下步骤:
在数据库中创建访问记录表,用于记录用户访问流量相关信息,根据访问记录表记录的信息可以得到连接时间connect_time和访问操作connect_option;
数据库日志会自动记录访问时间、连接id和访问操作,但是无法记录访问者IP地址和访问者名字,需要根据访问记录表记录的信息从数据库日志获取同一连接id、同一访问时间的访问操作是什么,对于访问操作是取数据库的操作时,才需要判断是否为异常访问;
开启流量监控工具,运行数据库;
数据库需要开启一段时间,以便获得足够建立流量时序预测模型的数据。流量监控工具可以选择zabbix,同时需要进行流量监控工具的配置,设置数据库主机名、指定存放zabbix数据数据库的名字、指定连接数据库的用户名、用户连接数据库需要的密码、前文主机设置、用户连接数据库所用的sock位置,以及数据库的端口号。
记录数据库日志和访问记录表;
读取数据库日志和访问记录表的信息,进行数据分析,获得各用户各访问访问时间点对应的流量;
数据分析的目的是通过记录的日志信息,获取不同连接id在不同时间点对应的访问流量,首先需要获取连接id在连接时间的操作,只有对于取数据库数据的操作才需要判断访问是否异常,才需要获取流量,如果操作是取数据库数据,则需要进一步从流量监控工具获取不同连接id在不同时间点对应的访问流量。
根据各用户访问时间点与流量的对应关系,建立各用户的流量时序预测模型;
采集足够多的流量信息,可以用来通过机器学习建立流量时序预测模型,建立的流量时序预测模型,用于后续对预设时间段访问流量的判断,判断访问流量是否异常。此处访问流量的异常判断是基于历史访问情况进行的,因此需要在后期的过程建立闭环的优化过程,进行预测模型的优化。
构建多个不同级别的数据库避险措施,用于在监测到非正常访问后的数据库保护;
对于检测到的异常访问,需要建立不同级别的数据库避险措施,对数据库进行保护,访问量与预测模型比超出很多时,需要提高保护等级。
运行各用户的所述流量时序预测模型,开启流量监控工具监测访问流量;
将监测到的预设时间段内的访问流量数据值与该流量对应用户的时序预测模型的预测值进行比对,判断访问流量是否正常:
如果异常,则触发数据库避险措施;
如果正常,则将监控到的预设时间段及对应的访问流量数据值输入时序预测模型,对时序预测模型进行优化,并继续监测。
作为优选实施方式,所述在数据库中创建访问记录表包括以下步骤:
在数据库中创建访问记录表;
在数据库中进行设置,开启访问记录表的记录;
在数据库中进行设置,开启数据库日志记录,所述数据库日志记录的信息包括:访问时间、连接id和访问操作。
作为优选实施方式,所述访问记录表记录的信息包括:连接id connect_id、连接时间connect_time、访问者IP地址和访问者名字connect_name。
作为优选实施方式,所述数据分析包括如下步骤:
根据访问记录表中各用户的连接id查询数据库日志,如果该连接id的操作为取数据库数据,则获取该连接id的连接时间connect_time;
根据获取的各用户的连接时间和访问者IP地址,从流量监控工具获取该连接时间对应的访问流量值,并进行记录;
得到各用户在不同访问时间点T和各访问时间点T对应的访问流量H的{T,H}数据点集合。
作为优选实施方式,所述流量时序预测模型的建立包括:
根据数据分析得到的各用户的{T,H}数据点集合,选取k阶曲线对各用户流量与访问时间的关系进行拟合,拟合公式如下:
其中i为拟合曲线阶数,取0,1...k;
Tm为用户m的访问时间;
Hm为用户m的流量;
am,i为用户m的拟合公式中第i项的系数;
使用最小二乘拟合,得到各用户拟合公式中各阶表达式的系数,得到各用户不同访问时间点T和访问时间点T对应的访问流量H的k阶拟合时序预测模型。
作为优选实施方式,将监测到的预设时间段内的访问流量数据值与该流量对应用户的时序预测模型的预测值进行比对,判断访问流量是否正常,包括:
在预设时间段ΔT内,记录访问流量HΔT;
时序预测模型计算得到预设时间段ΔT内的预测访问流量H'ΔT;
比较访问量HΔT和H'ΔT,如果相对差值在给定的预设阈值Hε内,即满足|HΔT-H'ΔT|<Hε,则说明访问流量正常,如果不满足,则说明访问流量异常。
作为优选实施方式,所述预设阈值为多个不同值,访问流量相对差值|HΔT-H'ΔT|在不同的预设阈值范围内,对应采取不用的数据库避险措施。
作为优选实施方式,所述数据库避险措施包括:关闭数据库、伪造端口、数据失真保护、访问限制和数据自动备份。
在启动数据库避险措施时,访问限制需要针对访问者IP地址进行。最高等级避险就是关闭数据库,拒绝任何访问;其次,可以伪造端口,使得发起异常访问的用户无法访问到正确的端口,从而对数据库进行保护;再者,可以对数据库中的数据进行处理,使发起异常访问的用户得到的数据是失真的,无法进行还原,而合法用户可以根据保护措施进行还原;对于部分情况,可以通过限制访问者IP地址对数据库的访问对数据库进行保护,这个也是最简单直接的方法;最初级的必须措施就是进行数据的自动备份,使得数据库不会被发起异常访问的用户接下来的访问破坏。
本发明提供了一种数据库安全保护装置,包括:
数据库操作模块、数据分析模块、时序预测模块和数据库保护模块;
所述数据库操作模块执行如下操作:
在数据库中创建访问记录表,用于记录用户访问流量相关信息;
开启访问记录表的记录和数据库日志的记录;
在运行数据库期间,针对数据库的访问,进行数据库日志和访问记录表的记录;
所述数据分析模块执行如下操作:
读取数据库日志和访问记录表;
获得各用户不同访问时间点T和访问时间点T对应的访问流量H的{T,H}数据点集合;
所述时序预测模块执行如下操作:
根据获得的各用户不同访问时间点T和访问时间点T对应的访问流量H的{T,H}数据点集合,采用k阶曲线对各用户流量与访问时间的关系进行拟合,建立各用户的流量时序预测模型,所述时序预测模型可以根据预设时间段预测所述预设时间段内的访问流量;
利用时序预测模型对预设时间段进行访问流量预测;
根据监控得到的所述预设时间段的访问流量与预测得到的访问流量得到访问流量相对差值;
将访问流量相对差值与多个预设阈值对比,判断访问流量是否正常,如果异常,启动数据库避险措施,如果正常,将监控到的预设时间段及对应的访问流量数据值输入时序预测模型,对时序预测模型进行优化。
作为优选实施方式,所述访问流量相对差值在不同预设阈值内选择不同等级的数据库避险措施,所述数据库避险措施按等级由高到低分别包括:关闭数据库、伪造端口、数据失真保护、访问限制和数据自动备份。
实施例1
参照附图1-3,根据本发明的一个具体实施方案,以利用2阶拟合建立时序预测模型为例,对本发明提供的数据安全保护方法进行详细说明。
本发明提供了一种数据库安全保护方法,包括以下步骤:
在数据库中创建访问记录表,用于记录用户访问流量相关信息,根据访问记录表记录的信息可以得到连接时间connect_time和访问操作connect_option;
所述在数据库中创建访问记录表包括以下步骤:
在数据库中创建访问记录表;
在数据库中进行设置,开启访问记录表的记录;
在数据库中进行设置,开启数据库日志记录,所述数据库日志记录的信息包括:访问时间、连接id和访问操作;
所述访问记录表记录的信息包括:连接id connect_id、连接时间connect_time、访问者IP地址和访问者名字connect_name;
开启流量监控工具,运行数据库;
记录数据库日志和访问记录表;
读取数据库日志和访问记录表的信息,进行数据分析,获得各用户各访问访问时间点对应的流量;
所述数据分析包括如下步骤:
根据访问记录表中各用户的连接id查询数据库日志,如果该连接id的操作为取数据库数据,则获取该连接id的连接时间connect_time;
根据获取的各用户的连接时间和访问者IP地址,从流量监控工具获取该连接时间对应的访问流量值,并进行记录;
得到各用户在不同访问时间点T和各访问时间点T对应的访问流量H的{T,H}数据点集合。
根据各用户访问时间点与流量的对应关系,建立各用户的流量时序预测模型;
所述流量时序预测模型的建立包括:
根据数据分析得到的各用户的{T,H}数据点集合,选取2阶曲线对各用户流量与访问时间的关系进行拟合,拟合公式如下:
其中i为拟合曲线阶数,取0,1,2;
Tm为用户m的访问时间;
Hm为用户m的流量;
am,i为用户m的拟合公式中第i项的系数;
使用最小二乘拟合,得到各用户拟合公式中各阶表达式的系数,得到各用户不同访问时间点T和访问时间点T对应的访问流量H的k阶拟合时序预测模型;
构建多个不同级别的数据库避险措施,用于在监测到非正常访问后的数据库保护;
运行各用户的所述流量时序预测模型,开启流量监控工具监测访问流量;
将监测到的预设时间段内的访问流量数据值与该流量对应用户的时序预测模型的预测值进行比对,判断访问流量是否正常:
如果异常,则触发数据库避险措施;
如果正常,则将监控到的预设时间段及对应的访问流量数据值输入时序预测模型,对时序预测模型进行优化,并继续监测。
所述将监测到的预设时间段内的访问流量数据值与该流量对应用户的时序预测模型的预测值进行比对,判断访问流量是否正常,包括:
在预设时间段ΔT内,记录访问流量HΔT;
时序预测模型计算得到预设时间段ΔT内的预测访问流量H'ΔT;
比较访问量HΔT和H'ΔT,如果相对差值在给定的预设阈值Hε内,即满足|HΔT-H'ΔT|<Hε,则说明访问流量正常,如果不满足,则说明访问流量异常。
所述预设阈值为多个不同值,访问流量相对差值|HΔT-H'ΔT|在不同的预设阈值范围内,对应采取不用的数据库避险措施
所述数据库避险措施包括:关闭数据库、伪造端口、数据失真保护、访问限制和数据自动备份。
本发明提供了一种数据库安全保护装置,包括:
数据库操作模块、数据分析模块、时序预测模块和数据库保护模块;
所述数据库操作模块执行如下操作:
在数据库中创建访问记录表,用于记录用户访问流量相关信息;
开启访问记录表的记录和数据库日志的记录;
在运行数据库期间,针对数据库的访问,进行数据库日志和访问记录表的记录;
所述数据分析模块执行如下操作:
读取数据库日志和访问记录表;
获得各用户不同访问时间点T和访问时间点T对应的访问流量H的{T,H}数据点集合;
所述时序预测模块执行如下操作:
根据获得的各用户不同访问时间点T和访问时间点T对应的访问流量H的{T,H}数据点集合,采用k阶曲线对各用户流量与访问时间的关系进行拟合,建立各用户的流量时序预测模型,所述时序预测模型可以根据预设时间段预测所述预设时间段内的访问流量;
利用时序预测模型对预设时间段进行访问流量预测;
根据监控得到的所述预设时间段的访问流量与预测得到的访问流量得到访问流量相对差值;
将访问流量相对差值与多个预设阈值对比,判断访问流量是否正常,如果异常,启动数据库避险措施,如果正常,将监控到的预设时间段及对应的访问流量数据值输入时序预测模型,对时序预测模型进行优化。
所述访问流量相对差值在不同预设阈值内选择不同等级的数据库避险措施,所述数据库避险措施按等级由高到低分别包括:关闭数据库、伪造端口、数据失真保护、访问限制和数据自动备份。
实施例2
参照附图1-3,根据本发明的一个具体实施方案,以mysql数据库为例,对本发明提供的数据安全保护方法中流量时序预测模型的建立过程进行详细说明。
第一步:创建访问记录表,并进行数据库配置:
1、首先在数据库在创建一个库logdatabase和一张访问记录表connect_log,其中connect_log中的字段及含义如下:
表1访问记录表的字段含义
字段名 | id | connect_id | connect_time | connect_name | connetct_user |
含义 | 数据库自增id | 连接者id | 连接时间 | 连接者名字 | 连接者身份 |
2、在数据库配置中添加init-connect设置,设置如下:
init-connect='insert into logdatabase.connect_log(id,connect_id,connect_time,connect_name,connetct_user)values(null,connection_id(),now(),user(),current_user()),’
3、配置写入访问记录表的权限:
select concat("grant insert on auditlog.t_audit to'",user,"'@'",host,"';")from mysql.user;
flush privileges;
第二步,配置完成后,重启mysql;
第三步,进行流量监控工具的安装及配置;
4、安装开源流量监控工具zabbix,用于监控访问流量,配置好监控数据保存的数据库,配置如下:
DBHost=localhost;#数据库主机名,当设置为localhost时,连接mysql通过sock
DBName=zabbix;#指定存放zabbix数据数据库的名字
DBUser=zabbix;#指定连接数据库的用户名
DBPassword=zb123!@$;#用户连接数据库需要的密码
DBSocket=/var/lib/mysql/mysql.sock;#前文主机设置为localhost,用户连接数据库所用的sock位置,
DBPort=3306;#数据库的端口号,当用sock连接时,无关紧要,当通过网络连接时需设置
第四步,安装和配置好zabbix的server和client后,启动流量监控工具;
第五步,收集用于流量时序预测模型建立的日志信息:
5、打开业务网站,正常收集日志一段时间和收集相应的流量监控,数据库日志和访问日志表会记录相关信息;
一般来说,业务都是由后端访问数据库,基本上连接者身份都会相对固定,通常是对其中后端连接者进行流量分析。
第六步,对收集到的日志信息进行分析,得到针对给连接的访问时刻与访问流量的映射关系:
6、分析流程如下:
首先:
用语句select*from logdatabase.connect_log查询连接信息如下:
+----+-----------+---------------------+---------------------------+-------------------------+
|id|connect_id|connect_time|connect_name|connetct_user|
+----+-----------+---------------------+---------------------------+-------------------------+
|1|5|1604977267|[email protected]|[email protected].%|
|2|6|1604977322|[email protected]|[email protected].%|
+----+-----------+---------------------+---------------------------+-------------------------+
3rows in set(0.00sec)
然后:
根据connect_id去binlog中查询在其访问时刻的访问操作,筛选出来select操作的时间段,找到满足的时间段后,然后在zabbix中查询到该时刻的流量值,最后得到某个连接在某一时间下的访问流量值;
第七步,用各个访问流量与时间映射组合,做拟合分析,得到流量时序预测模型:
对得到的各用户的{T,H}数据点集合,选取2阶曲线对各用户流量与访问时间的关系进行拟合,拟合公式如下:
采用最小二乘法,确定式中的各项系数am,0、am,1和am,2,得到用户m的拟合公式,流量时序预测模型建立完成。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均包含在本发明的保护范围之内。
Claims (7)
1.一种数据库安全保护方法,其特征在于,包括以下步骤:
在数据库中创建访问记录表,用于记录用户访问流量相关信息,根据访问记录表记录的信息可以得到连接时间connect_time和访问操作connect_option;所述访问记录表记录的信息包括:连接id connect_id、连接时间connect_time、访问者IP地址、访问数据库条数,访问语句和访问者名字connect_name;
开启流量监控工具,运行数据库;
记录数据库日志和访问记录表;
读取数据库日志和访问记录表的信息,进行数据分析,获得各用户各访问访问时间点对应的流量;
根据各用户访问时间点与流量的对应关系,建立各用户的流量时序预测模型;
构建多个不同级别的数据库避险措施,用于在监测到非正常访问后的数据库保护;
运行各用户的所述流量时序预测模型,开启流量监控工具监测访问流量;
访问操作是取数据库的操作时,将监测到的预设时间段内的访问流量数据值与该访问流量对应用户的流量时序预测模型的预测值进行比对,判断访问流量是否正常:
如果异常,则触发数据库避险措施;
如果正常,则将监控到的预设时间段及对应的访问流量数据值输入流量时序预测模型,对流量时序预测模型进行优化,并继续监测;
所述数据分析包括如下步骤:
根据访问记录表中各用户的连接id查询数据库日志,如果该连接id的操作为取数据库数据,则获取该连接id的连接时间connect_time;
根据获取的各用户的连接时间和访问者IP地址,从流量监控工具获取该连接时间对应的访问流量值,并进行记录;
得到各用户在不同访问时间点T和各访问时间点T对应的访问流量H的{T,H}数据点集合;
所述根据各用户访问时间点与流量的对应关系,建立各用户的流量时序预测模型,具体包括:
根据数据分析得到的各用户的{T,H}数据点集合,选取k阶曲线对各用户流量与访问时间的关系进行拟合,拟合公式如下:
其中i为拟合曲线阶数,取0,1...k;
Tm为用户m的访问时间;
Hm为用户m的流量;
am,i为用户m的拟合公式中第i项的系数;
使用最小二乘拟合,得到各用户拟合公式中各阶表达式的系数,得到各用户不同访问时间点T和访问时间点T对应的访问流量H的k阶拟合流量时序预测模型。
2.根据权利要求1所述的数据库安全保护方法,其特征在于,所述在数据库中创建访问记录表包括以下步骤:
在数据库中创建访问记录表;
在数据库中进行设置,开启访问记录表的记录;
在数据库中进行设置,开启数据库日志记录,所述数据库日志记录的信息包括:访问时间、连接id和访问操作。
3.根据权利要求1所述的数据库安全保护方法,其特征在于,所述将监测到的预设时间段内的访问流量数据值与该访问流量对应用户的流量时序预测模型的预测值进行比对,判断访问流量是否正常,包括:
在预设时间段ΔT内,记录访问流量HΔT;
流量时序预测模型计算得到预设时间段ΔT内的预测访问流量H'ΔT;
比较访问量HΔT和H'ΔT,如果相对差值在给定的预设阈值Hε内,即满足|HΔT-H'ΔT|<Hε,则说明访问流量正常,如果不满足,则说明访问流量异常。
4.根据权利要求3所述的数据库安全保护方法,其特征在于,所述预设阈值为多个不同值,访问流量相对差值|HΔT-H'ΔT|在不同的预设阈值范围内,对应采取不用的数据库避险措施。
5.根据权利要求1所述的数据库安全保护方法,其特征在于,所述数据库避险措施包括:关闭数据库、伪造端口、数据失真保护、访问限制和数据自动备份。
6.一种数据库安全保护装置,其特征在于,使用权利要求1-5任一项所述的数据库安全保护方法,包括:
数据库操作模块、数据分析模块、时序预测模块和数据库保护模块;
所述数据库操作模块执行如下操作:
在数据库中创建访问记录表,用于记录用户访问流量相关信息;
开启访问记录表的记录和数据库日志的记录;
在运行数据库期间,针对数据库的访问,进行数据库日志和访问记录表的记录;
所述数据分析模块执行如下操作:
读取数据库日志和访问记录表;
获得各用户不同访问时间点T和访问时间点T对应的访问流量H的{T,H}数据点集合;
所述时序预测模块执行如下操作:
根据获得的各用户不同访问时间点T和访问时间点T对应的访问流量H的{T,H}数据点集合,采用k阶曲线对各用户流量与访问时间的关系进行拟合,建立各用户的流量时序预测模型,所述流量时序预测模型可以根据预设时间段预测所述预设时间段内的访问流量;
利用流量时序预测模型对预设时间段进行访问流量预测;
根据监控得到的所述预设时间段的访问流量与预测得到的访问流量得到访问流量相对差值;
当访问操作为取数据库时,将访问流量相对差值与预设阈值对比,判断访问流量是否正常,如果异常,启动数据库避险措施,如果正常,将监控到的预设时间段及对应的访问流量数据值输入流量时序预测模型,对流量时序预测模型进行优化。
7.根据权利要求6所述的数据库安全保护装置,其特征在于,预设阈值包括多个,访问流量相对差值在不同预设阈值内选择不同等级的数据库避险措施,所述数据库避险措施按等级由高到低分别包括:关闭数据库、伪造端口、数据失真保护、访问限制和数据自动备份。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110023167.XA CN112749410B (zh) | 2021-01-08 | 2021-01-08 | 一种数据库安全保护方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110023167.XA CN112749410B (zh) | 2021-01-08 | 2021-01-08 | 一种数据库安全保护方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112749410A CN112749410A (zh) | 2021-05-04 |
CN112749410B true CN112749410B (zh) | 2022-02-25 |
Family
ID=75650407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110023167.XA Active CN112749410B (zh) | 2021-01-08 | 2021-01-08 | 一种数据库安全保护方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112749410B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113536288B (zh) * | 2021-06-23 | 2023-10-27 | 上海派拉软件股份有限公司 | 数据认证方法、装置、认证设备及存储介质 |
US11860868B2 (en) | 2021-12-14 | 2024-01-02 | International Business Machines Corporation | Secure database-as-a-service system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107086944A (zh) * | 2017-06-22 | 2017-08-22 | 北京奇艺世纪科技有限公司 | 一种异常检测方法和装置 |
CN108874642A (zh) * | 2018-05-25 | 2018-11-23 | 平安科技(深圳)有限公司 | Sql性能监控方法、装置、计算机设备及存储介质 |
CN110830321A (zh) * | 2018-08-13 | 2020-02-21 | 阿里巴巴集团控股有限公司 | 网站的检测调度方法及装置、存储介质、*** |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3902188B2 (ja) * | 2004-03-26 | 2007-04-04 | 株式会社エヌ・ティ・ティ・データ | データベースセキュリティシステム |
CN106202560A (zh) * | 2016-07-29 | 2016-12-07 | 杭州迪普科技有限公司 | 一种实现数据库审计的方法及装置 |
US11025657B2 (en) * | 2018-12-13 | 2021-06-01 | Imperva, Inc. | Selective database logging with smart sampling |
CN109885554A (zh) * | 2018-12-20 | 2019-06-14 | 顺丰科技有限公司 | 数据库安全审计方法、***及计算机可读存储介质 |
CN110086649B (zh) * | 2019-03-19 | 2023-06-16 | 深圳壹账通智能科技有限公司 | 异常流量的检测方法、装置、计算机设备及存储介质 |
CN111159706A (zh) * | 2019-12-26 | 2020-05-15 | 深信服科技股份有限公司 | 数据库安全检测方法、装置、设备及存储介质 |
CN111988295A (zh) * | 2020-08-11 | 2020-11-24 | 程星星 | 一种数据库审计方法、装置、web服务器、数据库审计***和存储介质 |
-
2021
- 2021-01-08 CN CN202110023167.XA patent/CN112749410B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107086944A (zh) * | 2017-06-22 | 2017-08-22 | 北京奇艺世纪科技有限公司 | 一种异常检测方法和装置 |
CN108874642A (zh) * | 2018-05-25 | 2018-11-23 | 平安科技(深圳)有限公司 | Sql性能监控方法、装置、计算机设备及存储介质 |
CN110830321A (zh) * | 2018-08-13 | 2020-02-21 | 阿里巴巴集团控股有限公司 | 网站的检测调度方法及装置、存储介质、*** |
Also Published As
Publication number | Publication date |
---|---|
CN112749410A (zh) | 2021-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109525558B (zh) | 数据泄露检测方法、***、装置及存储介质 | |
CN108989150B (zh) | 一种登录异常检测方法及装置 | |
CN112184091B (zh) | 工控***安全威胁评估方法、装置和*** | |
CN112749410B (zh) | 一种数据库安全保护方法及装置 | |
CN111881452B (zh) | 一种面向工控设备的安全测试***及其工作方法 | |
CN111628900B (zh) | 基于网络协议的模糊测试方法、装置和计算机可读介质 | |
US20050108377A1 (en) | Method for detecting abnormal traffic at network level using statistical analysis | |
CN108256322B (zh) | 安全测试方法、装置、计算机设备和存储介质 | |
CN111092845B (zh) | 一种访问涉密文件的预警评估方法及*** | |
CN108234426B (zh) | Apt攻击告警方法和apt攻击告警装置 | |
CN112163198B (zh) | 一种主机登录安全检测方法、***、装置及存储介质 | |
CN113987504A (zh) | 一种网络资产管理的漏洞检测方法 | |
CN113315767A (zh) | 一种电力物联网设备安全检测***及方法 | |
CN117290803B (zh) | 一种储能逆变器远程故障诊断方法、***及介质 | |
KR101666791B1 (ko) | 중요정보 부정사용 예지보안 방법 및 이를 위한 시스템 | |
JP4843546B2 (ja) | 情報漏洩監視システムおよび情報漏洩監視方法 | |
CN116781431A (zh) | 一种基于流量特征的api接口异常行为监测方法 | |
CN115795475A (zh) | 软件***风险的确定方法、装置及电子设备 | |
CN114297712A (zh) | 基于数据流转全流程审计的数据防攻击方法及装置 | |
CN114422186A (zh) | 一种攻击检测方法、装置、电子设备及存储介质 | |
CN113395268A (zh) | 一种基于线上线下融合的网络爬虫拦截方法 | |
CN112329021A (zh) | 一种排查应用漏洞的方法、装置、电子装置和存储介质 | |
CN117390707B (zh) | 一种基于数据存储设备的数据安全检测***及检测方法 | |
CN111131248B (zh) | 一种网站应用安全缺陷检测模型建模方法及缺陷检测方法 | |
CN116760596A (zh) | 域名类别识别方法、装置以及电子设备 |
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 |