CN113792340A - 一种用于数据库逻辑日志审计的方法及装置 - Google Patents

一种用于数据库逻辑日志审计的方法及装置 Download PDF

Info

Publication number
CN113792340A
CN113792340A CN202111056500.3A CN202111056500A CN113792340A CN 113792340 A CN113792340 A CN 113792340A CN 202111056500 A CN202111056500 A CN 202111056500A CN 113792340 A CN113792340 A CN 113792340A
Authority
CN
China
Prior art keywords
database
action
logic log
log
auditing
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.)
Granted
Application number
CN202111056500.3A
Other languages
English (en)
Other versions
CN113792340B (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.)
Fiberhome Telecommunication Technologies Co Ltd
Original Assignee
Fiberhome Telecommunication Technologies 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 Fiberhome Telecommunication Technologies Co Ltd filed Critical Fiberhome Telecommunication Technologies Co Ltd
Priority to CN202111056500.3A priority Critical patent/CN113792340B/zh
Publication of CN113792340A publication Critical patent/CN113792340A/zh
Application granted granted Critical
Publication of CN113792340B publication Critical patent/CN113792340B/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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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
    • G06F21/6227Protecting 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 where protection concerns the structure of data, e.g. records, types, queries
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本发明公开了一种用于数据库逻辑日志审计的方法及装置,方法包括:将数据库产生的逻辑日志进行解析,生成符合数据库语言的动作组合;按照预设的评分标准,对于符合数据库语言的动作组合进行安全级别评分;分数超过预设阈值的动作组合判定为安全,安全动作组合进入数据库设置的延迟库中;安全动作组合进入延迟库时添加延迟时间标记,在达到延迟时间后,安全动作组合对应的逻辑日志SQL在数据库中进行数据回放。本发明中的方法不会争抢系统资源,也不会造成主业务的严重波动,引入主流数据库的通用逻辑日志解析工具,完成事中审计,从而降低了误操作或恶意删除核心数据表的风险,具有占用系统资源低、对系统影响小、可对接多数据库的优点。

Description

一种用于数据库逻辑日志审计的方法及装置
技术领域
本发明属于数据库领域,更具体地,涉及一种用于数据库逻辑日志审计的方法及装置。
背景技术
目前,数据库是任何商业和公共安全中最具有战略性的资产,通常都保存着重要的商业和客户信息,需要被保护起来,以防止竞争者和其他非法者获取。而互联网的急速发展也使得企业数据库信息的价值及可访问性得到了提升,同时也是信息资产的安全面临严峻的挑战。
数据库审计能够实时地记录应用系统上的数据库操作记录,对数据库操作进行细粒度审计的合理化管理,对数据库可能遭受到的风险行为进行预警,并对攻击性行为能够进行阻断。它通过对用户访问数据库行为的记录、分析和汇报,用来帮助用户事后生成合规报告、对事故追根溯源,同时加强内外数据库网络行为记录,提高数据资产安全。
在当前越来越多的业务上云的情景下,随着海量数据急剧膨胀,如何高效地开展相关的日志审计工作变得尤为重要。当前各大云厂商主流的日志审计系统主要采用了类似的ELK系统来完成相关的日志监控及后续的审计工作。而ELK由ElasticSearch、LogStash和Kibana三个部分组成,其中ElasticSearch是一个开源的分布式搜索引擎,LogStash对日志进行收集和过滤,Kibana对处理过的数据进行可视化的展示。后来,一些改良的系统中将消耗系统性能过大的LogStash替换成了轻量级的Filebeat来完成相关的聚合操作。而这些类似的ELK系统主要针对事后的审计分析操作,并不能阻止一些恶意的用户行为和一些破坏性的动作,并无法避免一些恶意的SQL操作行为。而且对数据库系统本身的性能损失也比较大,主要针对单一数据库用途,占用了更多的硬件和系统资源,不够高效。
鉴于此,克服该现有技术所存在的缺陷是本技术领域亟待解决的问题。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种用于数据库逻辑日志审计的方法及装置,其目的在于克服上述背景技术的不足,通过对数据库中的逻辑日志进行解析、过滤和回放,实现数据库日志的事中审计,由此解决在不影响主数据库效率的情况下,降低主系统负载,让云平台系统下的日志审计变得更加安全可靠的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种用于数据库逻辑日志审计的方法,方法包括:
将数据库产生的逻辑日志进行解析,生成符合数据库语言的动作组合;
按照预设的评分标准,对于所述符合数据库语言的动作组合进行安全级别评分;
分数超过预设阈值的动作组合判定为安全,所述安全动作组合进入数据库设置的延迟库中;
所述安全动作组合进入延迟库时添加延迟时间标记,在达到延迟时间后,所述安全动作组合对应的逻辑日志SQL在数据库中进行数据回放。
优选地,所述将数据库产生的逻辑日志进行解析,生成符合数据库语言的动作,具体方法包括:
根据所述逻辑日志流的SQL属性和用户的权限特征解析数据库的逻辑日志流;
将数据库的逻辑日志流解析生成符合数据库语言DDL和DML的动作;
对所述符合数据库语言DDL和DML的动作组合以及属性进行安全级别评分。
优选地,所述按照预设的评分标准,对于所述符合数据库语言的动作组合进行安全级别评分,具体方法包括:
所述符合数据库语言DDL的动作包括:CREATE、ALTER和DROP;
所述符合数据库语言DML的动作包括:SELECT、INSERT、UPDATE和DELETE;
将所述符合数据库语言DDL和DML的动作进行组合,所述动作组合中至少包括一种所述符合数据库语言DDL的动作和一种所述符合数据库语言DML的动作;
所述安全级别评分设置预设阈值,大于或等于预设阈值的动作组合判定为安全,小于预设阈值的动作组合判定为危险。
优选地,所述动作组合中安全动作与危险动作分别为:
大于或等于预设阈值的动作组合为:CREATE and SELECT、CREATE and INSERT、CREATE and UPDATE、ALTER and SELECT、ALTER and INSERT和DROP and SELECT;
小于预设阈值的动作组合为:CREATE and DELETE、ALTER and UPDATE、ALTER andDELETE、DROP and INSERT、DROP and UPDATE和DROP and DELETE。
优选地,所述危险动作与对应的逻辑日志SQL用户行为一并发送告警信号,所述告警信号发送给数据库管理员。
优选地,所述安全动作组合进入延迟库时加上延迟时间标记,其中,所述安全动作组合被标记的所述延迟时间一致。
优选地,所述将数据库产生的逻辑日志进行解析之前,方法还包括:
在数据库中预先设置用户白名单和逻辑日志SQL的防火墙规则;
若用户在所述用户白名单内且用户对应产生的逻辑日志中的SQL符合所述防火墙规则,将所述逻辑日志进行解析;
若用户在所述用户白名单外且/或用户对应产生的逻辑日志中的SQL不符合所述防火墙规则,所述逻辑日志被丢弃并上报告警。
优选地,所述数据回放的具体方法包括:
利用数据库SQL回放设置的延迟时间做进入所述延迟库的动作。
优选地,所述数据回放的具体方法包括:
设置具有拉取线程的从库,所述从库延迟所述逻辑日志流进入数据库的时间。
按照本发明的另一方面,提供了一种用于数据库逻辑日志审计的装置,装置包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被程序设置为执行第一方面任一所述的用于数据库逻辑日志审计的方法。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有如下有益效果:
本发明提供的一种用于数据库逻辑日志审计的方法及装置,一方面,用于数据库逻辑日志审计的方法不会争抢系统资源,也不会造成主业务的严重波动,属于一种轻量化操作,在不影响主数据库效率的情况下,引入主流数据库的通用逻辑日志解析工具,完成事中审计,从而降低了误操作或恶意删除核心数据表的风险;另一方面,用于数据库逻辑日志审计的装置具有占用系统资源低、对主系统影响小、可对接多种主流数据库平台的优点。
附图说明
图1是本实施例一提供用于数据库逻辑日志审计的方法流程图;
图2是本实施例二提供用于数据库逻辑日志审计的系统流程图;
图3是本实施例三提供用于数据库逻辑日志审计的装置流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
实施例一:
传统的审计方式中,如果采用ELK方式会对主业务入侵大,而且ELK又是非常重载的业务组件,一般需要单独部署,会耗费大量宝贵的CPU资源,并且ELK方式利用数据库的Binlog日志和general日志进行传输做审计业务(官方性能宣称下降15%~20%),很容易对业务造成巨大干扰。
本实施例一提供一种用于数据库逻辑日志审计的方法,由此解决在不影响主数据库效率的情况下,降低主系统负载,让云平台系统下的日志审计变得更加安全可靠,如图1所示,方法包括以下步骤:
S101:将数据库产生的逻辑日志进行解析,生成符合数据库语言的动作组合。
本实施例一中,数据库是指MySQL、MariaDB以及Oracle之类的关系型数据库。逻辑日志是为了保留自上次存储空间备份以来的事务和数据库服务器更改的历史记录,数据库服务器生成日志记录,数据库服务器将日志记录存储在逻辑日志中,由三个或更多逻辑日志文件组成循环文件,逻辑日志代表数据库服务器的逻辑操作。
如果数据库的日志带有业务,很难解析成数据库能理解的语言,进而也无法从数据库层面去做有效的干预,例如安全级别分类或者延迟入库等操作。
本实施例一中,对数据库产生的逻辑日志进行解析,将逻辑日志解析的内容转化成符合数据库语言的动作,以便于对动作的安全级别进行评分。在解析之前,数据库预先设置用户白名单和逻辑日志SQL的防火墙规则,若用户符合用户白名单且用户对应产生的逻辑日志中的SQL符合防火墙规则,逻辑日志才进行解析;若用户不符合用户白名单且/或用户对应产生的逻辑日志中的SQL不符合防火墙规则,则逻辑日志被丢弃并上报告警。
S102:按照预设的评分标准,对于所述符合数据库语言的动作组合进行安全级别评分。
本实施例一中,逻辑日志流的数据会带有SQL的属性,并附带了用户的权限特征,将带有SQL属性的逻辑日志数据解析成符合数据库语言的动作,并且按照符合DDL和DML的语言来做分类。其它符合数据库语言的动作没有涉及到业务数据表的数据变更操作,更多的是角色操作,因此在本实施例一中暂不考虑。
数据库模式定义语言(Data Definition Language,简称:DDL),是用于描述数据库中要存储的现实世界实体的语言。数据库模式定义语言并非程序设计语言,DDL数据库模式定义语言是SQL语言(结构化查询语言)的组成部分。DDL里主要包含CREATE、ALTER、DROP等动作。
数据操纵语言(Data Manipulation Language,简称:DML)是用于数据库操作,对数据库其中的对象和数据运行访问工作的编程语句,通常是数据库专用编程语言之中的一个子集。DML里主要包括SELECT、UPDATE、INSERT、DELETE等动作。
出于整体风险评估的考虑,将一个逻辑日志数据解析成符合数据库语言的动作组合,动作组合中至少包括两种符合数据库语言的动作。
S103:分数超过预设阈值的动作组合判定为安全,所述安全动作组合进入数据库设置的延迟库中。
本实施例一中,对于动作组合进行安全级别评分,提前预设评分标准和预设阈值,超过预设阈值的动作组合判定为安全,将安全动作进入数据库设置的延迟库中,将低于预设阈值的动作组合判定为危险动作,与对应的SQL用户行为一并发送告警信号,告警信号发送给数据库管理员。
S104:所述安全动作组合进入延迟库时添加延迟时间标记,在达到延迟时间后,所述安全动作组合对应的逻辑日志SQL在数据库中进行数据回放。
本实施例一中,将每组安全动作组合放入延迟库中,并且对每组安全动作标记相同的延迟时间,达到延迟时间后,每组安全动作在数据库中进行数据回放,如果数据库被恶意入侵,最后进入延迟库里的安全动作对应的逻辑日志SQL进行数据回放后就可以还原数据库被入侵前的各项动作,这样在数据库被恶意入侵的短时间内依然可以拿到入侵前的逻辑日志SQL,避免了恶意入侵造成的巨大损失。如果没有延迟入库和数据回放,安全动作可以保存到本地持久化为文件,也可以直接丢弃,但是无法实现事中审计。
本实施例在不影响主数据库效率的情况下,引入主流数据库的通用逻辑日志解析工具,完成事中审计,从而最小程度降低了误操作或恶意删除核心数据表的风险,具有占用系统资源低、对主系统影响小和可对接多种主流数据库平台的优点。
为了便于判断逻辑日志中数据库更改动作的安全或危险,结合本发明实施例,还存在一种优选的实现方案,具体的,所述将数据库产生的逻辑日志进行解析,生成符合数据库语言的动作,具体方法包括:
根据所述逻辑日志流的SQL属性和用户的权限特征解析数据库的逻辑日志流;
将数据库的逻辑日志流解析生成符合数据库语言DDL和DML的动作;
对所述符合数据库语言DDL和DML的动作组合以及属性进行安全级别评分。
本实施例一中,将数据库的原始逻辑日志按照规则过滤审核后,得到动作组合,再进行对动作组合进行判定。用户的权限特征是根据业务预先分配的,具体为拥有DML权限的特征,用户具备读写权限,数据库根据用户的权限特征设置白名单,白名单内是数据库信任的用户,对于白名单内的用户所发生的任何操作均不进行安全级别评分。
若用户不在白名单内,数据库需要授权用户继续做后续安全或危险的动作判定。例如:对于不在白名单内的用户,默认数据库授权给用户的权限可以进行SELECT、INSERT、UPDATE或DELETE的动作,当用户去做DROP and DELETE的行为,就会被认定为危险动作而拦截,当用户做的是安全动作,则进入延迟库,等待达到延迟时间后再进行数据回放,数据回放的是安全动作组合对应的SQL。
为了将数据库中的逻辑日志流解析成符合数据库语言的动作组合,结合本发明实施例,还存在一种优选的实现方案,具体的,所述按照预设的评分标准,对于所述符合数据库语言的动作进行安全级别评分,具体方法包括:
所述符合数据库语言DDL的动作包括:CREATE、ALTER和DROP;
所述符合数据库语言DML的动作包括:SELECT、INSERT、UPDATE和DELETE;
将所述符合数据库语言DDL和DML的动作进行组合,所述动作组合中至少包括一种所述符合数据库语言DDL的动作和一种所述符合数据库语言DML的动作;
所述安全级别评分设置预设阈值,大于或等于预设阈值的动作组合判定为安全,小于预设阈值的动作组合为危险。本实施例一中,例如,将安全级别评分的阈值设置在0.4,若动作组合得到的安全级别评分低于0.4,判定为危险,危险动作与对应的SQL用户行为一并发送告警信号,告警信号发送给数据库管理员;若动作组合得到的安全级别评分等于或大于0.4,判定为安全,将安全动作发送到延迟库,并添加延迟时间标记。
为了在评判安全级别之前设定最高值和最低值的标准,结合本发明实施例,还存在一种优选的实现方案,具体的,所述动作组合中安全动作与危险动作分别为:
大于或等于预设阈值的动作组合为:CREATE and SELECT、CREATE and INSERT、CREATE and UPDATE、ALTER and SELECT、ALTER and INSERT和DROP and SELECT;
小于预设阈值的动作组合为:CREATE and DELETE、ALTER and UPDATE、ALTER andDELETE、DROP and INSERT、DROP and UPDATE和DROP and DELETE。
本实施例一中,还可以进一步的将评分标准细化成以下部分:
CREATE and SELECT=0.9;CREATE and INSERT=0.8;CREATE and UPDATE=0.8;ALTER and SELECT=0.7;ALTER and INSERT=0.6;DROP and SELECT=0.5;CREATE andDELETE=0.3;ALTER and UPDATE=0.3;ALTER and DELETE=0.2;DROP and INSERT=0.2;DROP and UPDATE=0.1;DROP and DELETE=0.1。若将安全级别评分的阈值设置在0.4,则等于或大于0.4的动作组合(CREATE and SELECT、CREATE and INSERT、CREATE andUPDATE、ALTER and SELECT、ALTER and INSERT和DROP and SELECT)进入延迟库,并添加延迟时间标记;小于0.4的动作组合(CREATE and DELETE、ALTER and UPDATE、ALTER andDELETE、DROP and INSERT、DROP and UPDATE和DROP and DELETE),判定为危险,危险动作与对应的SQL用户行为一并发送告警信号,告警信号发送给数据库管理员。
为了及时将危险动作告知给数据库管理员,结合本发明实施例,还存在一种优选的实现方案,具体的,所述危险动作与对应的逻辑日志SQL用户行为一并发送告警信号,所述告警信号发送给数据库管理员。
本实施例一中,告警信号发送给数据库管理员后,数据库管理员会对告警信号做出相应的动作,比如误报就清除告警信号,造成某些业务不可用的动作就进行修补,等等。
为了尽量减少数据库被入侵或用户做出危险动作后发生数据丢失的情况,结合本发明实施例,还存在一种优选的实现方案,具体的,所述安全动作组合进入延迟库时加上延迟时间标记,其中,所述安全动作组合被标记的所述延迟时间一致。
本实施例一中,对于进入延迟库动作组合对应的逻辑日志SQL都需要进行数据回放,延迟时间统一,按照数据库中RTO(Recovery Time Objective,复原时间目标)和RPO(Recovery Point Objective,复原点目标)的要求,尽量控制设置在1200秒以内。若发生数据库被入侵或用户做出危险动作,低于安全级别评分的预设阈值动作发送告警信号,并及时对危险动作进行阻断或拦截,在低于安全级别评分的预设阈值动作之前的安全动作对应的逻辑日志SQL在延迟库中进行数据回放,还原数据库入侵前的各项动作,尽量减少数据丢失的情况。
为了便于提高解析逻辑日志的效率,结合本发明实施例,还存在一种优选的实现方案,具体的,所述将数据库产生的逻辑日志进行解析之前,方法还包括:
在数据库中预先设置用户白名单和逻辑日志SQL的防火墙规则;
若用户在所述用户白名单内且用户对应产生的逻辑日志中的SQL符合所述防火墙规则,将所述逻辑日志进行解析;
若用户在所述用户白名单外且/或用户对应产生的逻辑日志中的SQL不符合所述防火墙规则,所述逻辑日志被丢弃并上报告警。
本实施例一中,数据库预先设置用户白名单和逻辑日志SQL的防火墙规则,将数据库产生的逻辑日志进行解析之前,需要判断用户和用户对应产生的逻辑日志中的SQL是否同时符合用户白名单和防火墙规则,若同时满足,才将逻辑日志进行解析;若用户不符合用户白名单或用户对应产生的逻辑日志SQL不符合所述防火墙规则,或者用户不符合用户白名单且用户对应产生的逻辑日志SQL不符合所述防火墙规则,则将逻辑日志被丢弃并上报告警。
并且,为了进一步的提高逻辑日志的解析效率,数据库中可以优先判断用户是否在用户白名单内,白名单外的用户产生的逻辑日志可以直接丢弃并上报告警。
为了实现延迟库中安全动作组合对应的逻辑日志SQL数据回放,结合本发明实施例,还存在一种优选的实现方案,具体的,所述数据回放的具体方法包括:
利用数据库SQL回放设置的延迟时间做进入所述延迟库的动作。
本实施例一中,预先在数据库内部设置获取逻辑日志流的动作进程,当采集到数据库的逻辑日志流后,对逻辑日志流的SQL属性进行解析,按照预定的规则把解析后的安全动作组合做进入延迟库的动作,丢弃危险动作,其中,在规定的延迟时间内,安全动作组合对应的逻辑日志流的SQL在数据库内进行回放。
为了实现延迟库中安全动作组合对应的逻辑日志SQL数据回放,结合本发明实施例,还存在一种优选的实现方案,具体的,所述数据回放的具体方法包括:
设置具有拉取线程的从库,所述从库延迟所述逻辑日志流进入数据库的时间。
本实施例一中,主库是数据库,在主库内设置具有拉取线程的从库,从库采集到数据库的逻辑日志流后开始进行解析、判定和数据回放等动作。具体过程包括:拉取线程收到数据库的逻辑日志,附上用户权限特征,经过解析和安全级别评分后,回放动作是一系列的逻辑日志SQL依次执行replay进入从库,在从库中执行类似如下操作:
update table1 set column1=‘xxx’;insert into table2(column1,column2,xxx)values(xxx,xxx,xxx);其中,x代表假定填写的内容,table1和table2代表具有拉取线程从库里的表。
本实施例一提供的用于数据库逻辑日志审计的方法,不会争抢系统资源,也不会造成主业务的严重波动,属于一种轻量化操作,能够针对通用的数据库做解析,在不影响主数据库效率的情况下,引入主流数据库的通用逻辑日志解析工具,完成事中审计,从而最小程度降低了误操作或恶意删除核心数据表的风险。
实施例二:
本实施例二提供一种用于数据库逻辑日志审计的系统,如图2所示,系统包括:
抽取模块,所述抽取模块用于解析数据库的逻辑日志流,并将数据库产生的逻辑日志进行解析成符合数据库语言的动作。
本实施例二中,数据库是指MySQL、MariaDB以及Oracle之类的关系型数据库。抽取模块对数据库产生的逻辑日志进行解析,将逻辑日志解析的内容转化成符合数据库语言的动作,以便于对动作的安全级别进行评分。
鉴权模块,所述鉴权模块用于鉴别所述符合数据库语言的动作是否安全或危险。
本实施例二中,逻辑日志流的数据会带有SQL的属性,并附带了用户的权限特征,将带有SQL属性的逻辑日志数据解析成符合数据库语言的动作,并且按照符合DDL和DML的语言来做分类。出于整体风险评估的考虑,将一个逻辑日志数据解析成符合数据库语言的动作组合,动作组合中至少包括两种符合数据库语言的动作。对于动作组合进行安全级别评分,鉴权模块提前预设评分标准和预设阈值,超过预设阈值的动作组合判定为安全,将安全动作进入数据库设置的延迟库中,将低于预设阈值的动作组合判定为危险动作,与对应的SQL用户行为一并发送告警信号,告警信号发送给数据库管理员。
延迟库,所述延迟库用于存放所述符合数据库语言的安全动作,并在预设的延迟时间之后将所述符合数据库语言的安全动作组合对应的逻辑日志SQL进行数据回放。
本实施例二中,将每组安全动作组合放入延迟库中,并且对每组安全动作标记相同的延迟时间,达到延迟时间后,每组安全动作在数据库中进行数据回放,如果数据库被恶意入侵,最后进入延迟库里的安全动作对应的逻辑日志SQL进行数据回放后就可以还原数据库被入侵前的各项动作,这样在数据库被恶意入侵的短时间内依然可以拿到入侵前的逻辑日志SQL,避免了恶意入侵造成的巨大损失。如果没有延迟入库和数据回放,安全动作可以保存到本地持久化为文件,也可以直接丢弃,但是无法实现事中审计。
告警模块,所述告警模块用于接受所述符合数据库语言的危险动作。
本实施例二中,告警模块收到告警信号后,数据库管理员会对告警信号做出相应的动作,比如误报就清除告警信号,造成某些业务不可用的动作就进行修补,等等。
实施例三:
如图3所示,是本发明实施例三中一种用于数据库逻辑日志审计的装置示意图。本实施例三中,用于数据库逻辑日志审计的装置包括一个或多个处理器21以及存储器22。其中,图3中以一个处理器21为例。
处理器21和存储器22可以通过总线或者其他方式连接,图3中以通过总线连接为例。
存储器22作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序和非易失性计算机可执行程序,如实施例一中的用于数据库逻辑日志审计的方法。处理器21通过运行存储在存储器22中的非易失性软件程序和指令,从而执行用于数据库逻辑日志审计的方法。
存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器22可选包括相对于处理器21远程设置的存储器,这些远程存储器可以通过网络连接至处理器21。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述程序指令/模块存储在所述存储器22中,当被所述一个或者多个处理器21执行时,执行上述实施例一用于数据库逻辑日志审计的方法,例如,执行以上描述的图1所示的各个步骤。
值得说明的是,上述装置和系统内的模块、单元之间的信息交互、执行过程等内容,由于与本发明的处理方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本领域普通技术人员可以理解实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或光盘等。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种用于数据库逻辑日志审计的方法,其特征在于,方法包括:
将数据库产生的逻辑日志进行解析,生成符合数据库语言的动作组合;
按照预设的评分标准,对于所述符合数据库语言的动作组合进行安全级别评分;
分数超过预设阈值的动作组合判定为安全,所述安全动作组合进入数据库设置的延迟库中;
所述安全动作组合进入延迟库时添加延迟时间标记,在达到延迟时间后,所述安全动作组合对应的逻辑日志SQL在数据库中进行数据回放。
2.如权利要求1所述的用于数据库逻辑日志审计的方法,其特征在于,所述将数据库产生的逻辑日志进行解析,生成符合数据库语言的动作,具体方法包括:
根据所述逻辑日志流的SQL属性和用户的权限特征解析数据库的逻辑日志流;
将数据库的逻辑日志流解析生成符合数据库语言DDL和DML的动作;
对所述符合数据库语言DDL和DML的动作组合以及属性进行安全级别评分。
3.如权利要求2所述的用于数据库逻辑日志审计的方法,其特征在于,所述按照预设的评分标准,对于所述符合数据库语言的动作组合进行安全级别评分,具体方法包括:
所述符合数据库语言DDL的动作包括:CREATE、ALTER和DROP;
所述符合数据库语言DML的动作包括:SELECT、INSERT、UPDATE和DELETE;
将所述符合数据库语言DDL和DML的动作进行组合,所述动作组合中至少包括一种所述符合数据库语言DDL的动作和一种所述符合数据库语言DML的动作;
所述安全级别评分设置预设阈值,大于或等于预设阈值的动作组合判定为安全,小于预设阈值的动作组合判定为危险。
4.如权利要求3所述的用于数据库逻辑日志审计的方法,其特征在于,所述动作组合中安全动作与危险动作分别为:
大于或等于预设阈值的动作组合为:CREATE and SELECT、CREATE and INSERT、CREATEand UPDATE、ALTER and SELECT、ALTER and INSERT和DROP and SELECT;
小于预设阈值的动作组合为:CREATE and DELETE、ALTER and UPDATE、ALTER andDELETE、DROP and INSERT、DROP and UPDATE和DROP and DELETE。
5.如权利要求4所述的用于数据库逻辑日志审计的方法,其特征在于,所述危险动作与对应的逻辑日志SQL用户行为一并发送告警信号,所述告警信号发送给数据库管理员。
6.如权利要求5所述的用于数据库逻辑日志审计的方法,其特征在于,所述安全动作组合进入延迟库时加上延迟时间标记,其中,所述安全动作组合被标记的所述延迟时间一致。
7.如权利要求1所述的用于数据库逻辑日志审计的方法,其特征在于,所述将数据库产生的逻辑日志进行解析之前,方法还包括:
在数据库中预先设置用户白名单和逻辑日志SQL的防火墙规则;
若用户在所述用户白名单内且用户对应产生的逻辑日志中的SQL符合所述防火墙规则,将所述逻辑日志进行解析;
若用户在所述用户白名单外且/或用户对应产生的逻辑日志中的SQL不符合所述防火墙规则,所述逻辑日志被丢弃并上报告警。
8.如权利要求1所述的用于数据库逻辑日志审计的方法,其特征在于,所述数据回放的具体方法包括:
利用数据库SQL回放设置的延迟时间做进入所述延迟库的动作。
9.如权利要求1所述的用于数据库逻辑日志审计的方法,其特征在于,所述数据回放的具体方法包括:
设置具有拉取线程的从库,所述从库延迟所述逻辑日志流进入数据库的时间。
10.一种用于数据库逻辑日志审计的装置,其特征在于,装置包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被程序设置为执行权利要求1-9任一所述的用于数据库逻辑日志审计的方法。
CN202111056500.3A 2021-09-09 2021-09-09 一种用于数据库逻辑日志审计的方法及装置 Active CN113792340B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111056500.3A CN113792340B (zh) 2021-09-09 2021-09-09 一种用于数据库逻辑日志审计的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111056500.3A CN113792340B (zh) 2021-09-09 2021-09-09 一种用于数据库逻辑日志审计的方法及装置

Publications (2)

Publication Number Publication Date
CN113792340A true CN113792340A (zh) 2021-12-14
CN113792340B CN113792340B (zh) 2023-09-05

Family

ID=79182884

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111056500.3A Active CN113792340B (zh) 2021-09-09 2021-09-09 一种用于数据库逻辑日志审计的方法及装置

Country Status (1)

Country Link
CN (1) CN113792340B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023151436A1 (zh) * 2022-02-08 2023-08-17 支付宝(杭州)信息技术有限公司 Sql语句风险检测

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101944114A (zh) * 2010-09-16 2011-01-12 深圳天源迪科信息技术股份有限公司 内存数据库和物理数据库间的数据同步方法
US20120221513A1 (en) * 2011-02-24 2012-08-30 Oracle International Corporation Transactionally consistent replay of application workloads
WO2017037444A1 (en) * 2015-08-28 2017-03-09 Statustoday Ltd Malicious activity detection on a computer network and network metadata normalisation
EP3182300A1 (en) * 2015-12-18 2017-06-21 Sap Se Table replication in a database environment
WO2017177941A1 (zh) * 2016-04-13 2017-10-19 中兴通讯股份有限公司 主备数据库切换方法和装置
US20170304707A1 (en) * 2015-09-24 2017-10-26 Circadence Corporation Mission-based, game-implemented cyber training system and method
CN108416225A (zh) * 2018-03-14 2018-08-17 深圳市网域科技股份有限公司 数据审计方法、装置、计算机设备和存储介质
CN108874955A (zh) * 2018-05-30 2018-11-23 郑州信大天瑞信息技术有限公司 一种数据库审计方法
CN109325044A (zh) * 2018-09-20 2019-02-12 快云信息科技有限公司 一种数据库的审计日志处理方法及相关装置
CN109977158A (zh) * 2019-02-28 2019-07-05 武汉烽火众智智慧之星科技有限公司 公安大数据分析处理系统及方法
CN110263095A (zh) * 2019-05-31 2019-09-20 众安在线财产保险股份有限公司 数据备份与恢复方法、装置、计算机设备及存储介质
EP3617886A1 (en) * 2018-08-30 2020-03-04 Baidu Online Network Technology (Beijing) Co., Ltd. Hot backup system, hot backup method, and computer device
CN111198914A (zh) * 2019-12-12 2020-05-26 山西云时代技术有限公司 基于oracle数据库归档日志的整库实时数据采集方法
US10817604B1 (en) * 2018-06-19 2020-10-27 Architecture Technology Corporation Systems and methods for processing source codes to detect non-malicious faults
CN111913937A (zh) * 2020-07-31 2020-11-10 中国工商银行股份有限公司 数据库运维方法和装置
WO2020258982A1 (zh) * 2019-06-25 2020-12-30 中兴通讯股份有限公司 一种分析基站安全日志的方法、系统及计算机可读存储介质
CN112632044A (zh) * 2021-01-29 2021-04-09 西安交大捷普网络科技有限公司 一种数据库安全审计方法
CN112948492A (zh) * 2021-02-26 2021-06-11 中国建设银行股份有限公司 一种数据处理系统、方法、装置、电子设备及存储介质

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101944114A (zh) * 2010-09-16 2011-01-12 深圳天源迪科信息技术股份有限公司 内存数据库和物理数据库间的数据同步方法
US20120221513A1 (en) * 2011-02-24 2012-08-30 Oracle International Corporation Transactionally consistent replay of application workloads
WO2017037444A1 (en) * 2015-08-28 2017-03-09 Statustoday Ltd Malicious activity detection on a computer network and network metadata normalisation
US20170304707A1 (en) * 2015-09-24 2017-10-26 Circadence Corporation Mission-based, game-implemented cyber training system and method
EP3182300A1 (en) * 2015-12-18 2017-06-21 Sap Se Table replication in a database environment
WO2017177941A1 (zh) * 2016-04-13 2017-10-19 中兴通讯股份有限公司 主备数据库切换方法和装置
CN108416225A (zh) * 2018-03-14 2018-08-17 深圳市网域科技股份有限公司 数据审计方法、装置、计算机设备和存储介质
CN108874955A (zh) * 2018-05-30 2018-11-23 郑州信大天瑞信息技术有限公司 一种数据库审计方法
US10817604B1 (en) * 2018-06-19 2020-10-27 Architecture Technology Corporation Systems and methods for processing source codes to detect non-malicious faults
EP3617886A1 (en) * 2018-08-30 2020-03-04 Baidu Online Network Technology (Beijing) Co., Ltd. Hot backup system, hot backup method, and computer device
CN109325044A (zh) * 2018-09-20 2019-02-12 快云信息科技有限公司 一种数据库的审计日志处理方法及相关装置
CN109977158A (zh) * 2019-02-28 2019-07-05 武汉烽火众智智慧之星科技有限公司 公安大数据分析处理系统及方法
CN110263095A (zh) * 2019-05-31 2019-09-20 众安在线财产保险股份有限公司 数据备份与恢复方法、装置、计算机设备及存储介质
WO2020258982A1 (zh) * 2019-06-25 2020-12-30 中兴通讯股份有限公司 一种分析基站安全日志的方法、系统及计算机可读存储介质
CN111198914A (zh) * 2019-12-12 2020-05-26 山西云时代技术有限公司 基于oracle数据库归档日志的整库实时数据采集方法
CN111913937A (zh) * 2020-07-31 2020-11-10 中国工商银行股份有限公司 数据库运维方法和装置
CN112632044A (zh) * 2021-01-29 2021-04-09 西安交大捷普网络科技有限公司 一种数据库安全审计方法
CN112948492A (zh) * 2021-02-26 2021-06-11 中国建设银行股份有限公司 一种数据处理系统、方法、装置、电子设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
韩向非;郭幽燕;伍阳;赵宇;刘永波;: "基于后关系型数据库审计的安全解决方案", 中国数字医学, no. 11, pages 71 - 73 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023151436A1 (zh) * 2022-02-08 2023-08-17 支付宝(杭州)信息技术有限公司 Sql语句风险检测

Also Published As

Publication number Publication date
CN113792340B (zh) 2023-09-05

Similar Documents

Publication Publication Date Title
US7961633B2 (en) Method and system for real time detection of threats in high volume data streams
CN112114995A (zh) 基于进程的终端异常分析方法、装置、设备及存储介质
CN109388538A (zh) 一种基于内核的文件操作行为监控方法及装置
CN112463553B (zh) 一种基于普通告警关联分析智能告警的系统与方法
CN108234426B (zh) Apt攻击告警方法和apt攻击告警装置
CN113792340B (zh) 一种用于数据库逻辑日志审计的方法及装置
CN114116422A (zh) 一种硬盘日志分析方法、硬盘日志分析装置及存储介质
US20180240053A1 (en) System and Method for Associating a Multi-segment Component Transaction
CN111885088A (zh) 基于区块链的日志监测方法及装置
CN111901199A (zh) 一种基于海量数据的快速预警匹配实现方法
KR101104300B1 (ko) 개인정보 데이터베이스의 접근을 위한 전용 툴을 포함한 접근 관리 시스템 및 방법
CN116708033A (zh) 终端安全检测方法、装置、电子设备及存储介质
CN109190408B (zh) 一种数据信息的安全处理方法及系统
CN113067835B (zh) 一种集成自适应失陷指标处理系统
CN113641702B (zh) 一种语句审计后与数据库客户端交互处理方法和装置
CN116975117A (zh) 一种日志数据管理方法及装置
CN112860637A (zh) 一种基于审计策略来处理日志的方法及系统
KR102656541B1 (ko) 로그 타입별 분산 방식을 활용한 대용량 로그 데이터 분석 장치, 방법 및 프로그램
RU2815595C1 (ru) Система и способ прогнозирования признаков инцидентов информационной безопасности в автоматизированных системах управления
CN117633319B (zh) 数据库自动化响应方法、装置、计算机设备及存储介质
CN116955702A (zh) 基于区块链的视频处理方法、装置及存储介质
CN115269637A (zh) 一种结构化查询语言语句的拦截处理方法及装置
CN116186726A (zh) 数据库操作处理方法、设备及存储介质
CN118170738A (zh) 基于流量的数据库风险管控方法及装置
CN116166649A (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