WO2021174817A1 - 数据库自动化审计方法、系统、设备及存储介质 - Google Patents

数据库自动化审计方法、系统、设备及存储介质 Download PDF

Info

Publication number
WO2021174817A1
WO2021174817A1 PCT/CN2020/117926 CN2020117926W WO2021174817A1 WO 2021174817 A1 WO2021174817 A1 WO 2021174817A1 CN 2020117926 W CN2020117926 W CN 2020117926W WO 2021174817 A1 WO2021174817 A1 WO 2021174817A1
Authority
WO
WIPO (PCT)
Prior art keywords
audited
database table
data
database
audit
Prior art date
Application number
PCT/CN2020/117926
Other languages
English (en)
French (fr)
Inventor
祝明洲
Original Assignee
平安科技(深圳)有限公司
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 平安科技(深圳)有限公司 filed Critical 平安科技(深圳)有限公司
Publication of WO2021174817A1 publication Critical patent/WO2021174817A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/602Providing cryptographic facilities or services
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

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

Abstract

一种数据库自动化审计方法、系统、设备及存储介质,包括:获取数据库中的待审计数据库表(S100);根据待审计数据库表,生成与所述待审计数据库表对应的触发器,其中,所述触发器用于根据用户操作类型对所述待审计数据库表中数据变化情况进行审计(S200);响应于用户对待审计数据库表的操作,获取所述操作的用户操作类型,判断所述用户操作类型是否是预定操作类型(S300);当操作为预定操作类型时,触发所述触发器审计待审计数据库表,得到审计结果,所述审计结果包括数据归档表和数据更新表(S400)。根据待审计数据库表的名称生成与待审计数据库表对应的触发器,可以对某个待审计数据库表进行快速部署审计,也可按需快速卸载审计代码,降低了系统负担。

Description

数据库自动化审计方法、系统、设备及存储介质
本申请要求于2020年7月24日提交中国专利局、申请号为202010725560.9,发明名称为“数据库自动化审计方法、系统、设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据库自动化审计方法、系统、设备及存储介质。
背景技术
现有的数据库审计的一种做法基于日志分析技术进行数据库审计,就是通过分析数据库系统中业务数据的交易、操作日志,来发现违规的风险;通过分析数据库系统自身的各种日志,提前发现黑客攻击、系统故障等数据库风险。但是这种方法有效性、及时性不能得到保障;由于采用纯粹数据库分析技术,对于一个数据库连接,无法获取应用中的用户具体信息;另外一种方法是,通过应用开发,将用户的每一个操作,包括各种查询、点击、修改等记录到数据库表或者文件系统中,此种方法可读性较强,当需要查询时某个数据操作记录时,可以快速定位,发明人意识到,用这种方法也有一定的缺陷,由于每个操作都要进行记录日志,大大降低了系统性能,而且只能记录应用系统内的操作,对于运维人员直接操作数据库,无法进行审计。
发明内容
有鉴于此,本申请实施例提供了一种数据库自动化审计方法、系统、计算机设备及计算机可读存储介质,用于解决数据库审计不准确和审计系统性能低的问题。
本申请实施例是通过下述技术方案来解决上述技术问题:
一种数据库自动化审计方法,包括:
获取数据库中的待审计数据库表;
根据所述待审计数据库表,生成与所述待审计数据库表对应的触发器,其中,所述触发器用于根据用户操作类型对所述待审计数据库表中数据变化情况进行审计;
响应于用户对所述待审计数据库表的操作,获取所述操作的用户操作类型,判断所述用户操作类型是否是预定操作类型;
当所述操作为预定操作类型时,触发所述触发器审计所述待审计数据库表,得到审计结果,所述审计结果包括数据归档表和数据更新表。
为了实现上述目的,本申请实施例还提供一种数据库自动化审计系统,包括:
待审计数据库表获取模块,用于获取数据库中的待审计数据库表;
触发器生成模块,用于根据所述待审计数据库表,生成与所述待审计数据库表对应的触发器,其中,所述触发器用于根据用户操作类型对所述待审计数据库表中数据变化情况进行审计;
预定操作判断模块,用于响应于用户对所述待审计数据库表的操作,获取所述操作的用户操作类型,判断所述用户操作类型是否是预定操作类型;
审计结果生成模块,用于当所述操作为预定操作类型时,触发所述触发器审计所述待审计数据库表,得到审计结果,所述审计结果包括数据归档表和数据更新表。
为了实现上述目的,本申请实施例还提供一种计算机设备,所述计算机设备包括存储器、 处理器以及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时执行以下步骤:
获取数据库中的待审计数据库表;
根据所述待审计数据库表,生成与所述待审计数据库表对应的触发器,其中,所述触发器用于根据用户操作类型对所述待审计数据库表中数据变化情况进行审计;
响应于用户对所述待审计数据库表的操作,获取所述操作的用户操作类型,判断所述用户操作类型是否是预定操作类型;
当所述操作为预定操作类型时,触发所述触发器审计所述待审计数据库表,得到审计结果,所述审计结果包括数据归档表和数据更新表。
为了实现上述目的,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行以下步骤:
获取数据库中的待审计数据库表;
根据所述待审计数据库表,生成与所述待审计数据库表对应的触发器,其中,所述触发器用于根据用户操作类型对所述待审计数据库表中数据变化情况进行审计;
响应于用户对所述待审计数据库表的操作,获取所述操作的用户操作类型,判断所述用户操作类型是否是预定操作类型;
当所述操作为预定操作类型时,触发所述触发器审计所述待审计数据库表,得到审计结果,所述审计结果包括数据归档表和数据更新表。
本申请实施例提供的数据库自动化审计方法、系统、计算机设备及计算机可读存储介质,通过获取数据库中的待审计数据库表;根据所述待审计数据库表,生成与所述待审计数据库表对应的触发器,其中,所述触发器用于根据用户操作类型对所述待审计数据库表中数据变化情况进行审计;响应于用户对所述待审计数据库表的操作,获取所述操作的用户操作类型,判断所述用户操作类型是否是预定操作类型;当所述操作为预定操作类型时,触发所述触发器审计所述待审计数据库表,得到审计结果,所述审计结果包括数据归档表和数据更新表。根据待审计数据库表的名称生成与待审计数据库表对应的触发器,可以对某个待审计数据库表进行快速部署审计,降低了系统负担。
以下结合附图和具体实施例对本申请进行详细描述,但不作为对本申请的限定。
附图说明
图1为本申请实施例一之数据库自动化审计方法的步骤流程图;
图2为步骤根据所述待审计数据库表,生成与所述待审计数据库表对应的触发器,其中,所述触发器用于根据用户操作类型对所述待审计数据库表中数据变化情况进行审计的具体流程示意图;
图3为步骤当所述操作为预定操作类型时,触发所述触发器审计所述待审计数据库表,得到审计结果,所述审计结果包括数据归档表和数据更新表的一种实施方式的具体流程示意图;
图4为步骤当所述操作为预定操作类型时,触发所述触发器审计所述待审计数据库表,得到审计结果,所述审计结果包括数据归档表和数据更新表的另一种实施方式的具体流程示意图;
图5为本申请数据库自动化审计系统之实施例二的程序模块示意图;
图6为本申请计算机设备之实施例三的硬件结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用 于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
实施例一
请参阅图1,示出了本申请实施例之数据库自动化审计方法的步骤流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备为执行主体进行示例性描述,具体如下:
步骤S100:获取数据库中的待审计数据库表。
具体的,在示例性的实施例中,并不是数据库中所有的数据库表都需要审计,而只需要对一些频繁修改的表字段所在的数据库表进行审计,在本实施例中,设置表级白名单,表级白名单是指需要对哪些数据库表进行审计,获取数据库中所有数据库表的数据库表名称后,确定数据库表名称在表级白名单上的数据库表为待审计数据库表,对待审计数据库表进行审计。
步骤S200:根据所述待审计数据库表,生成与所述待审计数据库表对应的触发器,其中,所述触发器用于根据用户操作类型对所述待审计数据库表中数据变化情况进行审计。
具体的,触发器是SQL(Structured Query Language结构化查询语言)Server数据库管理系统提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,当对一个表进行操作时就会激活它执行。可以针对数据库中需要监控的数据库表,创建触发器。如果需要对多个数据库表进行监控,则可以每个表对应一个触发器。
触发器是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发。当所述触发条件满足时,会自动执行满足触发条件时执行的操作;当所述触发条件不满足时,不会执行任何操作。使用触发器进行数据库序列异常监控,不需要用户主动进行操作,也不影响用户的正常使用,当用户操作类型为预定操作类型时,触发器被触发。
确定待审计数据库表后,由于每个数据库表都需要有对应的触发器对待审记数据库表进行审计,如果带审计数据库表数据较多,对每个带审计数据库表都编写触发器代码的话,为每个待审计数据库表创建对应的触发器代码是一个很大的工程。因此,需要根据所述待审计数据库表,生成与所述待审计数据库表对应的触发器。
在示例性的实施例中,如图2所示,步骤S200还可以进一步包括:
步骤S201:获取用于审计数据库表的固定字段。
具体的,不同数据库表对应不同的触发器,但是不同的触发器中存在固定的代码字段,例如,当只是对待审计数据库表进行审计时,触发器对应的固定的代码字段为
create trigger trigger_name on{table_name|view_name}
{after|instead of}
[insert,update,delete]
as
sql_statement
其中trigger_name:触发器的名称;table_name|view_name:待审计数据库表的表名,;after:指定触发器的激活时机是在触发SQL语句中指定的操作都已成功执行后;instead of:指定执行触发器中的SQL语句而不执行触发SQL语句,从而代替触发语句的操作;insert:插入,update:更新,delete:删除;sql_statement:触发器被触发后要执行的SQL语句,在示例性的实施例中,SQL语句执行的操作为获取用于审计的公共字段,当所述预定操作为对待审计数据库表中的数据插入操作和/或对待审计数据库表中的数据删除操作时,记录插入的数据值和/或删除的数据值,将所述用于审计的公共字段和所述插入的数据值和/或删除的 数据值写入数据归档表中;当所述预定操作为对待审计数据库表中的数据更新操作时,记录更新之前的数据值和更新之后的数据值,将所述用于审计的公共字段和所述插入的数据值和/或删除的数据值写入数据归档表中。
步骤S202:获取所述待审计数据库表的表名称和待审计数据库表中需要审计的列数据。
具体的,在示例性的实施例中,,并不是待审计数据库表中所有的列都需要审计,而只需要对一些频繁修改的表字段所在的列进行审计,因此设置列级黑名单,当数据库表中的列在列级黑名单中时,则确定该列为需要审计的列。在示例性的实施例中,所述列数据可以为列名称,当需要对待审计数据库表中的列进行审计时,固定字段为
create trigger trigger_name on{table_name|view_name}
{after|instead of}
[insert,update,delete]
as
[{if update(column)
[{if update(column)
[{and|or}update(column)]
[...n]
sql_statement
其中,if update(column)是指在指定列上进行操作,column是指列名称,即在对待审计数据库表进行审计的触发器对应的固定的代码字段中,添加对列进行审计的固定代码字段。
步骤S203:将所述表名称和所述列数据填充到所述固定字段的相应位置处,生成所述待审计数据库表对应的触发器。
具体的,获取表名称和列名称后,将表名称和列名称填充到固定字段对应的位置处,即将表名称填充到table_name的位置,将列名称填充column位置,即可得到待审计数据库表对应的触发器。
步骤S300:响应于用户对所述待审计数据库表的操作,获取所述操作的用户操作类型,判断所述用户操作类型是否是预定操作类型。
在示例性的实施例中,所述预定操作类型包括如下中的至少一个:
对所述待审计数据库表中的数据插入操作;
对所述待审计数据库表中的数据删除操作;
对所述待审计数据库表中的数据更新操作。
具体的,对待审计数据库表中的数据插入操作是指插入带审计数据库表中本身没有的数据,以考试报名系统为例,当考生在考试报名系统中新注册账号时,则考生注册时的注册账号和密码以及其他数据即为在待审计数据库表中新插入了数据;当考生在考试报名系统中注销账号时,则考生注销的账号和密码以及其他数据即为待审计数据库表中删除了数据;当考生在考试报名系统修改注册账号或者密码时,则考生修改前的注册账号或者密码为数据库表中更新之前的数据,修改后的账号和密码为数据库表中更新后的数据。
步骤S400:当所述操作为预定操作类型时,触发所述触发器审计所述待审计数据库表,得到审计结果,所述审计结果包括数据归档表和数据更新表。
具体的,在当待审计数据库表中有对数据的插入、更新和删除操作时,则激活该待审计数据库表对应的触发器,审计所述待审记表,得到审计结果。
在示例性的实施例中,如图3所示,步骤S400还可以进一步包括:
步骤S401A:获取用于审计的公共字段。
步骤S402A:当所述预定操作为对待审计数据库表中的数据插入操作时,所述触发器记录插入的数据值或者
当所述预定操作为对待审计数据库表中的数据删除操作时,所述触发器记录删除的数 据值;
步骤S403A:将所述用于审计的公共字段和所述插入的数据值和/或删除的数据值写入所述数据归档表中。
具体的,用于审计的公共字段是指用户对所述待审计数据库表中的数据进行插入操作和/或对待审计数据库表中的数据删除操作时,操作发生的时间,操作来源IP地址,操作人,被审计数据库表名,被操作数据行的主键等。当用户的操作为对待审计数据库表中的数据插入操作和/或对待审计数据库表中的数据删除操作时,为对待审计数据库表中的数据插入操作时,所述触发器记录插入的数据值或者当所述预定操作为对待审计数据库表中的数据删除操作时,所述触发器记录删除的数据值,并将用于审计的公共字段和插入和/或删除的数据值全部写入数据归档表中。
在示例性的实施例中,如图4所示,步骤S400还可以进一步包括:
步骤S401B:获取用于审计的公共字段。
步骤S402B:当所述预定操作为对待审计数据库表中的数据更新操作时,所述触发器记录更新之前的数据值和更新之后的数据值。
步骤S403B:将所述用于审计的公共字段和所述更新之前的数据值和更新之后的数据值写入所述数据更新表中。
具体的,用于审计的公共字段是指用户对所述待审计数据库表中的数据进行更新操作时,操作发生的时间,操作来源IP地址,操作人,被审计数据库表名,被操作数据行的主键等。当用户的操作为对待审计数据库表的更新操作时,记录更新前的数据值和更新后的数据值,并将用于审计的公共字段、更新前的数据值和更新后的数据值写入数据更新表中。
通过设置数据归档表和数据更新表,可以根据数据库表中数据的增加、删除和修改的审计记录,对数据变化情况进行推演,当对数据的操作出现错误或者对数据的操作为非法操作时,通过逆序操作可以将数据回滚到某时间点。通过设置公共字段,当对数据的操作出现非法操作时,可以对操作人进行追溯。
在示例性的实施例中,不同的预定操作对应不同的操作编号,所述方法还包括:
根据所述操作编号,生成与所述用户对所述待审计数据库表的操作对应的序列编号。
具体的,在示例性的实施例中,对某个数据库表的操作可能会发生在同一时刻,例如,在某一时刻,对数据库表中的数据同时进行了插入和更新操作,此时不能确定操作发生的先后顺序,因此,为每个操作设置不同的操作编号,例如,操作为插入数据操作时,操作编号为“1”,操作为删除数据操作时,操作编号为“2”,操作为更新数据操作时,操作编号为“3”。当对数据库表中的数据进行操作,且两个操作同时发生时,通过操作编号进一步确定操作顺序。在示例性的实施例中,使用一个8字节的序列编号,所有归档表和更新表共享该序列编号进行记录,因此该序列编号的大小直接决定了操作发生的先后循序。除了通过操作时间来定位操作记录,对于同一时刻的操作,可以进一步通过归档表或更新表的操作编号进一步确定先后顺序,从而对数据变化情况进行推演,当对数据的操作出现错误或者对数据的操作为非法操作时,通过逆序操作可以将数据回滚到某时间点。
在示例性的实施例中,所述方法还包括:
将所述审计结果存储于区块链上。
将数据归档表和数据更新表上传至区块链可保证其安全性。用户设备可以从区块链中下载得数据归档表和数据更新表,以便查证数据归档表和数据更新表是否被篡改。在示例性的实施例中,还可以在区块链中设置审计记录删除策略,可以设置为永久保留、或设置一定的保留周期,到期后自动删除。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
本申请实施例通过数据库触发器进行数据库审计,避免了通过日志解析的高复杂度要求,通过查询相关审计表即可快速获取审计信息,避免从大量无效信息中筛选;通过设置要审计的表和列,可以降低审计信息带来的存储负担;通过触发器代码自动化工具,可以对某个表进行快速部署审计,也可按需快速卸载审计代码;可根据插入、删除、更新的审计记录,对数据变化情况进行推演,通过逆序操作可以将数据回滚到某时间点。
实施例二
请继续参阅图5,示出了本申请数据库自动化审计系统的程序模块示意图。在本实施例中,数据库自动化审计系统20可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请,并可实现上述数据库自动化审计方法。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述数据库自动化审计系统20在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:
待审计数据库表获取模块200,用于获取数据库中的待审计数据库表。
触发器生成模块202,用于根据所述待审计数据库表,生成与所述待审计数据库表对应的触发器,其中,所述触发器用于根据用户操作类型对所述待审计数据库表中数据变化情况进行审计。
进一步地,触发器生成模块202还用于:
获取用于审计待审计数据库表的固定字段;
获取所述待审计数据库表的表名称和所述待审计数据库表中需要审计的列数据;
将所述表名称和所述列数据填充到所述固定字段的相应位置处,生成所述待审计数据库表对应的触发器。
预定操作判断模块204,用于响应于用户对所述待审计数据库表的操作,获取所述操作的用户操作类型,判断所述用户操作类型是否是预定操作类型。
审计结果生成模块206,用于当所述操作为预定操作类型时,触发所述触发器审计所述待审计数据库表,得到审计结果,所述审计结果包括数据归档表和数据更新表。
审计结果生成模块206还用于,获取用于审计的公共字段;
当所述预定操作为对待审计数据库表中的数据插入操作时,记录插入的数据值或者
当所述预定操作为对待审计数据库表中的数据删除操作时,所述触发器记录删除的数据值;
将所述用于审计的公共字段和所述插入的数据值和/或删除的数据值写入所述数据归档表中。
审计结果生成模块206还用于,获取用于审计的公共字段;
当所述预定操作为对待审计数据库表中的数据更新操作时,所述触发器记录更新之前的数据值和更新之后的数据值;
将所述用于审计的公共字段、所述更新之前的数据值和更新之后的数据值分别写入所述数据更新表中。
审计结果生成模块206还用于,根据所述操作编号,生成与所述用户对所述待审计数据库表的操作对应的序列编号。
审计结果生成模块206还用于,将所述审计结果存储于区块链上。
实施例三
参阅图6,是本申请实施例三之计算机设备的硬件架构示意图。本实施例中,所述计算机设备2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设 备。该计算机设备2可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图6所示,所述计算机设备2至少包括,但不限于,可通过系统总线相互通信连接存储器21、处理器22、网络接口23、以及数据库自动化审计系统20。其中:
本实施例中,存储器21至少包括一种类型的计算机可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备2的内部存储单元,例如该计算机设备2的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备2的外部存储设备,例如该计算机设备2上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器21还可以既包括计算机设备2的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备2的操作系统和各类应用软件,例如上述实施例所述的数据库自动化审计系统20的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备2的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如运行数据库自动化审计系统20,以实现上述实施例的数据库自动化审计方法。
所述网络接口23可包括无线网络接口或有线网络接口,该网络接口23通常用于在所述计算机设备2与其他电子装置之间建立通信连接。例如,所述网络接口23用于通过网络将所述计算机设备2与外部终端相连,在所述计算机设备2与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,GSM)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图6仅示出了具有部件20-23的计算机设备2,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器21中的所述数据库自动化审计系统20还可以被分割为一个或者多个程序模块,所述一个或者多个程序模块被存储于存储器21中,并由一个或多个处理器(本实施例为处理器22)所执行,以完成本申请。
例如,图5示出了所述实现数据库自动化审计系统20实施例二的程序模块示意图,该实施例中,所述基于数据库自动化审计系统20可以被划分为待审计数据库表获取模块200、触发器生成模块202、预定操作判断模块204和审计结果生成模块206。其中,本申请所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述所述数据库自动化审计系统20在所述计算机设备2中的执行过程。所述程序模块待审计数据库表获取模块200-审计结果生成模块206的具体功能在上述实施例中已有详细描述,在此不再赘述。
实施例四
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储数据库自动化审计系统20,被处理器执行时实现上述实施例所述的数据库自动化审计方法。所述计算机可读存储介质可以是非易 失性,也可以是易失性。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (20)

  1. 一种数据库自动化审计方法,其中,包括:
    获取数据库中的待审计数据库表;
    根据所述待审计数据库表,生成与所述待审计数据库表对应的触发器,其中,所述触发器用于根据用户操作类型对所述待审计数据库表中数据变化情况进行审计;
    响应于用户对所述待审计数据库表的操作,获取所述操作的用户操作类型,判断所述用户操作类型是否是预定操作类型;
    当所述操作为预定操作类型时,触发所述触发器审计所述待审计数据库表,得到审计结果,所述审计结果包括数据归档表和数据更新表。
  2. 根据权利要求1所述的数据库自动化审计方法,其中,所述根据所述待审计数据库表,生成与所述待审计数据库表对应的触发器,其中,所述触发器用于根据用户操作类型对所述待审计数据库表中数据变化情况进行审计包括:
    获取用于审计所述待审计数据库表的固定字段;
    获取所述待审计数据库表的表名称和所述待审计数据库表中需要审计的列数据;
    将所述表名称和所述列数据填充到所述固定字段的相应位置处,生成所述待审计数据库表对应的触发器。
  3. 根据权利要求2所述的数据库自动化审计方法,其中,所述预定操作类型包括如下中的至少一个:
    对所述待审计数据库表中的数据插入操作;
    对所述待审计数据库表中的数据删除操作;
    对所述待审计数据库表中的数据更新操作。
  4. 根据权利要求3所述的数据库自动化审计方法,其中,所述当所述操作为预定操作时,触发所述触发器审计所述待审计数据库表,得到审计结果,所述审计结果包括数据归档表和数据更新表包括:
    获取用于审计的公共字段;
    当所述预定操作为对待审计数据库表中的数据插入操作时,所述触发器记录插入的数据值或者
    当所述预定操作为对待审计数据库表中的数据删除操作时,所述触发器记录删除的数据值;
    将所述用于审计的公共字段和所述插入的数据值和/或删除的数据值写入所述数据归档表中。
  5. 根据权利要求3所述的数据库自动化审计方法,其中,所述当所述操作为预定操作时,触发所述触发器审计所述待审计数据库表,得到审计结果,所述审计结果包括数据归档表和数据更新表包括:
    获取用于审计的公共字段;
    当所述预定操作为对待审计数据库表中的数据更新操作时,所述触发器记录更新之前的数据值和更新之后的数据值;
    将所述用于审计的公共字段、所述更新之前的数据值和更新之后的数据值分别写入所述数据更新表中。
  6. 根据权利要求4或5所述的数据库自动化审计方法,其中,不同的预定操作类型对应不同的操作编号,所述方法还包括:
    根据所述操作编号,生成与所述用户对所述待审计数据库表的操作对应的序列编号。
  7. 根据权利要求6所述的数据库自动化审计方法,其中,所述方法还包括:
    将所述审计结果存储于区块链上。
  8. 一种数据库自动化审计系统,其中,包括:
    待审计数据库表获取模块,用于获取数据库中的待审计数据库表;
    触发器生成模块,用于根据所述待审计数据库表,生成与所述待审计数据库表对应的触发器,其中,所述触发器用于根据用户操作类型对所述待审计数据库表中数据变化情况进行审计;
    预定操作判断模块,用于响应于用户对所述待审计数据库表的操作,获取所述操作的用户操作类型,判断所述用户操作类型是否是预定操作类型;
    审计结果生成模块,用于当所述操作为预定操作类型时,触发所述触发器审计所述待审计数据库表,得到审计结果,所述审计结果包括数据归档表和数据更新表。
  9. 根据权利要求8所述的数据库自动化审计系统,其中,所述触发器生成模块还用于:
    获取用于审计所述待审计数据库表的固定字段;
    获取所述待审计数据库表的表名称和所述待审计数据库表中需要审计的列数据;
    将所述表名称和所述列数据填充到所述固定字段的相应位置处,生成所述待审计数据库表对应的触发器。
  10. 根据权利要求9所述的数据库自动化审计系统,其中,所述预定操作类型包括如下中的至少一个:
    对所述待审计数据库表中的数据插入操作;
    对所述待审计数据库表中的数据删除操作;
    对所述待审计数据库表中的数据更新操作。
  11. 根据权利要求10所述的数据库自动化审计系统,其中,所述审计结果生成模块还用于:
    获取用于审计的公共字段;
    当所述预定操作为对待审计数据库表中的数据插入操作时,所述触发器记录插入的数据值或者
    当所述预定操作为对待审计数据库表中的数据删除操作时,所述触发器记录删除的数据值;
    将所述用于审计的公共字段和所述插入的数据值和/或删除的数据值写入所述数据归档表中。
  12. 根据权利要求10所述的数据库自动化审计系统,其中,所述审计结果生成模块还用于:
    获取用于审计的公共字段;
    当所述预定操作为对待审计数据库表中的数据更新操作时,所述触发器记录更新之前的数据值和更新之后的数据值;
    将所述用于审计的公共字段、所述更新之前的数据值和更新之后的数据值分别写入所述数据更新表中。
  13. 根据权利要求11或12所述的数据库自动化审计系统,其中,不同的预定操作类型对应不同的操作编号,所述审计结果生成模块还用于根据所述操作编号,生成与所述用户对所述待审计数据库表的操作对应的序列编号。
  14. 根据权利要求13所述的数据库自动化审计系统,其中,所述审计结果生成模块还用于将所述审计结果存储于区块链上。
  15. 一种计算机设备,所述计算机设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时执行以下步骤:
    获取数据库中的待审计数据库表;
    根据所述待审计数据库表,生成与所述待审计数据库表对应的触发器,其中,所述触发器用于根据用户操作类型对所述待审计数据库表中数据变化情况进行审计;
    响应于用户对所述待审计数据库表的操作,获取所述操作的用户操作类型,判断所述用户操作类型是否是预定操作类型;
    当所述操作为预定操作类型时,触发所述触发器审计所述待审计数据库表,得到审计结果,所述审计结果包括数据归档表和数据更新表。
  16. 根据权利要求15所述的计算机设备,其中,所述预定操作类型包括如下中的至少一个:
    对所述待审计数据库表中的数据插入操作;
    对所述待审计数据库表中的数据删除操作;
    对所述待审计数据库表中的数据更新操作;
    所述处理器执行所述计算机程序时执行以下步骤:
    获取用于审计所述待审计数据库表的固定字段;
    获取所述待审计数据库表的表名称和所述待审计数据库表中需要审计的列数据;
    将所述表名称和所述列数据填充到所述固定字段的相应位置处,生成所述待审计数据库表对应的触发器。
  17. 根据权利要求16所述的计算机设备,其中,所述处理器执行所述计算机程序时执行以下步骤:
    获取用于审计的公共字段;
    当所述预定操作为对待审计数据库表中的数据插入操作时,所述触发器记录插入的数据值或者
    当所述预定操作为对待审计数据库表中的数据删除操作时,所述触发器记录删除的数据值;
    将所述用于审计的公共字段和所述插入的数据值和/或删除的数据值写入所述数据归档表中。
  18. 一种计算机可读存储介质,其中,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行以下步骤:
    获取数据库中的待审计数据库表;
    根据所述待审计数据库表,生成与所述待审计数据库表对应的触发器,其中,所述触发器用于根据用户操作类型对所述待审计数据库表中数据变化情况进行审计;
    响应于用户对所述待审计数据库表的操作,获取所述操作的用户操作类型,判断所述用户操作类型是否是预定操作类型;
    当所述操作为预定操作类型时,触发所述触发器审计所述待审计数据库表,得到审计结果,所述审计结果包括数据归档表和数据更新表。
  19. 根据权利要求18所述的计算机可读存储介质,其中,所述预定操作类型包括如下中的至少一个:
    对所述待审计数据库表中的数据插入操作;
    对所述待审计数据库表中的数据删除操作;
    对所述待审计数据库表中的数据更新操作;
    所述处理器执行所述计算机程序时执行以下步骤:
    获取用于审计所述待审计数据库表的固定字段;
    获取所述待审计数据库表的表名称和所述待审计数据库表中需要审计的列数据;
    将所述表名称和所述列数据填充到所述固定字段的相应位置处,生成所述待审计数据库表对应的触发器。
  20. 根据权利要求19所述的计算机可读存储介质,其中,所述处理器执行所述计算机程序时执行以下步骤:
    获取用于审计的公共字段;
    当所述预定操作为对待审计数据库表中的数据插入操作时,所述触发器记录插入的数据值或者
    当所述预定操作为对待审计数据库表中的数据删除操作时,所述触发器记录删除的数据 值;
    将所述用于审计的公共字段和所述插入的数据值和/或删除的数据值写入所述数据归档表中。
PCT/CN2020/117926 2020-07-24 2020-09-25 数据库自动化审计方法、系统、设备及存储介质 WO2021174817A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010725560.9A CN111858605B (zh) 2020-07-24 2020-07-24 数据库自动化审计方法、系统、设备及存储介质
CN202010725560.9 2020-07-24

Publications (1)

Publication Number Publication Date
WO2021174817A1 true WO2021174817A1 (zh) 2021-09-10

Family

ID=72949499

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/117926 WO2021174817A1 (zh) 2020-07-24 2020-09-25 数据库自动化审计方法、系统、设备及存储介质

Country Status (2)

Country Link
CN (1) CN111858605B (zh)
WO (1) WO2021174817A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114661693A (zh) * 2022-02-21 2022-06-24 哪吒港航智慧科技(上海)有限公司 数据审计的实现方法、存储介质、电子设备及系统
CN116522030A (zh) * 2023-04-28 2023-08-01 上海任意门科技有限公司 信息处理方法、装置和存储介质
CN116701545A (zh) * 2023-08-09 2023-09-05 建信金融科技有限责任公司 审计数据分析方法、装置、存储介质及处理器

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107480166A (zh) * 2017-06-26 2017-12-15 杭州沃趣科技股份有限公司 一种数据库数据对象审计的方法
CN111061745A (zh) * 2019-10-10 2020-04-24 望海康信(北京)科技股份公司 数据同步系统及方法
US20200228570A1 (en) * 2019-01-14 2020-07-16 International Business Machines Corporation Ongoing and on-demand secure verification of audit compliance

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7127448B1 (en) * 2000-04-26 2006-10-24 Oracle International Corporation Reforming queries to selectively audit accesses to rows within a relational database
US20070198552A1 (en) * 2006-02-14 2007-08-23 Phil Farrand System, method, and programs for automatically building audit triggers on database tables
US8165994B2 (en) * 2007-12-19 2012-04-24 Microsoft Corporation Integrated governance and version audit logging
US20170286471A1 (en) * 2016-03-31 2017-10-05 Mckesson Corporation Methods and apparatuses for enterprise revision-based auditing of database management systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107480166A (zh) * 2017-06-26 2017-12-15 杭州沃趣科技股份有限公司 一种数据库数据对象审计的方法
US20200228570A1 (en) * 2019-01-14 2020-07-16 International Business Machines Corporation Ongoing and on-demand secure verification of audit compliance
CN111061745A (zh) * 2019-10-10 2020-04-24 望海康信(北京)科技股份公司 数据同步系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ANONYMOUS: "MySQL Trigger for Auditing", LRXING, 26 November 2016 (2016-11-26), pages 1 - 6, XP055842159, Retrieved from the Internet <URL:https://www.cnblogs.com/lrxing/p/3443236.html> [retrieved on 20210917] *

Also Published As

Publication number Publication date
CN111858605B (zh) 2023-10-03
CN111858605A (zh) 2020-10-30

Similar Documents

Publication Publication Date Title
WO2021174817A1 (zh) 数据库自动化审计方法、系统、设备及存储介质
JP5931973B2 (ja) 仮想データベースシステム
US9424154B2 (en) Method of and system for computer system state checks
JP2021518705A (ja) ブロックチェーン台帳のためのランタイム自己修正
JP2020502626A (ja) データベース・システムにおけるテスト・データの形成及び動作
US20060059149A1 (en) Generation of anonymized data records from productive application data
US20120296878A1 (en) File set consistency verification system, file set consistency verification method, and file set consistency verification program
US20200250313A1 (en) Bios recovery and update
CN111290919A (zh) 日志文件生成方法、装置、计算机设备和存储介质
US10996936B2 (en) Techniques for distributing code to components of a computing system
CN111783042A (zh) 数据库的访问控制方法、装置、数据库主系统和电子设备
US11169887B2 (en) Performing a database backup based on automatically discovered properties
CN111737227A (zh) 数据修改方法及系统
JP2007133544A (ja) 障害情報解析方法及びその実施装置
US7660790B1 (en) Method and apparatus for utilizing a file change log
CN117389684A (zh) 一种SaaS多租户数据隔离方法和系统
CN112256532A (zh) 测试界面生成方法、装置、计算机设备及可读存储介质
CN114185867A (zh) 确认数据一致性的方法、装置和电子设备
CN109933351A (zh) 一种修复和升级Linux系统的方法与装置
US8635331B2 (en) Distributed workflow framework
WO2019056545A1 (zh) 测试机自动化管理方法、装置、设备及存储介质
CN109791541B (zh) 日志序列号生成方法、装置及可读存储介质
CN114168935A (zh) 一种系统访问安全风控处理方法及装置
Cisco Database Administration
CN114491510A (zh) 数据库安全审计管理模块

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20923446

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20923446

Country of ref document: EP

Kind code of ref document: A1