数据库虚拟补丁防护方法技术

技术编号:15616784 阅读:60 留言:0更新日期:2017-06-14 03:33
本发明专利技术公开了一种数据库虚拟补丁防护方法,包括:接收数据库厂商发布的补丁信息;对打补丁前后的数据库进行机器指令逆向分析,将可执行文件中的二进制机器指令,通过逆向还原为汇编语言代码;对汇编语言代码进行分析,表示为不同的函数和函数之间相互调用关系,将一个二进制文件就转换为一张有向图,通过分析得到二进制文件反汇编后的调用关系和函数控制流图,通过计算控制流图中基本块数量、跳转边数以及调用其它函数个数,并生成该函数的签名;根据函数签名对函数作为配对,根据配对函数和非配对函数,通过对非配对函数进行检查,定位引发安全漏洞的代码;基于漏洞信息以及定位的引发安全漏洞的代码产生有效的攻击图,进行虚拟补丁防护规则构建。

【技术实现步骤摘要】
数据库虚拟补丁防护方法
本专利技术属于数据库安全领域,是一种数据库虚拟补丁防护方法。
技术介绍
数据库系统是信息系统中的基础平台,许多政府机构、军事部门、企业公司的关键业务系统都存储数据库中,如果数据库安全无法保证,其上的应用系统也会被非法访问或破坏。尽管目前成熟的商用数据库管理系都具有诸如身份认证、访问控制、审计等安全功能,为数据库安全提供了一定的安全保障,但是在数据库安全方面还存在以下问题:1.数据库漏洞呈现不断增多态势。随着用户对数据库管理系统功能需求的提升,数据库管理系统的规模变得越来越庞大,数据库管理系统出现安全漏洞的风险在不断增加,如对这些漏洞置之不理,数据库面临核心数据被泄漏的风险。2.草率升级数据库可能导致应用异常。数据库升级、打补丁需要数据库管理员、应用系统管理员等多方的协作,若未充分考虑数据库升级、打补丁过程中可能导致的系统变化,则数据库系统升级后有可能导致应用无法正常使用。3.数据库补丁无法防止预设后门。“棱镜门”事件暴露出了国外商用数据库系统存在的严重安全隐患,国外数据库厂商、情报部门可以利用数据库管理系统自身的后门,对数据库中的数据进行监视和窃取,数据库系统设计过程中预置了后门,附属其上的安全保密机制便形同虚设。因此,数据库管理员面临着这样的困境:数据库漏洞非补不可,补漏洞又面临影响应用的风险,但无论怎样都无法从根本上防范数据库后门的无奈局面。
技术实现思路
本专利技术的目的在于提供一种数据库虚拟补丁防护方法,用于解决上述现有技术的问题。本专利技术的数据库虚拟补丁防护方法,其中,包括:接收数据库厂商发布的补丁信息;对打补丁前后的数据库进行机器指令逆向分析,将可执行文件中的二进制机器指令,通过逆向还原为汇编语言代码;对汇编语言代码进行分析,将整个程序表示为不同的函数和函数之间相互调用关系,将一个二进制文件就转换为一张有向图,通过分析得到二进制文件反汇编后的调用关系和函数控制流图,通过计算控制流图中基本块数量、跳转边数以及调用其它函数个数,并生成该函数的签名,该函数的签名对应基本块数量、跳转边数以及调用其它函数个数;根据函数签名对函数作为配对,根据配对函数和非配对函数,通过对非配对函数进行检查,定位引发安全漏洞的代码;基于漏洞信息以及定位的引发安全漏洞的代码产生有效的攻击图,进行虚拟补丁防护规则构建。根据本专利技术的数据库虚拟补丁防护方法的一实施例,其中,根据函数签名选取相同或相似的函数作为配对的条件包括:满足条件(1),同时满足条件(2)或条件(3):将数据库打补丁前后分别进行二进制逆向后,再分块,形成n个函数,打补丁前的分块结果为函数集合,打补丁后的分块结果为函数集合;条件(1):存在第一函数属于打补丁前的函数集合,存在第二函数属于打补丁后的函数集合,且第一函数与第二函数签名相同;条件(2):条件(1)中打补丁前的函数集合中,不存在第一函数外的其他函数签名与第二函数签名相同;条件(3):条件(1)中打补丁后的函数集合中,不存在第二函数外的其他函数签名与第一函数签名相同;;满足条件(1),同时满足条件(2)或条件(3)的函数为配对函数,通过对非配对函数进行检查,定位引发安全漏洞的代码。根据本专利技术的数据库虚拟补丁防护方法的一实施例,其中,基于漏洞信息产生有效的攻击图,进行虚拟补丁防护规则构建包括:以开放漏洞数据库以及根据定位的引发安全漏洞的代码得到的漏洞信息为基础建立漏洞知识库;将数据库的目标环境信息进行预处理,将环境信息按照谓词名称、属性进行分类,形成多个子目标环境项;将目标环境存储在一个树形数据结构中;根据目标环境将漏洞知识库中的攻击模式实例化为攻击图。根据本专利技术的数据库虚拟补丁防护方法的一实施例,其中,该树形数据结构包含4层节点:根节点、主机地址节点、谓词名称节点以及属性节点。综上,本专利技术为解决数据库防护中的漏洞管理修复过程所面临的各种问题,提出了一种数据库虚拟补丁防护方法具有以下优点:1.能够以CVE发布的数据库漏洞、数据库厂商发布的官方补丁信息为依据,分析漏洞的产生机理,掌握漏洞利用机制并还原对应的攻击模式;2.能够对攻击路径进行建模,并且实现了将数据库访问行为模式与模型的快速匹配;3.能够根据预设规则,对特定的行为模式进行阻断,达到防止数据库被攻击的效果。附图说明图1所示为本专利技术数据库虚拟补丁防护模块图;图2所示为数据库虚拟补丁防护模块工作流程图;图3所示为打补丁前后的数据库的对比分析流程图;图4所示为数据库的函数结构图;图5所示为函数的子函数控制流图;图6所示为攻击建模的流程图;图7所示为目标环境信息的数据结构图。具体实施方式为使本专利技术的目的、内容、和优点更加清楚,下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。图1所示为本专利技术数据库虚拟补丁防护模块图,如图1所示,数据库虚拟补丁防护模块包括:协议解析模块1、访问行为过滤模块2、请求转发模块3、规则库4、攻击分析模块5、规则录入模块6、攻击分析模块7、补丁分析模块8以及配置管理模块9。参考图1,协议解析模块1用于进行数据库服务器映射以及数据库协议解析等。访问行为过滤模块2用于进行对访问请求中的SQL语句还原,并基于规则库的特征规则,对数据库访问请求进行过滤,屏蔽针对数据库漏洞的攻击行为及用户定义的异常和误用行为。请求转发模块3用于进行访问请求重组和转发等功能。补丁分析模块8用于以数据库厂商发布的补丁信息为输入,定位补丁对应的数据库缺陷代码。攻击分析模块7用于基于权威漏洞库发布的漏洞信息或补丁分析的结果,分析缺陷代码的利用方式,获得对应的攻击模式,并抽象成访问控制规则录入规则库4。规则录入模块6用于根据需求,将用户自定义访问规则录入规则库4。配置管理模块9用于对数据库虚拟补丁防护模块的运行参数进行配置,记录设备运行日志及审计日志信息。规则库4用于存放各类漏洞利用模式、攻击模式以及异常模式等规则信息。图2所示为数据库虚拟补丁防护模块工作流程图,参考图1以及图2,数据库虚拟补丁防护方法主要包括:1.将数据库厂商发布的补丁信息输入数据库虚拟补丁防护模块;2.通过补丁对比分析方法,对补丁信息进行分析,定位补丁对应的漏洞机制;3.根据分析得到的漏洞机制或由CVE等直接发布的漏洞还原攻击方式,并进行攻击建模;4.根据攻击路径模型生成数据库防护规则,对目标数据库进行防护。图3所示为打补丁前后的数据库的对比分析流程图,图4所示为数据库的函数结构图,图5所示为函数的子函数控制流图,对于本专利技术数据库虚拟补丁防护方法具体的实施利,包括:接收数据库厂商发布的补丁信息11;对打补丁前后的数据库14进行机器指令逆向分析,将可执行文件中的二进制机器指令,通过逆向还原为汇编语言代码;对汇编代码进行分析,将整个程序表示为不同的函数和函数之间相互调用关系,将一个二进制文件就转换为一张有向图,如图3所示;通过分析得到二进制文件反汇编后的调用关系和函数控制流图,如图4所示;通过计算控制流图中基本块数量,每个基本块为一函数的子函数例如函数A中的基本块a-g的数量为6,如图4所示;跳转边数,即各子函数之间调用关系之和,例如基本块a-g之间共存在7个调用关系,如图4所示;以及调用其它函数个数,例如函数A中所调用的不属于函数A的函数的数量。并本文档来自技高网...
数据库虚拟补丁防护方法

【技术保护点】
一种数据库虚拟补丁防护方法,其特征在于,包括:接收数据库厂商发布的补丁信息;对打补丁前后的数据库进行机器指令逆向分析,将可执行文件中的二进制机器指令,通过逆向还原为汇编语言代码;对汇编语言代码进行分析,将整个程序表示为不同的函数和函数之间相互调用关系,将一个二进制文件就转换为一张有向图,通过分析得到二进制文件反汇编后的调用关系和函数控制流图,通过计算控制流图中基本块数量、跳转边数以及调用其它函数个数,并生成该函数的签名,该函数的签名对应基本块数量、跳转边数以及调用其它函数个数;根据函数签名对函数作为配对,根据配对函数和非配对函数,通过对非配对函数进行检查,定位引发安全漏洞的代码;基于漏洞信息以及定位的引发安全漏洞的代码产生有效的攻击图,进行虚拟补丁防护规则构建。

【技术特征摘要】
1.一种数据库虚拟补丁防护方法,其特征在于,包括:接收数据库厂商发布的补丁信息;对打补丁前后的数据库进行机器指令逆向分析,将可执行文件中的二进制机器指令,通过逆向还原为汇编语言代码;对汇编语言代码进行分析,将整个程序表示为不同的函数和函数之间相互调用关系,将一个二进制文件就转换为一张有向图,通过分析得到二进制文件反汇编后的调用关系和函数控制流图,通过计算控制流图中基本块数量、跳转边数以及调用其它函数个数,并生成该函数的签名,该函数的签名对应基本块数量、跳转边数以及调用其它函数个数;根据函数签名对函数作为配对,根据配对函数和非配对函数,通过对非配对函数进行检查,定位引发安全漏洞的代码;基于漏洞信息以及定位的引发安全漏洞的代码产生有效的攻击图,进行虚拟补丁防护规则构建。2.如权利要求1所述的数据库虚拟补丁防护方法,其特征在于,根据函数签名选取相同或相似的函数作为配对的条件包括:满足条件(1),同时满足条件(2)或条件(3):将数据库打补丁前后分别进行二进制逆向后,再分块,形成n个函数,打补丁前的分块结果为函数集合,打补丁后的分块结果为函...

【专利技术属性】
技术研发人员:孟宪哲毛俐旻王润高曾淑娟
申请(专利权)人:北京计算机技术及应用研究所
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1