CN110874469A - 数据库高危操作检测方法、装置、计算机设备和存储介质 - Google Patents

数据库高危操作检测方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN110874469A
CN110874469A CN201811027164.8A CN201811027164A CN110874469A CN 110874469 A CN110874469 A CN 110874469A CN 201811027164 A CN201811027164 A CN 201811027164A CN 110874469 A CN110874469 A CN 110874469A
Authority
CN
China
Prior art keywords
distance
operation records
records
category
clustering
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.)
Pending
Application number
CN201811027164.8A
Other languages
English (en)
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.)
Guangzhou Shiyuan Electronics Thecnology Co Ltd
Original Assignee
Guangzhou Shiyuan Electronics Thecnology Co Ltd
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 Guangzhou Shiyuan Electronics Thecnology Co Ltd filed Critical Guangzhou Shiyuan Electronics Thecnology Co Ltd
Priority to CN201811027164.8A priority Critical patent/CN110874469A/zh
Publication of CN110874469A publication Critical patent/CN110874469A/zh
Pending legal-status Critical Current

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/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种数据库高危操作检测方法、装置、计算机设备和存储介质。所述方法包括:获取对数据库进行访问产生的操作记录的数据,并根据对应操作记录的数据计算各操作记录之间的距离。根据各操作记录之间的距离,对操作记录进行层次聚类至满足预设的迭代终止条件,得到聚类结果。根据聚类结果对操作记录进行高危操作判定,得到检测结果并输出。通过计算对数据库访问产生的各操作记录之间的距离,根据距离对操作记录进行自底向上的层次聚类来挖掘数据库高危操作,能够很好地发现操作记录间的显著差异,从而识别出潜在的高危操作,提高了检测准确性。

Description

数据库高危操作检测方法、装置、计算机设备和存储介质
技术领域
本申请涉及数据存储技术领域,特别是涉及一种数据库高危操作检测方法、装置、计算机设备和存储介质。
背景技术
数据库是长期储存在计算机内、有组织的、可共享的数据集合。数据库中的数据指的是以一定的数据模型组织、描述和储存在一起、具有尽可能小的冗余度、较高的数据独立性和易扩展性的特点并可在一定范围内为多个用户共享。
数据库审计系统(Database Audit System,DBAS)主要是通过旁路监听的方式采集访问目标数据库的镜像数据流,实时监控并记录以审计,及时发现违规操作和异常行为,如DBAS部署结构图。在数据库安全审计中识别高危操作是审计的核心任务。在大规模的数据库访问流(日表亿级记录)中,数据库安全审计中传统的高危操作挖掘方法是采用统计方法找出偏离点,如以操作频率为判断标准,这种方法需要依赖知识专家的先验规则,对高危识别的准确率偏低。传统的高危操作挖掘方法存在检测准确率低的缺点。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高检测准确性的数据库高危操作检测方法、装置、计算机设备和存储介质。
一种数据库高危操作检测方法,所述方法包括:
获取对数据库进行访问产生的操作记录的数据,并根据对应操作记录的数据计算各操作记录之间的距离;
根据各操作记录之间的距离,对所述操作记录进行层次聚类至满足预设的迭代终止条件,得到聚类结果;
根据所述聚类结果对所述操作记录进行高危操作判定,得到检测结果并输出。
在其中一个实施例中,所述操作记录的数据为多维数据,所述根据对应操作记录的数据计算各操作记录之间的距离,包括:
根据对应操作记录的多维数据,利用欧式距离计算各操作记录之间的距离。
在其中一个实施例中,所述根据各操作记录之间的距离,对所述操作记录进行层次聚类至满足预设的迭代终止条件,得到聚类结果,包括:
根据各操作记录之间的距离,对所述操作记录进行初步聚类,得到类别;
根据所述类别中的操作记录计算各类别与未划入类别的操作记录之间的距离;
根据所述类别中的操作记录计算各类别之间的距离;
根据所述类别之间的距离、各类别与未划入类别的操作记录之间的距离以及各未划入类别的操作记录之间的距离进行聚类直至满足预设的迭代终止条件,得到聚类结果。
在其中一个实施例中,所述根据所述类别中的操作记录计算各类别与未划入类别的操作记录之间的距离,包括:
计算未划入类别的操作记录与类别中所有操作记录的距离的均值,作为类别与未划入类别的操作记录之间的距离。
在其中一个实施例中,根据所述类别中的操作记录的计算各类别之间的距离,包括:
计算类别中每一个操作记录与另一类别中所有操作记录的距离的均值,作为两个类别的距离。
一种数据库高危操作检测装置,所述装置包括:
距离计算模块,用于获取对数据库访问操作产生的操作记录的数据,并根据对应操作记录的数据计算各操作记录之间的距离;
层次聚类模块,用于根据各操作记录之间的距离,对所述操作记录进行层次聚类至满足预设的迭代终止条件,得到聚类结果;
操作判定模块,用于根据所述聚类结果对所述操作记录进行高危操作判定,得到检测结果并输出。
在其中一个实施例中,所述操作记录的数据为多维数据,所述距离计算模块根据对应操作记录的多维数据,利用欧式距离计算各操作记录之间的距离。
在其中一个实施例中,所述层次聚类模块包括:
第一聚类单元,用于根据各操作记录之间的距离,对所述操作记录进行初步聚类,得到类别;
第二聚类单元,用于根据所述类别中的操作记录计算各类别与未划入类别的操作记录之间的距离;
第三聚类单元,用于根据所述类别中的操作记录计算各类别之间的距离;
第四聚类单元,用于根据所述类别之间的距离、各类别与未划入类别的操作记录之间的距离以及各未划入类别的操作记录之间的距离进行聚类直至满足预设的迭代终止条件,得到聚类结果。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取对数据库进行访问产生的操作记录的数据,并根据对应操作记录的数据计算各操作记录之间的距离;
根据各操作记录之间的距离,对所述操作记录进行层次聚类至满足预设的迭代终止条件,得到聚类结果;
根据所述聚类结果对所述操作记录进行高危操作判定,得到检测结果并输出。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取对数据库进行访问产生的操作记录的数据,并根据对应操作记录的数据计算各操作记录之间的距离;
根据各操作记录之间的距离,对所述操作记录进行层次聚类至满足预设的迭代终止条件,得到聚类结果;
根据所述聚类结果对所述操作记录进行高危操作判定,得到检测结果并输出。
上述数据库高危操作检测方法、装置、计算机设备和存储介质,获取对数据库进行访问产生的操作记录的数据,并根据对应操作记录的数据计算各操作记录之间的距离。根据各操作记录之间的距离,对操作记录进行层次聚类至满足预设的迭代终止条件,得到聚类结果。根据聚类结果对操作记录进行高危操作判定,得到检测结果并输出。通过计算对数据库访问产生的各操作记录之间的距离,根据距离对操作记录进行自底向上的层次聚类来挖掘数据库高危操作,能够很好地发现操作记录间的显著差异,从而识别出潜在的高危操作,提高了检测准确性。
附图说明
图1为一个实施例中数据库高危操作检测方法的流程示意图;
图2为一个实施例中层次聚类的原理示意图;
图3为一个实施例中根据各操作记录之间的距离,对操作记录进行层次聚类至满足预设的迭代终止条件,得到聚类结果的流程示意图;
图4为一个实施例中数据库高危操作检测装置的结构框图;
图5为一个实施例中层次聚类模块的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,一种数据库高危操作检测方法,适用于数据库审计系统的操作异常检测。如图1所示,该方法包括:
步骤S110:获取对数据库进行访问产生的操作记录的数据,并根据对应操作记录的数据计算各操作记录之间的距离。
具体地,可直接获从数据库审计系统保存的DBAS记录表获取操作记录的相关数据并进行距离计算,通过距离来度量两条操作记录之间的相似程度。距离度量主要是衡量两条操作记录之间的相似性和差异性,度量数据库操作记录之间的距离实际上也是刻画数据的分布。操作记录的数据的具体数量和类型并不唯一,例如,操作记录的数据可包括客户端IP、响应时间、操作类型、数据库名、SQL语句表名和SQL语句操作域中的至少一种。计算距离时,采用的操作记录的数据可以是一种或者多种,在一个实施例中,操作记录的数据为多维数据,多维数据即指属性数量为两个或两个以上,且每一种属性作为一个维度构成的数据。结合多种属性计算操作记录之间的距离,多属性的距离度量可显著性发现记录差异,可提高高维操作识别的准确率。同样可从DBAS记录表提取数据为例,如表1所示,DBAS记录表包含每一次访问操作的很多属性信息,计算操作记录之间的距离则需从中选择具有衡量记录距离的属性。
Figure BDA0001788822080000051
Figure BDA0001788822080000061
表1
在考察一条操作是否是高危,可以从以下几个维度来评定:用户、时间、操作对象(数据库、数据表、数据字段)和操作类型,其中,业务逻辑指谁在什么时间对什么对象做了什么操作。基于此,本实施例中,选择客户端IP、响应时间、操作类型、数据库名、SQL(Structured Query Language,结构化查询语言)语句表名、SQL语句操作域作为距离计算的维度。将以上6个属性分别作为一个维度便得到一个操作记录的多维数据,以供后续进行两个操作记录之间的距离计算。
进一步地,在一个实施例中,操作记录的数据为多维数据,步骤S110包括:根据对应操作记录的多维数据,利用欧式距离计算各操作记录之间的距离。
具体地,同样以操作记录的数据包括客户端IP、响应时间、操作类型、数据库名、SQL语句表名和SQL语句操作域为例,可分别计算两个操作记录之间每一维属性的距离,然后根据每一维属性的距离利用欧式距离计算得到两个操作记录之间的距离。对6个属性分别计算距离的方式如下:
客户端IP:相同的距离为0,不同的距离为1。
响应时间:操作时间戳计算毫秒差值,如A记录和B记录操作时间相差100毫秒。
操作类型:按照预先定义的值进行计算,如8-登出和1-查询操作的距离是8-1=7。
数据库名:同一个数据库距离为0,不同的距离为1。
SQL语句表名:记录中多个表名用分号分隔,两条记录之间的表名距离公式为
Figure BDA0001788822080000071
其中,分母为两条操作记录SQL语句表名的并集数,分子为两条操作记录SQL语句表名的并集数和交集数之差。例子,A记录表名有c、d、f,而B记录表名有d、f、e,则二者距离为0.5,其中并集数为4、交集数为2。
SQL语句操作域:和SQL语句表名计算方法一样。
对应地,利用欧式距离计算各操作记录之间的距离,具体为:
Figure BDA0001788822080000072
其中,d(Ri,Rj)表示操作记录Ri与Rj的距离,
Figure BDA0001788822080000073
表示操作记录Ri与操作记录Rj的客户端IP距离,
Figure BDA0001788822080000074
表示操作记录Ri与操作记录Rj的响应时间距离,
Figure BDA0001788822080000075
表示操作记录Ri与操作记录Rj的操作类型距离,
Figure BDA0001788822080000076
表示操作记录Ri与操作记录Rj的数据库名距离,
Figure BDA0001788822080000077
表示操作记录Ri与操作记录Rj的SQL语句表名距离,
Figure BDA0001788822080000078
表示操作记录Ri与操作记录Rj的SQL语句操作域距离。
步骤S120:根据各操作记录之间的距离,对操作记录进行层次聚类至满足预设的迭代终止条件,得到聚类结果。
基于计算得到的各操作记录之间的距离,采用自底向上的层次聚类通过计算两条记录之间的相似性,对所有操作记录中最为相似的两个进行组合,并反复迭代这一过程直至满足预设的迭代终止条件,如图2所示为层次聚类的原理示意图。两条记录的距离越小则相似度越高,将距离最近的两条记录或类别进行组合,生成聚类树,迭代过程会出现两条操作记录的组合、两个类别的组合、操作记录和类别组合三种距离计算。迭代终止条件的具体内容并不是唯一的,可以是对操作记录和类别之间的距离进行限定,也可以是对类别的数量进行限定。
在一个实施例中,如图3所示,步骤S120包括步骤S122至步骤S128。
步骤S122:根据各操作记录之间的距离,对操作记录进行初步聚类,得到类别。首先根据计算得到的各操作记录之间的距离进行初步聚类,将距离最近的两个操作记录划为一类得到类别。
步骤S124:根据类别中的操作记录计算各类别与未划入类别的操作记录之间的距离。计算操作记录和类别的距离的具体方式并不唯一,在一个实施例中,步骤S124包括:计算未划入类别的操作记录与类别中所有操作记录的距离的均值,作为类别与未划入类别的操作记录之间的距离。通过计算操作记录与类别中所有记录的距离,再取所有距离的均值作为记录和类别的距离,合理地度量了操作记录与类别之间的距离,以确保进一步聚类的准确性。可以理解,在其他实施例中,也可以是计算类别中部分记录与未划入类别的操作记录的距离的均值作为两者的距离。
步骤S126:根据类别中的操作记录计算各类别之间的距离。计算两个类别的距离的方式也并不唯一,在一个实施例中,步骤S126包括:计算类别中每一个操作记录与另一类别中所有操作记录的距离的均值,作为两个类别的距离。通过计算两个类别中的每条记录与其他所有记录的距离,再将所有距离的均值作为两个类别间的距离,同样更为合理地度量了两个类别之间的距离。
步骤S128:根据类别之间的距离、各类别与未划入类别的操作记录之间的距离以及各未划入类别的操作记录之间的距离进行聚类直至满足预设的迭代终止条件,得到聚类结果。根据操作记录、类别之间的距离进行迭代聚类至满足迭代终止条件。在一个实施例中,迭代终止条件包括未划入类别的操作记录与类别、类别与类别、未划入类别的操作记录与未划入类别的操作记录之间的距离均大于预设距离阈值;和/或,类别的数量大于预设数量阈值。具体地,当迭代若干次后,假设记录与类别、类别与类别、记录与记录之间的距离大于预设距离阈值ε,则不能组合,即差异性明显不能组合;假定类别数量大于预设数量阈值c,则终止组合。预设距离阈值ε和预设数量阈值c的具体取值并不唯一,都有赖对数据的认识,在实际中可以通过训练加以判定。
通过层次聚类至满足迭代终止条件后,最终的聚类结果包括多个不同的类别,还可能存在部分未划入类别的单个的操作记录。对于类别中记录个数偏少或没有组合到类别中的操作记录,可判定为高危操作。需要说明的是,高危操作是指所有操作记录中,相对于其他操作记录相似性差异最大的操作记录,即高危操作比其他操作具有更高的危险性。可以理解,在其他实施例中,也可以是只将没有组合到类别中的操作记录作为高危操作。
步骤S130:根据聚类结果对操作记录进行高危操作判定,得到检测结果并输出。
在得到聚类结果后,根据聚类结果可直接确定哪些操作记录属于高危操作。对应地,本实施例中,步骤S130包括:将未划入类别的操作记录和/或操作记录的数量少于预设阈值的类别中的操作记录作为高危操作,得到检测结果并输出。同样,预设阈值的具体取值也不是唯一的,可根据实际情况进行调整。得到检测结果后进行输出的方式也并不唯一,可以是将检测结果输出至显示器进行显示,也可以是将检测结果输出至存储器进行保存以便后续进行数据调用。
为了便于更好地理解上述数据库高危操作检测方法,下面结合具体实施例进行详细的解释说明。
数据库高危操作检测方法采用层次聚类的方法,挖掘数据库高危操作,以提升数据库审计系统异常检测的准确率。基于数据库操作记录的时间、客户端IP地址、数据库名、操作类型、操作对象等属性的距离度量,采用自底向上的层次聚类方法,将每条记录按照距离大小划分到不同的簇类中,当多数记录归类后而少数记录仍无法找到簇类,则将这部分少数记录作为潜在的高危操。
具体地,从DBAS记录表中选择客户端IP、响应时间、操作类型、数据库名、SQL语句表名和SQL语句操作域6个属性作为距离计算的维度,将距离最近的两条记录或类别进行组合,生成聚类树。迭代过程,出现两条记录的组合、两个类别的组合、记录和类别组合三种距离计算,基于操作记录与操作记录、操作记录与类别、类别与类别的距离计算方法,开始迭代组合聚类树。最开始是每条操作记录就是一个类别,之后的每一层的迭代或将相似的记录组合成一个类别,或将相似记录和类别组合成一个大类别,或将两个小类别组合成一个大类别。假设记录与类别、类别与类别、记录与记录之间的距离大于预设距离阈值ε,则不能组合,即差异性明显不能组合;假定类别数量大于预设数量阈值c,则终止组合。当迭代终止时,对于类别中记录个数偏少或根本就没有组合到类别中的记录,可判定为高危操作。
基于以上评定的6个维度,直观的理解有:同一人在非上班时间提交了一条上班时间常见的操作,可视为异常;不同的人在同时删除某一张表,可视为异常;不同的时间上,同一人查看了同一张表中不同的属性值,而正常情况下不应该查看。基于多属性的距离度量的层次聚类,可以很好发现记录间的显著差异,从而识别出潜在的高危操作。
上述数据库高危操作检测方法,通过计算对数据库访问产生的各操作记录之间的距离,根据距离对操作记录进行自底向上的层次聚类来挖掘数据库高危操作,能够很好地发现操作记录间的显著差异,从而识别出潜在的高危操作,提高了检测准确性。此外,基于层次聚类所构建的聚类树对数据分布有很好的解释性,有助于高危操作的进一步挖掘。
应该理解的是,虽然图1和3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1和3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,一种数据库高危操作检测装置,适用于数据库审计系统的操作异常检测。如图4所示,该装置包括距离计算模块110、层次聚类模块120和操作判定模块130。
距离计算模块110用于获取对数据库进行访问产生的操作记录的数据,并根据对应操作记录的数据计算各操作记录之间的距离。
操作记录的数据的具体数量和类型并不唯一,具体地,操作记录的数据可包括客户端IP、响应时间、操作类型、数据库名、SQL语句表名和SQL语句操作域中的至少一种。在一个实施例中,操作记录的数据为多维数据,距离计算模块110根据对应操作记录的多维数据,利用欧式距离计算各操作记录之间的距离。结合多种属性计算操作记录之间的距离,多属性的距离度量可显著性发现记录差异,可提高高维操作识别的准确率。同样以操作记录的数据包括客户端IP、响应时间、操作类型、数据库名、SQL语句表名和SQL语句操作域为例,可分别计算两个操作记录之间每一维属性的距离,然后根据每一维属性的距离利用欧式距离计算得到两个操作记录之间的距离。
层次聚类模块120用于根据各操作记录之间的距离,对操作记录进行层次聚类至满足预设的迭代终止条件,得到聚类结果。
基于计算得到的各操作记录之间的距离,采用自底向上的层次聚类通过计算两条记录之间的相似性,对所有操作记录中最为相似的两个进行组合,并反复迭代这一过程直至满足预设的迭代终止条件。在一个实施例中,如图5所示,层次聚类模块120包括第一聚类单元122、第二聚类单元124、第三聚类单元126和第四聚类单元128。
第一聚类单元122用于根据各操作记录之间的距离,对操作记录进行初步聚类,得到类别。
第二聚类单元124用于根据类别中的操作记录计算各类别与未划入类别的操作记录之间的距离。
第三聚类单元126用于根据类别中的操作记录计算各类别之间的距离。
第四聚类单元128用于根据类别之间的距离、各类别与未划入类别的操作记录之间的距离以及各未划入类别的操作记录之间的距离进行聚类直至满足预设的迭代终止条件,得到聚类结果。
通过层次聚类至满足迭代终止条件后,最终的聚类结果包括多个不同的类别,还可能存在部分未划入类别的单个的操作记录。对于类别中记录个数偏少或没有组合到类别中的操作记录,可判定为高危操作。可以理解,在其他实施例中,也可以是只将没有组合到类别中的操作记录作为高危操作。
操作判定模块130用于根据聚类结果对操作记录进行高危操作判定,得到检测结果并输出。
在得到聚类结果后,根据聚类结果可直接确定哪些操作记录属于高危操作。对应地,本实施例中,操作判定模块130将未划入类别的操作记录和/或操作记录的数量少于预设阈值的类别中的操作记录作为高危操作,得到检测结果并输出。同样,预设阈值的具体取值也不是唯一的,可根据实际情况进行调整。得到检测结果后进行输出的方式也并不唯一,可以是将检测结果输出至显示器进行显示,也可以是将检测结果输出至存储器进行保存以便后续进行数据调用。
关于数据库高危操作检测装置的具体限定可以参见上文中对于数据库高危操作检测方法的限定,在此不再赘述。上述数据库高危操作检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
上述数据库高危操作检测装置,通过计算对数据库访问产生的各操作记录之间的距离,根据距离对操作记录进行自底向上的层次聚类来挖掘数据库高危操作,能够很好地发现操作记录间的显著差异,从而识别出潜在的高危操作,提高了检测准确性。此外,基于层次聚类所构建的聚类树对数据分布有很好的解释性,有助于高危操作的进一步挖掘。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据库高危操作检测方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:获取对数据库进行访问产生的操作记录的数据,并根据对应操作记录的数据计算各操作记录之间的距离;根据各操作记录之间的距离,对操作记录进行层次聚类至满足预设的迭代终止条件,得到聚类结果;根据聚类结果对操作记录进行高危操作判定,得到检测结果并输出。
在一个实施例中,操作记录的数据为多维数据,处理器执行计算机程序时还实现以下步骤:根据对应操作记录的多维数据,利用欧式距离计算各操作记录之间的距离。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据各操作记录之间的距离,对操作记录进行初步聚类,得到类别;根据类别中的操作记录计算各类别与未划入类别的操作记录之间的距离;根据类别中的操作记录计算各类别之间的距离;根据类别之间的距离、各类别与未划入类别的操作记录之间的距离以及各未划入类别的操作记录之间的距离进行聚类直至满足预设的迭代终止条件,得到聚类结果。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:计算未划入类别的操作记录与类别中所有操作记录的距离的均值,作为类别与未划入类别的操作记录之间的距离。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:计算类别中每一个操作记录与另一类别中所有操作记录的距离的均值,作为两个类别的距离。
上述计算机设备,通过计算对数据库访问产生的各操作记录之间的距离,根据距离对操作记录进行自底向上的层次聚类来挖掘数据库高危操作,能够很好地发现操作记录间的显著差异,从而识别出潜在的高危操作,提高了检测准确性。此外,基于层次聚类所构建的聚类树对数据分布有很好的解释性,有助于高危操作的进一步挖掘。
在一个实施例中,一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取对数据库进行访问产生的操作记录的数据,并根据对应操作记录的数据计算各操作记录之间的距离;根据各操作记录之间的距离,对操作记录进行层次聚类至满足预设的迭代终止条件,得到聚类结果;根据聚类结果对操作记录进行高危操作判定,得到检测结果并输出。
在一个实施例中,操作记录的数据为多维数据,计算机程序被处理器执行时还实现以下步骤:根据对应操作记录的多维数据,利用欧式距离计算各操作记录之间的距离。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据各操作记录之间的距离,对所述操作记录进行初步聚类,得到类别;根据所述类别中的操作记录计算各类别与未划入类别的操作记录之间的距离;根据所述类别中的操作记录计算各类别之间的距离;根据所述类别之间的距离、各类别与未划入类别的操作记录之间的距离以及各未划入类别的操作记录之间的距离进行聚类直至满足预设的迭代终止条件,得到聚类结果。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:计算未划入类别的操作记录与类别中所有操作记录的距离的均值,作为类别与未划入类别的操作记录之间的距离。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:计算类别中每一个操作记录与另一类别中所有操作记录的距离的均值,作为两个类别的距离。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
上述计算机可读存储介质,通过计算对数据库访问产生的各操作记录之间的距离,根据距离对操作记录进行自底向上的层次聚类来挖掘数据库高危操作,能够很好地发现操作记录间的显著差异,从而识别出潜在的高危操作,提高了检测准确性。此外,基于层次聚类所构建的聚类树对数据分布有很好的解释性,有助于高危操作的进一步挖掘。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种数据库高危操作检测方法,所述方法包括:
获取对数据库进行访问产生的操作记录的数据,并根据对应操作记录的数据计算各操作记录之间的距离;
根据各操作记录之间的距离,对所述操作记录进行层次聚类至满足预设的迭代终止条件,得到聚类结果;
根据所述聚类结果对所述操作记录进行高危操作判定,得到检测结果并输出。
2.根据权利要求1所述的方法,其特征在于,所述操作记录的数据为多维数据,所述根据对应操作记录的数据计算各操作记录之间的距离,包括:
根据对应操作记录的多维数据,利用欧式距离计算各操作记录之间的距离。
3.根据权利要求1所述的方法,其特征在于,所述根据各操作记录之间的距离,对所述操作记录进行层次聚类至满足预设的迭代终止条件,得到聚类结果,包括:
根据各操作记录之间的距离,对所述操作记录进行初步聚类,得到类别;
根据所述类别中的操作记录计算各类别与未划入类别的操作记录之间的距离;
根据所述类别中的操作记录计算各类别之间的距离;
根据所述类别之间的距离、各类别与未划入类别的操作记录之间的距离以及各未划入类别的操作记录之间的距离进行聚类直至满足预设的迭代终止条件,得到聚类结果。
4.根据权利要求3所述的方法,其特征在于,所述根据所述类别中的操作记录计算各类别与未划入类别的操作记录之间的距离,包括:
计算未划入类别的操作记录与类别中所有操作记录的距离的均值,作为类别与未划入类别的操作记录之间的距离。
5.根据权利要求3所述的方法,其特征在于,根据所述类别中的操作记录的计算各类别之间的距离,包括:
计算类别中每一个操作记录与另一类别中所有操作记录的距离的均值,作为两个类别的距离。
6.一种数据库高危操作检测装置,其特征在于,所述装置包括:
距离计算模块,用于获取对数据库进行访问产生的操作记录的数据,并根据对应操作记录的数据计算各操作记录之间的距离;
层次聚类模块,用于根据各操作记录之间的距离,对所述操作记录进行层次聚类至满足预设的迭代终止条件,得到聚类结果;
操作判定模块,用于根据所述聚类结果对所述操作记录进行高危操作判定,得到检测结果并输出。
7.根据权利要求6所述的装置,其特征在于,所述操作记录的数据为多维数据,所述距离计算模块根据对应操作记录的多维数据,利用欧式距离计算各操作记录之间的距离。
8.根据权利要求6所述的装置,其特征在于,所述层次聚类模块包括:
第一聚类单元,用于根据各操作记录之间的距离,对所述操作记录进行初步聚类,得到类别;
第二聚类单元,用于根据所述类别中的操作记录计算各类别与未划入类别的操作记录之间的距离;
第三聚类单元,用于根据所述类别中的操作记录计算各类别之间的距离;
第四聚类单元,用于根据所述类别之间的距离、各类别与未划入类别的操作记录之间的距离以及各未划入类别的操作记录之间的距离进行聚类直至满足预设的迭代终止条件,得到聚类结果。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
CN201811027164.8A 2018-09-04 2018-09-04 数据库高危操作检测方法、装置、计算机设备和存储介质 Pending CN110874469A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811027164.8A CN110874469A (zh) 2018-09-04 2018-09-04 数据库高危操作检测方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811027164.8A CN110874469A (zh) 2018-09-04 2018-09-04 数据库高危操作检测方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN110874469A true CN110874469A (zh) 2020-03-10

Family

ID=69716967

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811027164.8A Pending CN110874469A (zh) 2018-09-04 2018-09-04 数据库高危操作检测方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN110874469A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114640499A (zh) * 2022-02-11 2022-06-17 深圳昂楷科技有限公司 一种对用户行为进行异常识别的方法及其装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7359913B1 (en) * 2005-05-13 2008-04-15 Ncr Corp. K-means clustering using structured query language (SQL) statements and sufficient statistics
CN106610977A (zh) * 2015-10-22 2017-05-03 阿里巴巴集团控股有限公司 一种数据聚类方法和装置
CN106682079A (zh) * 2016-11-21 2017-05-17 云南电网有限责任公司电力科学研究院 一种基于聚类分析的用户用电行为检测方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7359913B1 (en) * 2005-05-13 2008-04-15 Ncr Corp. K-means clustering using structured query language (SQL) statements and sufficient statistics
CN106610977A (zh) * 2015-10-22 2017-05-03 阿里巴巴集团控股有限公司 一种数据聚类方法和装置
CN106682079A (zh) * 2016-11-21 2017-05-17 云南电网有限责任公司电力科学研究院 一种基于聚类分析的用户用电行为检测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
钟勇: "一种基于DBMS 的无监督异常检测算法及其应用", 计算机科学, no. 01, pages 123 - 127 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114640499A (zh) * 2022-02-11 2022-06-17 深圳昂楷科技有限公司 一种对用户行为进行异常识别的方法及其装置

Similar Documents

Publication Publication Date Title
US10257211B2 (en) Method, apparatus, and computer-readable medium for detecting anomalous user behavior
CN110555164B (zh) 群体兴趣标签的生成方法、装置、计算机设备和存储介质
CN109783457B (zh) Cgi接口管理方法、装置、计算机设备和存储介质
US20030182082A1 (en) Method for determining a quality for a data clustering and data processing system
CN110659297A (zh) 数据处理方法、装置、计算机设备和存储介质
CN112395157A (zh) 审计日志的获取方法、装置、计算机设备和存储介质
CN115544007A (zh) 标签预处理方法、装置、计算机设备和存储介质
CN111597422A (zh) 埋点映射方法、装置、计算机设备和存储介质
CN112948504B (zh) 数据采集方法、装置、计算机设备和存储介质
CN108509628B (zh) 数据库配置方法、装置、计算机设备和存储介质
CN110874469A (zh) 数据库高危操作检测方法、装置、计算机设备和存储介质
CN112612679A (zh) 系统运行状态监控方法、装置、计算机设备和存储介质
CN117290420A (zh) 一种用于财务数据提取的企业财务管理方法及系统
CN109460500B (zh) 热点事件发现方法、装置、计算机设备和存储介质
CN114495137B (zh) 票据异常检测模型生成方法与票据异常检测方法
CN112491925A (zh) 根据时间节点获取网络安全事件的方法、系统及电子设备
CN112463783A (zh) 索引数据监控方法、装置、计算机设备和存储介质
CN111475380A (zh) 一种日志分析方法和装置
CN114816964B (zh) 风险模型构建方法、风险检测方法、装置、计算机设备
CN114741673B (zh) 行为风险检测方法、聚类模型构建方法、装置
CN114826726B (zh) 网络资产脆弱性检测方法、装置、计算机设备和存储介质
CN115906170B (zh) 应用于存储集群的安全防护方法及ai系统
CN113806504B (zh) 一种多维度报表数据计算方法、装置和计算机设备
CN115481142A (zh) 慢查询语句处理方法、装置、电子设备及存储介质
CN115189963A (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