首页> 中国专利> 非授权数据库漏洞扫描方法、系统、存储介质及设备

非授权数据库漏洞扫描方法、系统、存储介质及设备

摘要

本发明提供一种非授权数据库漏洞扫描方法、系统、存储介质及设备,所述方法包括:扫描获取一数据库对外开放的开放端口号;以开放端口号扫描预设的端口与类型映射表,以从端口与类型映射表中获取数据库的数据库类型;根据开放端口号和数据库类型向数据库建立通信连接,并从数据库基于通信连接返回的信息中提取数据库的版本号;以版本号扫描预设的漏洞信息库,以从漏洞信息库中获取数据库的漏洞信息。本发明实现自动提取数据库的信息,可以不需要人工参与就能自动完成漏洞扫描,大大提升效率和体感,并且通过获取版本号后,把版本号和数据库策略支持的版本号做对比,如果策略不支持该版本,不需要继续运行策略,避免引起系统异常。

著录项

  • 公开/公告号CN112395618A

    专利类型发明专利

  • 公开/公告日2021-02-23

    原文格式PDF

  • 申请/专利权人 杭州安恒信息技术股份有限公司;

    申请/专利号CN202011279900.6

  • 发明设计人 陈礼;范渊;黄进;

    申请日2020-11-16

  • 分类号G06F21/57(20130101);

  • 代理机构33250 杭州华进联浙知识产权代理有限公司;

  • 代理人范丽霞

  • 地址 310051 浙江省杭州市滨江区西兴街道联慧街188号

  • 入库时间 2023-06-19 09:58:59

说明书

技术领域

本发明涉及数据库漏洞扫描技术领域,特别涉及一种非授权数据库漏洞扫描方法、系统、存储介质及设备。

背景技术

信息安全问题受到越来越多的重视。随着黑客攻击技术的发展,信息系统的网络安全问题不断出现,攻击者的手段也日益先进,信息安全防御技术也需要不断更新。常见的黑客攻击有通过扫描服务器数据库的各种漏洞,利用漏洞攻破服务器入侵系统,进行非权限操作和访问,进而控制和操作系统,极易造成巨大损失。

为此,如何自动扫描出数据库的各种漏洞,以及时让用户及时修补,成为了防止黑客通过漏洞攻击的关键所在。常见的非授权数据库漏洞扫描方法有用户授权扫描方式和非授权扫描方式。用户授权扫描是指用户登录数据库后进行数据库系统漏洞扫描。对比常见的授权扫描,非授权扫描是在用户未登录数据库时使用的非授权数据库漏洞扫描技术。由于授权扫描需要用户输入账号和密码,存在泄露风险,因此非授权扫描方式更为常见。

现有技术当中,目前非授权数据库漏洞扫描过程,需要人为输入数据库的信息(如类型、版本号等),效率低且体验感差,并且当策略库不支持当前数据库的版本时还会继续运行扫描,引起系统异常。

发明内容

基于此,本发明的目的是提供一种非授权数据库漏洞扫描方法、系统、存储介质及设备,旨在解决现有非授权数据库漏洞扫描方式需要人为输入数据库信息的技术问题。

根据本发明实施例的一种非授权数据库漏洞扫描方法,所述方法包括:

扫描获取一数据库对外开放的开放端口号;

以所述开放端口号扫描预设的端口与类型映射表,以从所述端口与类型映射表中获取所述数据库的数据库类型;

根据所述开放端口号和所述数据库类型向所述数据库建立通信连接,并从所述数据库基于所述通信连接返回的信息中提取所述数据库的版本号;

以所述版本号扫描预设的漏洞信息库,以从所述漏洞信息库中获取所述数据库的漏洞信息。

另外,根据本发明上述实施例的一种非授权数据库漏洞扫描方法,还可以具有如下附加的技术特征:

优选地,根据所述开放端口号和所述数据库类型向所述数据库建立通信连接,并从所述数据库基于所述通信连接返回的信息中提取所述数据库的版本号的步骤包括:

根据所述开放端口号和所述数据库类型向所述数据库建立SOCKET连接;

接收所述数据库基于所述SOCKET连接返回的连接返回信息;

解析所述连接返回信息,以从所述连接返回信息中提取出所述数据库的版本号。

优选地,所述漏洞信息库包含多个预设的版本与漏洞映射表,以所述版本号扫描预设的漏洞信息库,以从所述漏洞信息库中获取所述数据库的漏洞信息的步骤包括:

根据所述版本号扫描所述漏洞信息库,以确定所述版本号对应的所述版本与漏洞映射表;

从确定的所述版本与漏洞映射表当中获取所述版本号对应的漏洞信息,以得到所述数据库的漏洞信息。

优选地,从所述数据库基于所述通信连接返回的信息中提取所述数据库的版本号的步骤之后,还包括:

判断所述版本号是否存在于预设的版本号库当中,所述版本号库预存有支持漏洞扫描的版本号;

若是,则执行以所述版本号扫描预设的漏洞信息库,以从所述漏洞信息库中获取所述数据库的漏洞信息的步骤。

优选地,还包括:

当以所述开放端口号扫描所述端口与类型映射表未获取到所述数据库的数据库类型时,获取用户输入的数据库类型。

优选地,从所述漏洞信息库中获取所述数据库的漏洞信息的步骤之后,还包括:

判断所述漏洞信息的生成时间与所述版本号的生成时间是否一致;

若是,则判定所述漏洞信息与所述版本号匹配;

若否,则判定所述漏洞信息与所述版本号不匹配。

优选地,判定所述漏洞信息与所述版本号不匹配的步骤之后,还包括:

判断本次数据库漏洞扫描过程是否存在人工干预,所述人工干预为人工输入信息;

若是,则重新提示用户输入所述人工干预节点对应要求输入的信息。

本发明实施例还提出一种非授权数据库漏洞扫描系统,所述系统包括:

端口扫描模块,用于扫描获取一数据库对外开放的开放端口号;

类型获取模块,用于以所述开放端口号扫描预设的端口与类型映射表,以从所述端口与类型映射表中获取所述数据库的数据库类型;

版本号获取模块,用于根据所述开放端口号和所述数据库类型,获取所述数据库的版本号;

漏洞获取模块,用于以所述版本号扫描预设的漏洞信息库,以从所述漏洞信息库中获取所述数据库的漏洞信息。

本发明还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的非授权数据库漏洞扫描方法。

本发明还提出一种非授权数据库漏洞扫描设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的非授权数据库漏洞扫描方法。

与现有技术相比:通过扫描获取数据库对外开放的开放端口号,并以开放端口号扫描预设的端口与类型映射表,以自动获取数据库的数据库类型,并基于数据库类型和开放端口号向数据库建立通信连接,以从数据库返回信息中自动提取数据库版本号,从而自动提取数据库的信息,可以不需要人工参与就能自动完成漏洞扫描,大大提升效率和体感。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本发明第一实施例中的非授权数据库漏洞扫描方法的流程图;

图2为本发明第二实施例中的非授权数据库漏洞扫描方法的流程图;

图3为本发明第三实施例中的非授权数据库漏洞扫描方法的流程图;

图4为本发明第四实施例中的非授权数据库漏洞扫描系统的结构示意图;

图5为本发明第五实施例中的非授权数据库漏洞扫描设备的结构示意图;

以下具体实施方式将结合上述附图进一步说明本发明。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。

在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。

除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。

实施例一

请参阅图1,所示为本发明实施例一中的非授权数据库漏洞扫描方法,可应用于非授权数据库漏洞扫描设备当中,例如非授权数据库漏洞扫描设备具体可以为带有数据库的服务器,该服务器则可利用本非授权数据库漏洞扫描方法对其自身的数据库进行漏洞扫描;所述非授权数据库漏洞扫描方法可以通过软件和/或硬件来实现,所述方法具体包括步骤S01至步骤S04。

步骤S01,扫描获取一数据库对外开放的开放端口号。

其中,所述开放端口号具体为数据库对外连接时使用的IP端口号。具体地,IP端口号可以记录于数据库的属性信息当中,通过扫描遍历数据库的属性信息,得到IP端口号。或者也可以从数据库与外界的通讯信息当中解析出数据库的IP端口号。或者数据库对外连接时使用的IP端口号也可以是设备本身对外通讯用的IP端口号,例如服务器的数据库和服务器共用IP端口号。

步骤S02,以所述开放端口号扫描预设的端口与类型映射表,以从所述端口与类型映射表中获取所述数据库的数据库类型。

在具体实施时,可以将常见的不同数据库类型对外开放的IP端口号收集,形成所述预设的端口与类型映射表。使得在具体漏洞扫描时,就可以基于扫描获取的数据库对外开放的开放端口号在端口与类型映射表中快速、自动获取该数据库的数据库类型。

步骤S03,根据所述开放端口号和所述数据库类型向所述数据库建立通信连接,并从所述数据库基于所述通信连接返回的信息中提取所述数据库的版本号。

应当理解的,开放端口号可以作为通讯地址定位到数据库,使得通信连接能够传递给数据库;数据库类型可以确定向数据库发送的通信连接报文的类型,即确定数据库支持何种类型的通信连接请求。为此,可以基于开放端口号和数据库类型成功向数据库建立通信连接,从而读取数据库的版本号(如V2.1版本等)。

步骤S04,以所述版本号扫描预设的漏洞信息库,以从所述漏洞信息库中获取所述数据库的漏洞信息。

需要说明的是,漏洞信息库当中的漏洞信息可由中国国家信息安全漏洞库(CNNVD)或通用漏洞披露(CVE)提供,使得漏洞信息库中存储有各个数据库版本对应存在的漏洞信息。为此基于数据库的版本号,即可从漏洞信息库中获取数据库当前存在的漏洞信息。

综上,本实施例当中的非授权数据库漏洞扫描方法,通过扫描获取数据库对外开放的开放端口号,并以开放端口号扫描预设的端口与类型映射表,以自动获取数据库的数据库类型,并基于数据库类型和开放端口号向数据库建立通信连接,以从数据库返回信息中自动提取数据库版本号,从而自动提取数据库的信息,可以不需要人工参与就能自动完成漏洞扫描,大大提升效率和体感。

实施例二

请参阅图2,所示为本发明实施例二中的非授权数据库漏洞扫描方法,可应用于非授权数据库漏洞扫描设备当中,所述非授权数据库漏洞扫描方法可以通过软件和/或硬件来实现,所述方法具体包括步骤S11至步骤S20。

步骤S11,扫描获取一数据库对外开放的开放端口号。

其中,所述开放端口号具体为数据库对外连接时使用的IP端口号。具体地,IP端口号可以记录于数据库的属性信息当中,通过扫描遍历数据库的属性信息,得到IP端口号。或者也可以从数据库与外界的通讯信息当中解析出数据库的IP端口号。或者数据库对外连接时使用的IP端口号也可以是设备本身对外通讯用的IP端口号,例如服务器的数据库和服务器共用IP端口号。

步骤S12,以所述开放端口号扫描预设的端口与类型映射表,以从所述端口与类型映射表中获取所述数据库的数据库类型。

在具体实施时,可以将常见的不同数据库类型对外开放的IP端口号收集,形成所述预设的端口与类型映射表。使得在具体漏洞扫描时,就可以基于扫描获取的数据库对外开放的开放端口号在端口与类型映射表中快速、自动获取该数据库的数据库类型。

步骤S13,判断从所述端口与类型映射表中是否获取到所述数据库的数据库类型。

其中,当判断到从端口与类型映射表中获取到数据库的数据库类型时,直接执行步骤S15,当判断到从端口与类型映射表中未获取到数据库的数据库类型时,则先执行步骤S14再执行步骤S15。

步骤S14,获取用户输入的数据库类型。

也即,在本实施例当中,先以开放端口号从端口与类型映射表中自动提取数据库类型;当端口与类型映射表中未预存该开放端口号对应的数据库类型时,则此时从无法自动获取数据库类型,则提供用户输入窗口,以由人工指定数据库类型,为此本实施例同时兼容自动、手动两种数据库类型获取方式,容错率更高,能够更好地应对新数据库版本对漏洞扫描的要求。

步骤S15,根据所述开放端口号和所述数据库类型向所述数据库建立SOCKET连接。

步骤S16,接收所述数据库基于所述SOCKET连接返回的Banner信息。

步骤S17,解析所述Banner信息,以从所述Banner信息中提取出所述数据库的版本号。

需要说明的是,网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个SOCKET。Banner信息即为连接返回信息,通过对Banner信息进行解析,即可提取出数据库的版本号。

步骤S18,判断所述版本号是否存在于预设的版本号库当中,所述版本号库预存有支持漏洞扫描的版本号。当判断到版本号存在于预设的版本号库当中时,执行步骤S19,当判断到版本号不存在于预设的版本号库当中时,则不再往下执行,避免因漏洞扫描策略不支持该版本而导致系统异常。

步骤S19,根据所述版本号扫描所述漏洞信息库,以确定所述版本号对应的所述版本与漏洞映射表。

步骤S20,从确定的所述版本与漏洞映射表当中获取所述版本号对应的漏洞信息,以得到所述数据库的漏洞信息。

需要说明的是,漏洞信息库当中的漏洞信息可由中国国家信息安全漏洞库(CNNVD)或通用漏洞披露(CVE)提供。具体地,漏洞信息库中包含多个预设的版本与漏洞映射表,即漏洞信息库中包括多张表,每张表对应一类数据库,每张表中记录数据库漏洞信息。由于CNNVD或CVE可能不会具体到所有小版本号,只提供大版本号,大版本号下面的小版本号对应的漏洞信息存在同一表当中,因此需要罗列出数据库的详细版本号(例如V2.1.1),这样就可以在同一表当中精确找到与其对应的漏洞信息。

应当理解的,由于步骤S18已经判断到数据库的版本号存在于预设的版本号库当中,代表漏洞信息库中存在与其对应的版本与漏洞映射表,为此基于数据库的版本号,即可从漏洞信息库中确定对应的版本与漏洞映射表,最终从该版本与漏洞映射表中找到与数据库的版本号对应的漏洞信息,从而获取数据库当前存在的漏洞信息。

本实施例相比于第一实施例,通过连接端口获取版本号后,把版本号和数据库策略支持的版本号做对比。如果策略不支持该版本,不需要继续运行策略,解决了背景技术当中指出的策略库不支持当前数据库的版本时还会继续运行扫描,引起系统异常的问题。

实施例三

请参阅图3,所示为本发明实施例三中的非授权数据库漏洞扫描方法,本实施例在第二实施例的基础上进一步包括:

从所述漏洞信息库中获取所述数据库的漏洞信息的步骤之后,还包括:

步骤S31,判断所述漏洞信息的生成时间与所述版本号的生成时间是否一致;当判断到漏洞信息的生成时间与版本号的生成时间一致,执行步骤S32;当判断到漏洞信息的生成时间与版本号的生成时间不一致,执行步骤S33-步骤S35。

步骤S32,则判定所述漏洞信息与所述版本号匹配。

步骤S33,则判定所述漏洞信息与所述版本号不匹配。

步骤S34,判断本次数据库漏洞扫描过程是否存在人工干预,所述人工干预为人工输入信息;当判断到本次数据库漏洞扫描过程存在人工干预时,执行步骤S35;否则发出异常提示。

步骤S35,则重新提示用户输入所述人工干预节点对应要求输入的信息。

在具体实施时,可以在漏洞信息中记录其生成时间,使得当获取到漏洞信息之后,也同步获取到该漏洞信息的生成时间;另外,可以收集每个版本号对应的生成时间形成时间-版本号映射表,从而在获取到版本号之后,通过查表获取该版本号的生成时间;或者在Banner信息增加一时间项,即要求数据库同时返回版本号的生成时间,从而通过解析Banner信息就可以得到版本号及其生成时间。

应当理解的,一般情况下,程序漏洞自程序生成时就已存在,因此原则上漏洞信息的生成时间与版本号的生成时间一致,为此当判断到漏洞信息的生成时间与版本号的生成时间一致时,可以判定漏洞信息与版本号匹配,代表本次数据库漏洞扫描出的漏洞信息正确;反之,当判断到漏洞信息的生成时间与版本号的生成时间不一致时,可以判定漏洞信息与版本号不匹配,代表本次数据库漏洞扫描出的漏洞信息不正确,可能是其它数据库的漏洞信息,此时可以发出漏洞信息与版本号不匹配的提示,避免用户基于错误的漏洞信息对数据库进行修复。

除此之外,在判定漏洞信息与版本号不匹配之后,还会判断本次数据库漏洞扫描过程是否存在人工干预,若存在,则可能是之前人工干预输入的信息有误,则重新提示用户输入人工干预节点对应要求输入的信息,例如提示人工再次输入数据库类型(对应步骤S14),从而以新输入信息再次进行漏洞扫描。若循环扫描多次的结果均为漏洞信息与版本号不匹配,则发出异常提示。

本实施例相比于上述实施例,通过设置后端校验机制来对扫描得到的漏洞信息进行校验,提升非授权数据库漏洞扫描的可靠性,避免用户基于错误的漏洞信息对数据库进行修复。

实施例四

本发明另一方面还提供一种非授权数据库漏洞扫描系统,请查阅图4,所示为本发明实施例四中的非授权数据库漏洞扫描系统,可应用于非授权数据库漏洞扫描设备当中,具所述非授权数据库漏洞扫描系统具体包括:

端口扫描模块11,用于扫描获取一数据库对外开放的开放端口号。

类型获取模块12,用于以所述开放端口号扫描预设的端口与类型映射表,以从所述端口与类型映射表中获取所述数据库的数据库类型。

版本号获取模块13,用于根据所述开放端口号和所述数据库类型,获取所述数据库的版本号。

漏洞获取模块14,用于以所述版本号扫描预设的漏洞信息库,以从所述漏洞信息库中获取所述数据库的漏洞信息。

优选地,在本发明一些可选实施例当中,所述版本号获取模块13包括:

SOCKET连接单元,用于根据所述开放端口号和所述数据库类型向所述数据库建立SOCKET连接。

信息接收单元,用于接收所述数据库基于所述SOCKET连接返回的连接返回信息。

信息解析单元,用于解析所述连接返回信息,以从所述连接返回信息中提取出所述数据库的版本号。

优选地,在本发明一些可选实施例当中,所述漏洞信息库包含多个预设的版本与漏洞映射表,所述漏洞获取模块14包括:

映射表确定单元,用于根据所述版本号扫描所述漏洞信息库,以确定所述版本号对应的所述版本与漏洞映射表。

漏洞信息获取单元,用于从确定的所述版本与漏洞映射表当中获取所述版本号对应的漏洞信息,以得到所述数据库的漏洞信息。

优选地,在本发明一些可选实施例当中,所述非授权数据库漏洞扫描系统还包括:

版本号判断模块,用于判断所述版本号是否存在于预设的版本号库当中,所述版本号库预存有支持漏洞扫描的版本号;当所述版本号判断模块的判断结果为是时,漏洞获取模块14以所述版本号扫描预设的漏洞信息库,以从所述漏洞信息库中获取所述数据库的漏洞信息。

优选地,在本发明一些可选实施例当中,所述类型获取模块12还用于当以所述开放端口号扫描所述端口与类型映射表未获取到所述数据库的数据库类型时,获取用户输入的数据库类型。

优选地,在本发明一些可选实施例当中,所述非授权数据库漏洞扫描系统还包括:

结果判定模块,用于判断所述漏洞信息的生成时间与所述版本号的生成时间是否一致;若是,则判定所述漏洞信息与所述版本号匹配;若否,则判定所述漏洞信息与所述版本号不匹配。

优选地,在本发明一些可选实施例当中,所述非授权数据库漏洞扫描系统还包括:

干预判断模块,用于当所述结果判定模块判定所述漏洞信息与所述版本号不匹配时,判断本次数据库漏洞扫描过程是否存在人工干预,所述人工干预为人工输入信息;若是,则重新提示用户输入所述人工干预节点对应要求输入的信息。

上述各模块、单元被执行时所实现的功能或操作步骤与上述方法实施例大体相同,在此不再赘述。

综上,本发明上述实施例当中的非授权数据库漏洞扫描系统,通过扫描获取数据库对外开放的开放端口号,并以开放端口号扫描预设的端口与类型映射表,以自动获取数据库的数据库类型,并基于数据库类型和开放端口号向数据库建立通信连接,以从数据库返回信息中自动提取数据库版本号,从而自动提取数据库的信息,可以不需要人工参与就能自动完成漏洞扫描,大大提升效率和体感。此外,还通过连接端口获取版本号后,把版本号和数据库策略支持的版本号做对比。如果策略不支持该版本,不需要继续运行策略,解决了背景技术当中指出的策略库不支持当前数据库的版本时还会继续运行扫描,引起系统异常的问题。此外,还通过设置后端校验机制来对扫描得到的漏洞信息进行校验,提升非授权数据库漏洞扫描的可靠性,避免用户基于错误的漏洞信息对数据库进行修复。

实施例五

本发明另一方面还提出一种非授权数据库漏洞扫描设备,请参阅图5,所示为本发明实施例五当中的非授权数据库漏洞扫描设备,包括存储器20、处理器10以及存储在存储器20上并可在处理器10上运行的计算机程序30,所述处理器10执行所述程序30时实现如上述的非授权数据库漏洞扫描方法。

其中,所述非授权数据库漏洞扫描设备具体可以为带有数据库的计算机设备,例如服务器等,处理器10在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他非授权数据库漏洞扫描芯片,用于运行存储器20中存储的程序代码或处理数据,例如执行访问限制程序等。

其中,存储器20至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器20在一些实施例中可以是非授权数据库漏洞扫描设备的内部存储单元,例如该非授权数据库漏洞扫描设备的硬盘。存储器20在另一些实施例中也可以是非授权数据库漏洞扫描设备的外部存储装置,例如非授权数据库漏洞扫描设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器20还可以既包括非授权数据库漏洞扫描设备的内部存储单元也包括外部存储装置。存储器20不仅可以用于存储安装于非授权数据库漏洞扫描设备的应用软件及各类数据,还可以用于暂时地存储已经输出或者将要输出的数据。

需要指出的是,图5示出的结构并不构成对非授权数据库漏洞扫描设备的限定,在其它实施例当中,该非授权数据库漏洞扫描设备可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。

综上,本发明上述实施例当中的非授权数据库漏洞扫描设备,通过扫描获取数据库对外开放的开放端口号,并以开放端口号扫描预设的端口与类型映射表,以自动获取数据库的数据库类型,并基于数据库类型和开放端口号向数据库建立通信连接,以从数据库返回信息中自动提取数据库版本号,从而自动提取数据库的信息,可以不需要人工参与就能自动完成漏洞扫描,大大提升效率和体感。此外,还通过连接端口获取版本号后,把版本号和数据库策略支持的版本号做对比。如果策略不支持该版本,不需要继续运行策略,解决了背景技术当中指出的策略库不支持当前数据库的版本时还会继续运行扫描,引起系统异常的问题。此外,还通过设置后端校验机制来对扫描得到的漏洞信息进行校验,提升非授权数据库漏洞扫描的可靠性,避免用户基于错误的漏洞信息对数据库进行修复。

本发明实施例还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述的非授权数据库漏洞扫描方法。

本领域技术人员可以理解,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。

计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或它们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号