数据库漏扫技术研究
作者:潭心 思成 发布时间:2016-06-29

数据库漏洞扫描是对数据库系统进行自动化安全评估的专业技术,能够充分暴露并证明数据库系统的安全漏洞和威胁并提供智能的修复建议,将企业的数据库 安全建设工作由被动的事后追查转变为事前主动预防,将数据库的安全自查由低效的人工方式提升到高效准确的自动检查方式,并以报表的方式呈现给用户,适时提 出修补方法和安全实施策略,对数据库的安全状况进行持续化监控,从而帮助用户保持数据库的安全健康状态,实现“防患于未然”。

数据库漏洞扫描技术核心用户价值在哪里?

▪ 分析内部不安全配置,防止越权访问

通过只读账户登录到数据库服务器,实现由内到外的检测;提供现有数据的漏洞透视图和数据库配置安全评估;初步诊断内外部的非授权访问。

▪ 监控数据库安全状况,防止数据库安全状况恶化

对于数据库建立安全基线,对数据库进行定期扫描,对所有安全状况发生的变化进行及时报告和分析。

▪ 用户授权状况扫描,便于找到宽泛权限账户

对于大型业务系统中用户,以及用户的授权状况,特别是管理员权限的授予状况,是系统安全的关键;从安全合规性的角度,用户和授权状况总是审查的要点,提供自动化的收集工具,获得独立于DBA 的授权报告。

▪ 丰富的弱口令字典库比对,即时展现不安全的口令设置

基于各种主流数据库口令生成规则实现口令匹配扫描,规避基于数据库登录的用户锁定问题和效率问题。

提供基于字典库,基于规则,基于穷举的多种模式实现弱口令检测;提供2000 万弱口令字典库,兼容CSDN口令库。

▪ 发现外部黑客攻击漏洞,防止外部攻击

实现非授权的从外到内的检测;模拟黑客使用的漏洞发现技术,在没有授权的情况下,对目标数据库的安全性作深入的探测分析;收集外部人员可以利用的数据库漏洞的详细信息。

▪ 发现敏感数据,保护核心数据资产

一般应用的后台数据库都有上百个表和上千个列,要保护您的核心数据资产,首先要了解核心数据资产在什么地方,通过敏感数据发现功能对存储密码、个人标识信息、信用卡账户等的表和列进行扫描,也支持用户自定义敏感对象搜索关键字功能。

▪ 按不同安全检测要求,进行灵活的策略管理

提供策略的管理功能,将策略分类管理,可满足不同安全等级检查的需要,如等级保护、行业等安全政策。

数据库漏扫技术的功能范围

▪ DBMS安全漏洞知识库

数据库漏扫技术首先要有个能全面覆盖数据库安全隐患的知识库,包括DBMS 漏洞项、弱安全配置、补丁、缺省用户名/口令。其中基本漏洞项检测覆盖缓冲区溢出漏洞、提权漏洞、拒绝服务漏洞等。

▪ 数据库发现和安全检查

数据库漏扫要能支持多种数据库自动化检查和网络数据库发现技术,在实现数据库服务器发现的同时,还可以提供数据库端口发现。 
 数据库漏扫实现多种DBMS的密码生成技术,提供多个口令爆破库,实现快速的弱口令检测。

▪ 预定义安全策略集合

数据库漏扫要包含系列预定义的扫描策略集合,以帮助用户立即完成不同的扫描任务,比如:全面扫描对对漏洞库中的所有检测项进行扫描,基本扫描对数据 库使用缺陷、DBMS 系统缺陷进行扫描,快速扫描是对数据库使用缺陷和DBMS 系统缺陷中的风险等级为高风险及中风险的检测项进行扫描。

▪ 数据库安全状况监控

数据库漏扫不仅能作为数据库漏洞检查工具,还可实现对数据库运维状况的监控,包括相关安全配置、连接状况、用户变更状况、权限变更状况、代码变更状况等。通过周期性的监控数据库的运行状态和重要操作,展现数据库的实时的安全视图。

▪ 数据库模拟渗透攻击

在数据库的漏洞类型中,属系统注入、缓冲区溢出和拒绝服务攻击这几种类型对数据库系统造成的危害最大,为了让用户更清醒的认识到数据库的安全隐患, 数据库漏扫技术可以模拟黑客对数据库进行渗透攻击,如口令攻击、SQL注入和缓冲区溢出等,并确保对目标数据库造成危害可快速恢复。

▪ 智能修复建议

对于需手工修复的漏洞能够给出智能化漏洞修复建议,同时注明漏洞的风险等级、对数据库系统的危害和漏洞来源,便于数据库风险评估之后的安全隐患消除。

不同技术路线研究

目前数据库漏扫技术基于的主要方法是“已知入侵手段检测”和“已知漏洞扫描”,也就是基于知识库的技术。因此,决定一个漏洞扫描评估技术和产品的重 要标志之一就是能够检测的入侵种类和漏洞数量。为提升系统安全性,Oracle、SQL Server等主流数据库均开放了数据库漏洞平台,及时发布新的漏洞和补丁信息;同时,为帮助用户最大限度地获得所有安全信息,通用漏洞披露CVE和中国 国家信息安全漏洞库CNNVD等平台和组织相继建立。这些漏洞库可以被用户和安全厂商直接获取,成为数据库漏洞评估技术良好的基础支撑。

发现数据库漏洞的主要技术路线有黑盒、白盒和渗透测试三种方式。

黑盒检测方法的原理是在不知道数据库登录账户的情况下,根据权威的漏洞披露平台和数据库的版本号,猜测会出现哪些漏洞,传统的网络扫描就是根据黑盒检测方法出数据库漏洞检测报告的,主要存在的缺陷如下:

1、无法扫描出数据库的低安全配置和所有的弱口令;

2、如果这个版本的数据库没有安装含漏洞的组件,可能导致误报;

3、相同的数据库版本号扫描出的数据库漏洞是一样的。

白盒检测方法的原理是使用数据库用户和口令登录,基于漏洞知识库构建漏洞描述和修复建议模型,采用检测规则库形成漏洞对应检测方法,使用国际主流安全检测脚本语言NASL脚本语言实现检测。领先的数据库漏扫技术一般采用这种方法,这种检测方法的优势如下:

1、缺省知识库将覆盖CVE、CNNVD中绝大多数重要的数据库安全威胁;

2、对于知识库的扩充或升级,只需在知识库中添加漏洞的描述和修复建议,同时补充NASL脚本检查程序,系统即可自动完成漏洞库的扩充或升级;

3、可以扫描出安全配置和弱口令等问题,对DBMS漏洞可以检测得更准。

渗透测试是模拟黑客使用的漏洞发现技术和攻击手段,在没有授权的情况下,对目标数据库的安全性作深入的探测分析,并实施攻击(有可能导致停机或对数 据库造成损害),取得系统安全威胁的真实证据。通过渗透测试,可以直接看到应用弱点被攻击的后果,如获得系统权限、执行系统命令,篡改数据等,这类检测方 法一般用于验证数据漏洞存在的情况。

数据库漏洞扫描核心技术

▪ 智能端口发现技术

实现数据库服务器的自动发现技术的瓶颈在于端口自动识别技术,对于常见的数据库服务端口,如1433是SQL Server,1521是Oracle,3306是MySQL,这类端口可以根据知识库快速识别,但对于修改了默认端口的服务识别难度就比较大。

通过“主动方式”获取指定数据库所运行的端口信息,即轮询某一范围的端口,向它发送符合特定数据库协议的连接请求,若得到符合格式的回应信息,则说明该端口为指定数据库服务所监听的端口。

以Oracle的TNS协议(服务器端与客户端的通信协议)为例,向某一端口发送连接请求,若该端口为Oracle服务器的监听端口,则其必然返回拒绝报文与重定向报文。只要收到以上两个报文之一,则说明该端口为Oracle服务的监听端口。

▪ 漏洞库的匹配技术

基于数据库系统安全漏洞知识库通过采用基于规则的匹配技术,既根据数据库攻防实验室对数据库漏洞攻击特征的研究、黑客攻击案例的分析和DBA对数据 库系统安全配置的实际经验,可以形成一套标准的数据库系统漏洞库,然后再此基础之上构成相应的匹配规则,由扫描程序自动的进行漏洞扫描工作。 
 这种技术的有效性主要取决于漏洞库的完整性。对于黑客所探知到的未知漏洞,由于没有包含在漏洞库中,其防御性则大幅度降低。另外,漏洞库的修订和更新的性能也会影响到检查结果的准确性。

▪ 国内外发展现状

国外的数据库漏洞扫描产品起步较早,产品较多,按照商业目的划分,可分为开源产品和商业产品。开源类产品包括Scuba by Imperva等;主要的商业产品有FortiDB、SecureSphere DAS、Microsoft基准安全分析器(MBSA)等。开源产品一般用于学术研究,支持的漏洞种类和个数有限,产品化程度也不高,是一种轻量级的数据 库漏扫工具,以下就主要几款国际国内主流商业产品进行分析。

▪ FortiDB

FortiDB是美国飞塔公司推出的专门用于数据漏洞评估的安全系列产品,可以通过监测密码漏洞、存储权限和配置设置来保护数据库的安全。 
 该产品拥有多种产品型号,包括FortiDB-400B,FortiDB-1000B和FortiDB-2000B,可满足多达10-60个并行数据库的 漏洞评估,具备支持大规模数据库应用的优势;同时该产品还具有很强行业合规性,符合支付行业PCI、金融行业GLBA、医疗行业HIPAA等行业法规要 求。但该产品不支持我国国家安全政策,不支持国产数据库以及中国国家信息安全漏洞库,并存在明显的自身安全特性缺失。

▪ SecureSphere DAS

Imperva公司的SecureSphere发现与评估服务器(DAS)可使企业客户通过数据资产的发现、存储数据分类及可识别误配置与潜在漏洞的综合漏洞管理,它能扩展支持大型异构环境的需求,并提供企业级报告和分析视图,包括数据风险管理和历史趋势分析。 
 但该产品不支持渗透检测功能,不利于取证。另外,也同样面临不符合国家安全政策、不支持国产数据库等问题。

▪ 国内专业的数据库安全产品

安华金和数据库漏洞扫描系统(简称DBScan)是一款帮助用户对当前的数据库系统进行自动化安全评估的专业软件,作为领先国内的数据库漏洞扫描产品,能够帮助用户防患于未然,有效暴露当前数据库系统的安全问题,提供对数据库的安全状况进行持续化监控,帮助用户保持数据库的安全健康状态。

产品能够实现以下安全检测及防护效果:

发现外部黑客攻击漏洞,防止外部攻击:实现非授权的从外到内的检测;模拟黑客使用的漏洞发现技术,在没有授权的情况下,对目标数据库的安全性作深入的探测分析;收集外部人员可以利用的数据库漏洞的详细信息。

分析内部不安全配置,防止越权访问:通过只读账户,实现由内到外的检测;提供现有数据的漏洞透视图和数据库配置安全评估;避免内外部的非授权访问。

监控数据库安全状况,防止数据库安全状况恶化:对数据库进行定期扫描,对所有安全状况发生的变化进行报告和分析。