CN112818352B - 数据库的检测方法及装置、存储介质及电子装置 - Google Patents

数据库的检测方法及装置、存储介质及电子装置 Download PDF

Info

Publication number
CN112818352B
CN112818352B CN202110197263.6A CN202110197263A CN112818352B CN 112818352 B CN112818352 B CN 112818352B CN 202110197263 A CN202110197263 A CN 202110197263A CN 112818352 B CN112818352 B CN 112818352B
Authority
CN
China
Prior art keywords
database
target database
vulnerability
information
security
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
CN202110197263.6A
Other languages
English (en)
Other versions
CN112818352A (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.)
Beijing Dbsec Technology Co ltd
Original Assignee
Beijing Dbsec Technology 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 Beijing Dbsec Technology Co ltd filed Critical Beijing Dbsec Technology Co ltd
Priority to CN202110197263.6A priority Critical patent/CN112818352B/zh
Publication of CN112818352A publication Critical patent/CN112818352A/zh
Application granted granted Critical
Publication of CN112818352B publication Critical patent/CN112818352B/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/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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Abstract

本发明公开了一种数据库的检测方法及装置、存储介质及电子装置,上述方法包括:获取预先设置的数据库识别列表,通过数据库识别列表对目标数据库进行远程识别,其中,数据库识别列表包含以下至少之一:数据库服务类型、数据库版本信息;根据远程识别结果对目标数据库进行安全检测,以确定目标数据库的安全漏洞信息;确定安全漏洞信息对应的漏洞类型,根据漏洞类型配置目标数据库对应的渗透攻击方式;执行目标数据库对应的渗透攻击方式,检测渗透攻击方式的攻击结果,根据攻击结果确定目标数据库存在的泄露数据库内容的漏洞,解决了相关技术中,无法根据数据库的漏洞类型的不同进行不同攻击方式的确定等问题。

Description

数据库的检测方法及装置、存储介质及电子装置
技术领域
本发明涉及数据库攻击领域,具体而言,涉及一种数据库的检测方法及装置、存储介质及电子装置。
背景技术
数据库攻击技术是一种利用数据库本身存在的缺陷和漏洞对从多个层次和维度对数据库进行攻击的技术。传统的软件攻击技术更侧重于网络安全方面的攻击,而对于数据库领域的漏洞攻击缺乏真正专业并且涉及面广泛的技术。数据库漏洞攻击相对而言复杂性更高难度更大,并且真正能够实现流程化需要很强的专业性和对数据库漏洞有相当的积累。传统的攻击方式无法对数据库实现准确而有效的攻击。
针对相关技术中,无法根据数据库的漏洞类型的不同进行不同攻击方式的确定等问题,尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据库的检测方法及装置、存储介质及电子装置,以至少解决相关技术中,以至少解决相关技术中,无法根据数据库的漏洞类型的不同进行不同攻击方式的确定等问题。
根据本发明实施例的一个方面,提供了一种数据库的检测方法,包括:获取预先设置的数据库识别列表,通过所述数据库识别列表对目标数据库进行远程识别,其中,所述数据库识别列表包含以下至少之一:数据库服务类型、数据库版本信息;根据远程识别结果对所述目标数据库进行安全检测,以确定所述目标数据库的安全漏洞信息;确定所述安全漏洞信息对应的漏洞类型,根据所述漏洞类型配置所述目标数据库对应的渗透攻击方式;执行所述目标数据库对应的渗透攻击方式,检测所述渗透攻击方式的攻击结果,根据所述攻击结果确定目标数据库存在的泄露数据库内容的漏洞。
在一个示例性实施例中,根据远程识别结果对所述目标数据库进行安全检测,以确定所述目标数据库的安全漏洞信息之前,所述方法还包括:根据所述远程识别结果确定与所述目标数据库进行连接的目标主机的操作系统信息;将所述操作系统信息作为确定所述目标数据库的渗透攻击方式的参考信息。
在一个示例性实施例中,根据远程识别结果对所述目标数据库的进行安全检测,获得所述目标数据库的安全漏洞信息,包括:根据所述远程识别结果检测所述目标数据库的安全弱点,其中,所述安全弱点包含以下至少之一:目标数据库的安全配置缺陷、目标数据库的用户名脆弱性、目标数据库的用户密码脆弱性、目标数据库的弱口令;根据所述安全弱点的检测结果确定出所述目标数据库所具有的安全漏洞信息。
在一个示例性实施例中,确定所述安全漏洞信息对应的漏洞类型,根据所述漏洞类型配置所述目标数据库对应的渗透攻击方式,包括:当获取到的所述安全漏洞信息对应的漏洞类型为免登陆类型时,直接根据对远程识别结果进行渗透攻击;当获取到的所述安全漏洞信息对应的漏洞类型为低权限类型时,获取所述目标数据库的低权限账号,对所述低权项账号进行权限提取,以得到所述目标数据库的敏感数据进行渗透攻击;当获取到的所述安全漏洞信息对应的漏洞类型为操作系统账户类型时,获取所述目标数据库对应的操作系统账号,根据所述操作系统账号对所述目标数据库进行渗透攻击。
在一个示例性实施例中,根据所述攻击结果确定目标数据库存在的泄露数据库内容的漏洞,包括:获取所述渗透攻击方式对所述目标数据库的漏洞进行攻击的攻击结果;确认产生所述攻击结果的所述目标数据库中的数据服务是否变化;当所述数据服务发生变化时,确定所述目标数据库中引起服务变化的数据信息,根据所述数据信息确定所述目标数据库的漏洞。
在一个示例性实施例中,执行所述目标数据库的对应的渗透攻击方式,检测所述渗透攻击方式的攻击结果,根据所述攻击结果确定目标数据库存在的泄露数据库内容的漏洞之后,所述方法还包括:通过所述漏洞对目标数据库进行远程控制连接;利用所述远程控制连接采集目标数据库当前的数据库系统信息及当前的操作系统信息,其中,所述数据库系统信息用于指示目标数据库在运行时产生的管理信息,所述操作系统信息用于指示与目标数据库存在操作联系的目标主机执行数据操作时产生的系统信息;根据所述数据库系统信息及所述操作系统信息确定所述目标数据库进行安全优化的方向。
根据本发明实施例的另一个方面,还提供了一种数据库的检测装置,包括:获取模块,用于获取预先设置的数据库识别列表,通过所述数据库识别列表对目标数据库进行远程识别,其中,所述数据库识别列表包含以下至少之一:数据库服务类型、数据库版本信息;检测模块,用于根据远程识别结果对所述目标数据库进行安全检测,以确定所述目标数据库的安全漏洞信息;配置模块,用于确定所述安全漏洞信息对应的漏洞类型,根据所述漏洞类型配置所述目标数据库对应的渗透攻击方式;执行模块,用于执行所述目标数据库对应的渗透攻击方式,检测所述渗透攻击方式的攻击结果,根据所述攻击结果确定目标数据库存在的泄露数据库内容的漏洞。
在一个示例性实施例中,上述装置还包括:确定模块,用于根据所述远程识别结果确定与所述目标数据库进行连接的目标主机的操作系统信息;将所述操作系统信息作为确定所述目标数据库的渗透攻击方式的参考信息。
在一个示例性实施例中,上述检测模块,还用于根据所述远程识别结果检测所述目标数据库的安全弱点,其中,所述安全弱点包含以下至少之一:目标数据库的安全配置缺陷、目标数据库的用户名脆弱性、目标数据库的用户密码脆弱性、目标数据库的弱口令;根据所述安全弱点的检测结果确定出所述目标数据库所具有的安全漏洞信息。
在一个示例性实施例中,上述配置模块,还用于当获取到的所述安全漏洞信息对应的漏洞类型为免登陆类型时,直接根据对远程识别结果进行渗透攻击;当获取到的所述安全漏洞信息对应的漏洞类型为低权限类型时,获取所述目标数据库的低权限账号,对所述低权项账号进行权限提取,以得到所述目标数据库的敏感数据进行渗透攻击;当获取到的所述安全漏洞信息对应的漏洞类型为操作系统账户类型时,获取所述目标数据库对应的操作系统账号,根据所述操作系统账号对所述目标数据库进行渗透攻击。
在一个示例性实施例中,上述执行模块,还用于获取所述渗透攻击方式对所述目标数据库的漏洞进行攻击的攻击结果;确认产生所述攻击结果的所述目标数据库中的数据服务是否变化;当所述数据服务发生变化时,确定所述目标数据库中引起服务变化的数据信息,根据所述数据信息确定所述目标数据库的漏洞。
在一个示例性实施例中,上述装置还包括:控制模块,用于通过所述漏洞对目标数据库进行远程控制连接;利用所述远程控制连接采集目标数据库当前的数据库系统信息及当前的操作系统信息,其中,所述数据库系统信息用于指示目标数据库在运行时产生的管理信息,所述操作系统信息用于指示与目标数据库存在操作联系的目标主机执行数据操作时产生的系统信息;根据所述数据库系统信息及所述操作系统信息确定所述目标数据库进行安全优化的方向。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述数据库的检测方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的数据库的检测方法。
在本发明实施例中,获取预先设置的数据库识别列表,通过所述数据库识别列表对目标数据库进行远程识别,其中,所述数据库识别列表包含以下至少之一:数据库服务类型、数据库版本信息;根据远程识别结果对所述目标数据库进行安全检测,以确定所述目标数据库的安全漏洞信息;确定所述安全漏洞信息对应的漏洞类型,根据所述漏洞类型配置所述目标数据库对应的渗透攻击方式;执行所述目标数据库对应的渗透攻击方式,检测所述渗透攻击方式的攻击结果,根据所述攻击结果确定目标数据库存在的泄露数据库内容的漏洞,即通过对数据库进行远程识别确认出数据库存在的漏洞类型,进而针对性的对数据库进行渗透攻击,以确定出数据库存在的漏洞,解决了相关技术中,无法根据数据库的漏洞类型的不同进行不同攻击方式的确定等问题,实现了专门针对数据库漏洞的攻击,进而根据漏洞类型的不同使用不同的渗透攻击方式,通过多个层次和多个维度进行渗透攻击的方式提升了对于数据库漏洞的检测效率,为后续提升数据库的安全性提供数据支撑。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种数据库的检测方法的数据库的硬件结构框图;
图2是根据本发明实施例的数据库的检测方法的流程图;
图3是根据本发明可选实施例的一种对数据库专有攻击的流程图;
图4是根据本发明实施例的数据库的检测装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明的实施例。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例所提供的方法实施例可以在计算机终端、数据库或者类似的运算装置中执行。以运行在数据库上为例,图1是本发明实施例的一种数据库的检测方法的数据库的硬件结构框图。如图1所示,数据库可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,在一个示例性实施例中,上述数据库还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述数据库的结构造成限定。例如,数据库还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中数据库的检测方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至数据库。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括数据库的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种数据库的检测方法,图2是根据本发明实施例数据库的检测方法的流程图,该流程包括如下步骤:
步骤S202,获取预先设置的数据库识别列表,通过所述数据库识别列表对目标数据库进行远程识别,其中,所述数据库识别列表包含以下至少之一:数据库服务类型、数据库版本信息;
步骤S204,根据远程识别结果对所述目标数据库进行安全检测,以确定所述目标数据库的安全漏洞信息;
步骤S206,确定所述安全漏洞信息对应的漏洞类型,根据所述漏洞类型配置所述目标数据库对应的渗透攻击方式;
步骤S208,执行所述目标数据库对应的渗透攻击方式,检测所述渗透攻击方式的攻击结果,根据所述攻击结果确定目标数据库存在的泄露数据库内容的漏洞。
通过上述步骤,获取预先设置的数据库识别列表,通过所述数据库识别列表对目标数据库进行远程识别,其中,所述数据库识别列表包含以下至少之一:数据库服务类型、数据库版本信息;根据远程识别结果对所述目标数据库进行安全检测,以确定所述目标数据库的安全漏洞信息;确定所述安全漏洞信息对应的漏洞类型,根据所述漏洞类型配置所述目标数据库对应的渗透攻击方式;执行所述目标数据库对应的渗透攻击方式,检测所述渗透攻击方式的攻击结果,根据所述攻击结果确定目标数据库存在的泄露数据库内容的漏洞,即通过对数据库进行远程识别确认出数据库存在的漏洞类型,进而针对性的对数据库进行渗透攻击,以确定出数据库存在的漏洞,解决了相关技术中,无法根据数据库的漏洞类型的不同进行不同攻击方式的确定等问题,实现了专门针对数据库漏洞的攻击,进而根据漏洞类型的不同使用不同的渗透攻击方式,通过多个层次和多个维度进行渗透攻击的方式提升了对于数据库漏洞的检测效率,为后续提升数据库的安全性提供数据支撑。
在一个示例性实施例中,根据远程识别结果对所述目标数据库进行安全检测,以确定所述目标数据库的安全漏洞信息之前,所述方法还包括:根据所述远程识别结果确定与所述目标数据库进行连接的目标主机的操作系统信息;将所述操作系统信息作为确定所述目标数据库的渗透攻击方式的参考信息。
可以理解的是的,为了提升远程识别结果对于目标数据可渗透攻击的效果,还可以通过远程识别结果进一步确定出可对目标数据库中数据进行删除、添加。提取、转换等操作的目标主机的操作系统信息,进而为渗透攻击方式的确定提供参考信息,使得攻击的范围更加全面,对于目标数据库漏洞攻击的效果更好。
在一个示例性实施例中,根据远程识别结果对所述目标数据库的进行安全检测,获得所述目标数据库的安全漏洞信息,包括:根据所述远程识别结果检测所述目标数据库的安全弱点,其中,所述安全弱点包含以下至少之一:目标数据库的安全配置缺陷、目标数据库的用户名脆弱性、目标数据库的用户密码脆弱性、目标数据库的弱口令;根据所述安全弱点的检测结果确定出所述目标数据库所具有的安全漏洞信息。
可选的,检测数据库脆弱点具体包含目标数据库的安全配置缺陷以及对用户名和密码的脆弱性检查。数据库安全配置包含数据库补丁安装情况,数据库密码策略和授权安全检查,审计和日志配置方面的安全检测,数据库用户文件加密方面的安全检测以及数据库文件权限方面检测。另外还有数据库弱口令方面的检查。这些缺陷的发现对于进一步漏洞攻击创造了条件,可以根据获得的信息进一步匹配相应漏洞,提高了攻击的准确性。
在一个示例性实施例中,确定所述安全漏洞信息对应的漏洞类型,根据所述漏洞类型配置所述目标数据库对应的渗透攻击方式,包括:当获取到的所述安全漏洞信息对应的漏洞类型为免登陆类型时,直接根据对远程识别结果进行渗透攻击;当获取到的所述安全漏洞信息对应的漏洞类型为低权限类型时,获取所述目标数据库的低权限账号,对所述低权项账号进行权限提取,以得到所述目标数据库的敏感数据进行渗透攻击;当获取到的所述安全漏洞信息对应的漏洞类型为操作系统账户类型时,获取所述目标数据库对应的操作系统账号,根据所述操作系统账号对所述目标数据库进行渗透攻击。
可以理解的是,渗透攻击根据漏洞的不同分为免登陆渗透攻击、低权限渗透攻击、操作系统账户渗透攻击。免登陆渗透攻击无需掌握数据库的登录账号信息就可以完成整个攻击过程。低权限渗透攻击中攻击者利用低权限账号就能够进行提权,获取敏感数据,引起拒绝服务,执行任意SQL操作等。操作系统账户渗透攻击主要是利用操作系统账户实现账号提权、覆盖文件以及执行任意操作系统命令等效果。
在一个示例性实施例中,根据所述攻击结果确定目标数据库存在的泄露数据库内容的漏洞,包括:获取所述渗透攻击方式对所述目标数据库的漏洞进行攻击的攻击结果;确认产生所述攻击结果的所述目标数据库中的数据服务是否变化;当所述数据服务发生变化时,确定所述目标数据库中引起服务变化的数据信息,根据所述数据信息确定所述目标数据库的漏洞。
即当完成整个漏洞攻击后,攻击者是否达到漏洞攻击效果需要进行进一步检测。根据漏洞的不同分类,对于每种漏洞的攻击效果进行验证,进而可根据对不同漏洞攻击后引起的数据改变,确定对应的漏洞种类,例如,拒绝服务漏洞可以验证攻击前后数据库服务是否发生变化。
在一个示例性实施例中,执行所述目标数据库的对应的渗透攻击方式,检测所述渗透攻击方式的攻击结果,根据所述攻击结果确定目标数据库存在的泄露数据库内容的漏洞之后,所述方法还包括:通过所述漏洞对目标数据库进行远程控制连接;利用所述远程控制连接采集目标数据库当前的数据库系统信息及当前的操作系统信息,其中,所述数据库系统信息用于指示目标数据库在运行时产生的管理信息,所述操作系统信息用于指示与目标数据库存在操作联系的目标主机执行数据操作时产生的系统信息;根据所述数据库系统信息及所述操作系统信息确定所述目标数据库进行安全优化的方向。
可以理解的是,借助成功利用的数据库漏洞,在被攻击者机器开启正向或者反向远程连接。在不对数据库和操作系统造成任何影响的前提下,通过远程连接可以收集数据库系统信息和操作系统信息,继而可以根据收集到的信息,确定当前数据库存在的数据库漏洞泄露信息的等级,以及根据收集到的信息,确认数据库漏洞的修复方式,进而提升数据库的数据安全性。
为了更好的理解本发明实施例以及可选实施例的技术方案,以下结合示例对上述的数据库的检测方法的流程进行解释说明,但不用于限定本发明实施例的技术方案。
本发明可选实施例中提供了一种实现对数据库专有攻击的方法,如图3所示,主要包括以下步骤:
步骤S302、远程数据库识别,可以准确地侦测运行的数据库服务类型及版本信息,另外还包含目标主机的操作系统信息,包括系统版本、位数等基本信息,这些信息是进行渗透测试的基础,有助于后续漏洞攻击的成功性。
步骤S304、检测数据库脆弱点,包含目标数据库的安全配置缺陷以及对用户名和密码的脆弱性检查。数据库安全配置包含数据库补丁安装情况,数据库密码策略和授权安全检查,审计和日志配置方面的安全检测,数据库用户文件加密方面的安全检测以及数据库文件权限方面检测。另外还有数据库弱口令方面的检查。这些缺陷的发现对于进一步漏洞攻击创造了条件,可以根据获得的信息进一步匹配相应漏洞,提高了攻击的准确性。
步骤S306、渗透攻击。本发明可选实施例中渗透攻击根据漏洞的不同分为免登陆渗透攻击、低权限渗透攻击、操作系统账户渗透攻击。免登陆渗透攻击无需掌握数据库的登录账号信息就可以完成整个攻击过程。低权限渗透攻击中攻击者利用低权限账号就能够进行提权,获取敏感数据,引起拒绝服务,执行任意SQL操作等。操作系统账户渗透攻击主要是利用操作系统账户实现账号提权、覆盖文件以及执行任意操作系统命令等效果。
步骤S308、渗透攻击检测。当完成整个漏洞攻击后,攻击者是否达到漏洞攻击效果需要进行进一步检测。根据漏洞的不同分类,对于每种漏洞的攻击效果进行验证,比如拒绝服务漏洞可以验证攻击前后数据库服务是否发生变化。
步骤S310、信息收集。借助成功利用的数据库漏洞,在被攻击者机器开启正向或者反向远程shell连接。在不对数据库和操作系统造成任何影响的前提下,通过远程shell可以收集数据库系统信息和操作系统信息。
通过上述实施例,通过专有数据库攻击方式支持多个层次和多个维度进行渗透攻击的方式。具体来说,多个层次指的是网络层、数据库层、操作系统层。多个维度指的是不同的漏洞类型,包含了监听劫持、缓冲区溢出、SQL注入、竞态注入、符号链提权等多种类型的数据库漏洞进行渗透,并支持渗透模块和脚本均免杀。另外这种攻击方式囊括了多种类型(国内外主流数据库)多种版本的数据库漏洞,攻击范围广层次深。通过对数据库领域中涉及的数据库对象、数据库事务类型、数据库权限、数据格式等相关数据处理能力的深入剖析,实现专门针对数据库漏洞的攻击。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种数据库的检测装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据本发明实施例的数据库的检测装置的结构框图,如图4所示,该装置包括:
获取模块42,用于获取预先设置的数据库识别列表,通过所述数据库识别列表对目标数据库进行远程识别,其中,所述数据库识别列表包含以下至少之一:数据库服务类型、数据库版本信息;
检测模块44,用于根据远程识别结果对所述目标数据库进行安全检测,以确定所述目标数据库的安全漏洞信息;
配置模块46,用于确定所述安全漏洞信息对应的漏洞类型,根据所述漏洞类型配置所述目标数据库对应的渗透攻击方式;
执行模块48,用于执行所述目标数据库对应的渗透攻击方式,检测所述渗透攻击方式的攻击结果,根据所述攻击结果确定目标数据库存在的泄露数据库内容的漏洞。
通过上述技术方案,获取预先设置的数据库识别列表,通过所述数据库识别列表对目标数据库进行远程识别,其中,所述数据库识别列表包含以下至少之一:数据库服务类型、数据库版本信息;根据远程识别结果对所述目标数据库进行安全检测,以确定所述目标数据库的安全漏洞信息;确定所述安全漏洞信息对应的漏洞类型,根据所述漏洞类型配置所述目标数据库对应的渗透攻击方式;执行所述目标数据库对应的渗透攻击方式,检测所述渗透攻击方式的攻击结果,根据所述攻击结果确定目标数据库存在的泄露数据库内容的漏洞,即通过对数据库进行远程识别确认出数据库存在的漏洞类型,进而针对性的对数据库进行渗透攻击,以确定出数据库存在的漏洞,解决了相关技术中,无法根据数据库的漏洞类型的不同进行不同攻击方式的确定等问题,实现了专门针对数据库漏洞的攻击,进而根据漏洞类型的不同使用不同的渗透攻击方式,通过多个层次和多个维度进行渗透攻击的方式提升了对于数据库漏洞的检测效率,为后续提升数据库的安全性提供数据支撑。
在一个示例性实施例中,上述装置还包括:确定模块,用于根据所述远程识别结果确定与所述目标数据库进行连接的目标主机的操作系统信息;将所述操作系统信息作为确定所述目标数据库的渗透攻击方式的参考信息。
可以理解的是的,为了提升远程识别结果对于目标数据可渗透攻击的效果,还可以通过远程识别结果进一步确定出可对目标数据库中数据进行删除、添加。提取、转换等操作的目标主机的操作系统信息,进而为渗透攻击方式的确定提供参考信息,使得攻击的范围更加全面,对于目标数据库漏洞攻击的效果更好。
在一个示例性实施例中,上述检测模块,还用于根据所述远程识别结果检测所述目标数据库的安全弱点,其中,所述安全弱点包含以下至少之一:目标数据库的安全配置缺陷、目标数据库的用户名脆弱性、目标数据库的用户密码脆弱性、目标数据库的弱口令;根据所述安全弱点的检测结果确定出所述目标数据库所具有的安全漏洞信息。
可选的,检测数据库脆弱点具体包含目标数据库的安全配置缺陷以及对用户名和密码的脆弱性检查。数据库安全配置包含数据库补丁安装情况,数据库密码策略和授权安全检查,审计和日志配置方面的安全检测,数据库用户文件加密方面的安全检测以及数据库文件权限方面检测。另外还有数据库弱口令方面的检查。这些缺陷的发现对于进一步漏洞攻击创造了条件,可以根据获得的信息进一步匹配相应漏洞,提高了攻击的准确性。
在一个示例性实施例中,上述配置模块,还用于当获取到的所述安全漏洞信息对应的漏洞类型为免登陆类型时,直接根据对远程识别结果进行渗透攻击;当获取到的所述安全漏洞信息对应的漏洞类型为低权限类型时,获取所述目标数据库的低权限账号,对所述低权项账号进行权限提取,以得到所述目标数据库的敏感数据进行渗透攻击;当获取到的所述安全漏洞信息对应的漏洞类型为操作系统账户类型时,获取所述目标数据库对应的操作系统账号,根据所述操作系统账号对所述目标数据库进行渗透攻击。
可以理解的是,渗透攻击根据漏洞的不同分为免登陆渗透攻击、低权限渗透攻击、操作系统账户渗透攻击。免登陆渗透攻击无需掌握数据库的登录账号信息就可以完成整个攻击过程。低权限渗透攻击中攻击者利用低权限账号就能够进行提权,获取敏感数据,引起拒绝服务,执行任意SQL操作等。操作系统账户渗透攻击主要是利用操作系统账户实现账号提权、覆盖文件以及执行任意操作系统命令等效果。
在一个示例性实施例中,上述执行模块,还用于获取所述渗透攻击方式对所述目标数据库的漏洞进行攻击的攻击结果;确认产生所述攻击结果的所述目标数据库中的数据服务是否变化;当所述数据服务发生变化时,确定所述目标数据库中引起服务变化的数据信息,根据所述数据信息确定所述目标数据库的漏洞。
即当完成整个漏洞攻击后,攻击者是否达到漏洞攻击效果需要进行进一步检测。根据漏洞的不同分类,对于每种漏洞的攻击效果进行验证,进而可根据对不同漏洞攻击后引起的数据改变,确定对应的漏洞种类,例如,拒绝服务漏洞可以验证攻击前后数据库服务是否发生变化。
在一个示例性实施例中,上述装置还包括:控制模块,用于通过所述漏洞对目标数据库进行远程控制连接;利用所述远程控制连接采集目标数据库当前的数据库系统信息及当前的操作系统信息,其中,所述数据库系统信息用于指示目标数据库在运行时产生的管理信息,所述操作系统信息用于指示与目标数据库存在操作联系的目标主机执行数据操作时产生的系统信息;根据所述数据库系统信息及所述操作系统信息确定所述目标数据库进行安全优化的方向。
可以理解的是,借助成功利用的数据库漏洞,在被攻击者机器开启正向或者反向远程连接。在不对数据库和操作系统造成任何影响的前提下,通过远程连接可以收集数据库系统信息和操作系统信息,继而可以根据收集到的信息,确定当前数据库存在的数据库漏洞泄露信息的等级,以及根据收集到的信息,确认数据库漏洞的修复方式,进而提升数据库的数据安全性。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取预先设置的数据库识别列表,通过所述数据库识别列表对目标数据库进行远程识别,其中,所述数据库识别列表包含以下至少之一:数据库服务类型、数据库版本信息;
S2,根据远程识别结果对所述目标数据库进行安全检测,以确定所述目标数据库的安全漏洞信息;
S3,确定所述安全漏洞信息对应的漏洞类型,根据所述漏洞类型配置所述目标数据库对应的渗透攻击方式;
S4,执行所述目标数据库对应的渗透攻击方式,检测所述渗透攻击方式的攻击结果,根据所述攻击结果确定目标数据库存在的泄露数据库内容的漏洞。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
在一个示例性实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取预先设置的数据库识别列表,通过所述数据库识别列表对目标数据库进行远程识别,其中,所述数据库识别列表包含以下至少之一:数据库服务类型、数据库版本信息;
S2,根据远程识别结果对所述目标数据库进行安全检测,以确定所述目标数据库的安全漏洞信息;
S3,确定所述安全漏洞信息对应的漏洞类型,根据所述漏洞类型配置所述目标数据库对应的渗透攻击方式;
S4,执行所述目标数据库对应的渗透攻击方式,检测所述渗透攻击方式的攻击结果,根据所述攻击结果确定目标数据库存在的泄露数据库内容的漏洞。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种数据库的检测方法,其特征在于,包括:
获取预先设置的数据库识别列表,通过所述数据库识别列表对目标数据库进行远程识别,其中,所述数据库识别列表包含以下至少之一:数据库服务类型、数据库版本信息;
根据远程识别结果对所述目标数据库进行安全检测,以确定所述目标数据库的安全漏洞信息;
确定所述安全漏洞信息对应的漏洞类型,根据所述漏洞类型配置所述目标数据库对应的渗透攻击方式;
执行所述目标数据库对应的渗透攻击方式,检测所述渗透攻击方式的攻击结果,根据所述攻击结果确定目标数据库存在的泄露数据库内容的漏洞;
其中,所述确定所述安全漏洞信息对应的漏洞类型,根据所述漏洞类型配置所述目标数据库对应的渗透攻击方式,包括:
当获取到的所述安全漏洞信息对应的漏洞类型为免登陆类型时,直接根据对远程识别结果进行渗透攻击;
当获取到的所述安全漏洞信息对应的漏洞类型为低权限类型时,获取所述目标数据库的低权限账号,对所述低权限账号进行权限提取,以得到所述目标数据库的敏感数据进行渗透攻击;
当获取到的所述安全漏洞信息对应的漏洞类型为操作系统账户类型时,获取所述目标数据库对应的操作系统账号,根据所述操作系统账号对所述目标数据库进行渗透攻击;
其中,所述根据远程识别结果对所述目标数据库进行安全检测,以确定所述目标数据库的安全漏洞信息之前,所述方法还包括:
根据所述远程识别结果确定与所述目标数据库进行连接的目标主机的操作系统信息;
将所述操作系统信息作为确定所述目标数据库的渗透攻击方式的参考信息;
其中,所述根据远程识别结果对所述目标数据库的进行安全检测,获得所述目标数据库的安全漏洞信息,包括:
根据所述远程识别结果检测所述目标数据库的安全弱点,其中,所述安全弱点包含以下至少之一:目标数据库的安全配置缺陷、目标数据库的用户名脆弱性、目标数据库的用户密码脆弱性、目标数据库的弱口令;
根据所述安全弱点的检测结果确定出所述目标数据库所具有的安全漏洞信息。
2.根据权利要求1所述的方法,其特征在于,根据所述攻击结果确定目标数据库存在的泄露数据库内容的漏洞,包括:
获取所述渗透攻击方式对所述目标数据库的漏洞进行攻击的攻击结果;
确认产生所述攻击结果的所述目标数据库中的数据服务是否变化;
当所述数据服务发生变化时,确定所述目标数据库中引起服务变化的数据信息,根据所述数据信息确定所述目标数据库的漏洞。
3.根据权利要求1所述的方法,其特征在于,执行所述目标数据库的对应的渗透攻击方式,检测所述渗透攻击方式的攻击结果,根据所述攻击结果确定目标数据库存在的泄露数据库内容的漏洞之后,所述方法还包括:
通过所述漏洞对目标数据库进行远程控制连接;
利用所述远程控制连接采集目标数据库当前的数据库系统信息及当前的操作系统信息,其中,所述数据库系统信息用于指示目标数据库在运行时产生的管理信息,所述操作系统信息用于指示与目标数据库存在操作联系的目标主机执行数据操作时产生的系统信息;
根据所述数据库系统信息及所述操作系统信息确定所述目标数据库进行安全优化的方向。
4.一种数据库的检测装置,其特征在于,包括:
获取模块,用于获取预先设置的数据库识别列表,通过所述数据库识别列表对目标数据库进行远程识别,其中,所述数据库识别列表包含以下至少之一:数据库服务类型、数据库版本信息;
检测模块,用于根据远程识别结果对所述目标数据库进行安全检测,以确定所述目标数据库的安全漏洞信息;
配置模块,用于确定所述安全漏洞信息对应的漏洞类型,根据所述漏洞类型配置所述目标数据库对应的渗透攻击方式;
执行模块,用于执行所述目标数据库对应的渗透攻击方式,检测所述渗透攻击方式的攻击结果,根据所述攻击结果确定目标数据库存在的泄露数据库内容的漏洞;
所述配置模块,还用于当获取到的所述安全漏洞信息对应的漏洞类型为免登陆类型时,直接根据对远程识别结果进行渗透攻击;当获取到的所述安全漏洞信息对应的漏洞类型为低权限类型时,获取所述目标数据库的低权限账号,对所述低权限账号进行权限提取,以得到所述目标数据库的敏感数据进行渗透攻击;当获取到的所述安全漏洞信息对应的漏洞类型为操作系统账户类型时,获取所述目标数据库对应的操作系统账号,根据所述操作系统账号对所述目标数据库进行渗透攻击;
所述装置还包括:确定模块,用于根据所述远程识别结果确定与所述目标数据库进行连接的目标主机的操作系统信息;将所述操作系统信息作为确定所述目标数据库的渗透攻击方式的参考信息;
所述检测模块,还用于根据所述远程识别结果检测所述目标数据库的安全弱点,其中,所述安全弱点包含以下至少之一:目标数据库的安全配置缺陷、目标数据库的用户名脆弱性、目标数据库的用户密码脆弱性、目标数据库的弱口令;根据所述安全弱点的检测结果确定出所述目标数据库所具有的安全漏洞信息。
5.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至3任一项中所述的方法。
6.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至3任一项中所述的方法。
CN202110197263.6A 2021-02-22 2021-02-22 数据库的检测方法及装置、存储介质及电子装置 Active CN112818352B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110197263.6A CN112818352B (zh) 2021-02-22 2021-02-22 数据库的检测方法及装置、存储介质及电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110197263.6A CN112818352B (zh) 2021-02-22 2021-02-22 数据库的检测方法及装置、存储介质及电子装置

Publications (2)

Publication Number Publication Date
CN112818352A CN112818352A (zh) 2021-05-18
CN112818352B true CN112818352B (zh) 2022-05-10

Family

ID=75864601

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110197263.6A Active CN112818352B (zh) 2021-02-22 2021-02-22 数据库的检测方法及装置、存储介质及电子装置

Country Status (1)

Country Link
CN (1) CN112818352B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113343246B (zh) * 2021-05-28 2023-05-23 福建榕基软件股份有限公司 一种检测数据库漏洞的方法及终端
CN113094717B (zh) * 2021-06-08 2021-09-21 中国电子信息产业集团有限公司第六研究所 效果评估方法、装置、电子设备及可读存储介质
CN113672933B (zh) * 2021-08-06 2023-06-20 中国科学院软件研究所 一种鸿蒙安全漏洞检测方法和系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104363236A (zh) * 2014-11-21 2015-02-18 西安邮电大学 一种自动化漏洞验证的方法
CN107480531A (zh) * 2017-07-18 2017-12-15 北京计算机技术及应用研究所 基于漏洞库的自动化软件漏洞验证系统及方法
CN109325351B (zh) * 2018-08-23 2021-04-09 中通服咨询设计研究院有限公司 一种基于众测平台的安全漏洞自动化验证系统

Also Published As

Publication number Publication date
CN112818352A (zh) 2021-05-18

Similar Documents

Publication Publication Date Title
CN109325351B (zh) 一种基于众测平台的安全漏洞自动化验证系统
CN112818352B (zh) 数据库的检测方法及装置、存储介质及电子装置
CN109711171B (zh) 软件漏洞的定位方法及装置、系统、存储介质、电子装置
CN106828362B (zh) 汽车信息的安全测试方法及装置
US10257222B2 (en) Cloud checking and killing method, device and system for combating anti-antivirus test
CN107634931A (zh) 异常数据的处理方法、云端服务器、网关及终端
CN110677381A (zh) 渗透测试的方法及装置、存储介质、电子装置
CN110881024B (zh) 漏洞的探测方法及装置、存储介质、电子装置
CN109063486B (zh) 一种基于plc设备指纹识别的安全渗透测试方法与系统
CN113032792A (zh) 系统业务漏洞检测方法、系统、设备及存储介质
CN111884989B (zh) 一种针对电力web系统的漏洞探测方法和系统
CN108965251B (zh) 一种云端结合的安全手机防护系统
CN105825129A (zh) 一种融合通信中恶意软件鉴别方法和系统
CN110768951A (zh) 验证系统漏洞的方法及装置、存储介质、电子装置
CN110765333A (zh) 采集网站信息的方法及装置、存储介质、电子装置
CN113315767A (zh) 一种电力物联网设备安全检测系统及方法
CN107332804A (zh) 网页漏洞的检测方法及装置
CN110768949B (zh) 探测漏洞的方法及装置、存储介质、电子装置
CN110768947B (zh) 渗透测试的口令发送方法及装置、存储介质、电子装置
CN117579395B (zh) 一种应用人工智能进行网络安全漏洞扫描的方法及系统
CN110768950A (zh) 渗透指令的发送方法及装置、存储介质、电子装置
CN113901475A (zh) 一种针对工控终端设备的输入验证漏洞的模糊挖掘方法
CN109815702B (zh) 软件行为的安全检测方法、装置及设备
CN110099041A (zh) 一种物联网防护方法及设备、系统
CN111177715A (zh) 一种移动App漏洞检测方法及装置

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