《漏洞扫描与防护》[60M]百度网盘|pdf下载|亲测有效
《漏洞扫描与防护》[60M]百度网盘|pdf下载|亲测有效

漏洞扫描与防护 pdf下载

出版社 清华大学出版社
出版年 2019-01
页数 390页
装帧 精装
评分 8.8(豆瓣)
8.99¥ 10.99¥

内容简介

本篇主要提供漏洞扫描与防护电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com

产品特色

内容简介

本书共分为9章。首先介绍漏洞的分类、特征和发展等基本知识,漏洞扫描的技术和流程;然后分析网络设备的常见漏洞及防范措施,操作系统的常见漏洞及防范措施,数据库的常见漏洞及防范措施,Web系统的常见漏洞及防范措施,用户名及口令猜解的类型与防范措施等方面的内容;最后描述软件配置检查的方法和标准,并结合详细案例对需求和解决方案进行详细分析解读,帮助读者更透彻地掌握漏洞扫描和防护。
本书每章后均附有思考题总结该章知识点,以便为读者的进一步阅读提供思路。
本书由360企业安全集团针对高校网络空间安全专业的教学规划组织编写,既可作为信息安全、网络空间安全专业及网络工程、计算机技术应用型人才培养与认证体系中的教材,也可作为负责网络安全运维的网络管理人员和对网络空间安全感兴趣的读者的基础读物。

目录

目录

第1章漏洞的基本知识1
1.1漏洞概述1
1.1.1漏洞的定义1
1.1.2漏洞的成因2
1.2漏洞的特征与危害2
1.2.1漏洞的特征2
1.2.2漏洞的危害3
1.3漏洞的分类方式4
1.3.1漏洞的作用方式4
1.3.2漏洞的普遍性5
1.4常见的漏洞类型5
1.4.1操作系统漏洞5
1.4.2数据库漏洞6
1.4.3网络设备漏洞7
1.4.4Web漏洞7
1.4.5弱口令8
1.5漏洞的发展现状和趋势9
1.5.1漏洞安全事件9
1.5.2漏洞的发展现状10
1.5.3漏洞的发展趋势13
1.6漏洞外延应用14
1.6.1安全服务14
1.6.2补天漏洞响应平台14
思考题15第2章安全漏洞扫描系统16
2.1漏洞扫描概述16
2.1.1漏洞扫描的定义16漏洞扫描与防护目录2.1.2漏洞扫描的原理16
2.1.3漏洞扫描器17
2.2漏洞扫描的关键技术18
2.3漏洞扫描的策略及流程20
2.3.1漏洞扫描的策略20
2.3.2漏洞扫描的流程23
2.4漏洞扫描系统功能27
2.4.1漏洞扫描系统的背景27
2.4.2漏洞扫描系统的应用场景29
2.4.3漏洞扫描系统的部署方案29
2.5安全基线概述30
2.5.1安全基线的概念30
2.5.2安全基线的检测31
思考题32第3章网络设备漏洞及其防范措施33
3.1网络设备常见漏洞33
3.1.1交换机漏洞34
3.1.2路由器漏洞36
3.1.3防火墙漏洞36
3.2网络设备漏洞扫描37
3.2.1扫描器的重要性37
3.2.2常见的漏洞扫描器类型37
3.2.3商业扫描器的特点38
3.2.4常见的扫描技术39
3.3网络设备漏洞防护43
3.3.1硬件本身的防护措施43
3.3.2技术角度的防护措施46
3.3.3管理角度的防护措施47
思考题48第4章操作系统漏洞及其防范措施49
4.1操作系统的基本概念49
4.2操作系统的常见漏洞49
4.2.1Windows系统的常见漏洞49
4.2.2其他常见的操作系统漏洞51
4.3操作系统漏洞的发展趋势54
4.4操作系统安全扫描57
4.5操作系统的漏洞防护60
4.5.1Windows系统的漏洞防护60
4.5.2其他常见系统的漏洞防护62
思考题65第5章数据库系统漏洞及其防范措施66
5.1数据库常见漏洞66
5.1.1数据库漏洞类型66
5.1.2数据库漏洞的发展趋势68
5.2数据库漏洞扫描71
5.2.1数据库漏洞的成因71
5.2.2数据库漏洞扫描任务72
5.2.3数据库漏洞扫描的技术路线73
5.2.4数据库漏洞扫描的核心技术74
5.3数据库漏洞防护74
5.3.1数据库漏洞的处理74
5.3.2数据库安全防护体系75
思考题76第6章Web系统漏洞及其防范措施77
6.1HTTP基础知识77
6.1.1HTTP基本概念77
6.1.2HTTP响应78
6.1.3HTTP头信息78
6.2Web安全漏洞的发展概况80
6.3常见的Web安全漏洞80
6.4Web漏洞扫描82
6.4.1Web漏洞扫描方式82
6.4.2常见的Web漏洞扫描方法83
6.5Web漏洞处理86
6.6Web漏洞的发展趋势88
6.7Web指纹识别技术89
6.8Web认证安全92
6.8.1限制访问92
6.8.2认证的种类93
6.8.3密码认证的设计93
6.8.4封锁账户94
6.8.5保护密码94
6.8.6给用户显示错误信息的技巧94
6.8.7认证时记录日志的技巧95
6.8.8邮件认证95
6.8.9手机号认证95
6.9Web会话管理96
6.9.1生成Session的方法97
6.9.2传输Session97
6.9.3HTTPS保护97
6.9.4何时生成SessionID97
6.9.5CSRF对策98
6.9.6直接访问的防范与对策98
6.10Web安全增强技术99
思考题100第7章用户名及口令猜解101
7.1常见用户名和弱口令概述101
7.1.1常见用户名和弱口令的概念101
7.1.2弱口令的危害102
7.2常见的弱口令类型102
7.3弱口令安全防护104
7.3.1口令字典104
7.3.2弱口令猜解105
思考题108第8章软件配置检查109
8.1配置检查109
8.1.1配置不当的危害109
8.1.2配置核查至关重要110
8.1.3安全基线及配置核查的技术与方法111
8.2安全配置标准112
8.2.1中华人民共和国工业和信息化部的基线配置核查标准112
8.2.2中国移动配置核查标准114
8.2.3公安部的配置核查标准116
8.2.4中国电信安全配置核查标准116
思考题118第9章典型案例119
9.1互联网企业漏洞扫描解决方案119
9.1.1应用背景119
9.1.2企业需求120
9.1.3解决方案120
9.1.4用户价值121
思考题123英文缩略语124参考文献127

精彩书摘

第5章第5章数据库系统漏洞及其
防范措施



本章将重点介绍数据库系统的漏洞以及其防范措施,包括常见的数据库漏洞类型和漏洞成因、数据库漏洞扫描的方法和技术,以及数据库漏洞的处理方式和安全防护体系。5.15.1数据库常见漏洞5.1.1数据库漏洞类型
数据库软件常常十分复杂,包含了大量的逻辑,数据库设计开发人员在设计和开发这些逻辑的过程中难免出现疏忽或遗漏,导致数据库存在大量的安全漏洞,使得攻击者能够成功攻陷数据库。典型的数据库入侵方式有数据库端SQL注入、提权、缓冲区溢出等。
本文所说的数据库漏洞范围相对较窄,只涉及数据库本身的漏洞,不涉及应用和数据库之间的安全漏洞。该范围内的数据库漏洞可以划分为两类: 数据库软件漏洞和应用程序逻辑漏洞。其中,应用程序逻辑漏洞虽然出现在应用程序上,但最终入侵的是数据库,SQL注入就是此类漏洞的代表。
数据库软件主要包含3个主要组件: 网络监听组件、关系型数据库管理系统和SQL编程组件。网络监听组件一般是数据库通信的中心,其不仅负责接收网络请求,还要进行数据库访客身份的验证。关系型数据库管理系统主要用来保障整个数据库能够高效、有序地运行。SQL编程组件主要带给数据库一定的SQL扩展能力,如Oracle的PL/SQL。PL/SQL是把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功能或者计算的程序语言,该编程组件可以实现存储过程、创建自定义函数、实现触发器和以外部库的方式调用C和Java函数等功能。
这3个组件是数据库的核心,同时也是数据库最易受到安全威胁的部分。根据数据库被入侵的方式来分,可以将数据库漏洞分为以下4种。
1. 网络攻击的安全问题
网络监听组件不仅定义了数据库和客户端之间的通信协议,更负责对客户端进行身份验证(确认客户端用于通信的用户名和密码是否合法)。所有数据库平台都包含至少一个网络监听组件,该组件可以是一个独立的可执行文件(如Oracle),也可以是主数据库引擎进程的一部分(如微软的SQL Server)。网络监听组件的漏洞主要包括以下3类。漏洞扫描与防护第5章数据库系统漏洞及其防范措施网络监听组件被触发缓冲区重写,导致数据库服务器无法响应客户端,造成双方通信失败。简单说,就是使网络监听组件崩溃,漏洞CVE20075507就是这种类型的代表。
绕过网络监听组件身份验证,获得合法数据库账号和密码。这个类型主要有3种方式: 其一,通过劫持网络监听组件信息,把数据库的登录信息劫持到攻击者机器,获取敏感信息,甚至获取数据库管理员账号密码;其二,直接对在网络监听组件中加密的数据库登录密钥进行破解;其三,在远程登录过程中对数据库服务器进行SQL注入,利用某些特殊函数创建新的数据库账号,并为新账号创建DBA权限。
通过向网络监听组件发送含有异常数据的包,触发缓冲区溢出,夺取数据库所在操作系统控制权限。
另外,数据库的网络监听组件被攻击的可能性与其协议的复杂性成正比,通信协议越复杂,被攻击的可能性越高。TNS Listener是Oracle的网络监听组件,截至目前已被发现至少有20个漏洞,且其带来的危害都比较大,如CVE20020965、CVE20020965、CVE20075507、CVE20120072都是可以直接夺取操作系统权限的缓冲区漏洞。
2. 数据库引擎的安全问题
数据库引擎囊括了能够保证数据库高效平稳运行所需的多种不同处理逻辑和过程,复杂度很高;同时,它还包含了实现与用户交互的大量部件,包括语法分析器和优化器,以及可以让用户创建程序在数据库内部执行的运行环境。由于设计的逻辑过于复杂,程序中出现的设计错误往往会成为安全漏洞,且易被入侵者利用。从恰当的授权验证到允许攻击者获取数据库所有控制权的缓冲区溢出,这类程序设计错误难以避免。
其中较有代表性的是2007年7月Oracle公布的一个错误授权验证漏洞。该漏洞允许被篡改的SQL语句绕过执行用户被授权的权限,能够在没有相应权限的情况下对数据表执行更新、插入和删除操作。SQL Server 2005的CVE20080107也是这种类型的漏洞。该漏洞允许攻击者通过整数型缓冲区溢出漏洞控制SQL Server所在服务器。
3. 内存存储对象的安全问题
许多数据库系统都提供大量内建的存储过程和软件包,这些存储过程对象提升了数据库的性能和效率,同时也帮助管理员和开发者管理数据库系统。默认情况下,一个Oracle数据库在安装时默认拥有多达30000个可以公开访问的对象,这些对象为许多任务(包括访问OS文件、发送HTTP请求、管理XML对象、Java服务以及支持复制等)提供相应的功能。这些功能都会在网络上开启对应端口,而每多开一个网络端口,就多了一份被入侵威胁,其中包括了SQL注入、缓冲区溢出和应用程序逻辑问题等异常情况。
4. SQL编程组件的安全问题
SQL编程组件是一个比较宽泛的概念,在每种不同的数据库中功能效果存在差异,这里以Oracle的PL/SQL为例进行说明。
PL/SQL给函数和存储过程分配了两种不同权限,这使得Oracle的安全性存在大量的隐患。PL/SQL带来的最多的问题就是低权限账户提升为高权限的问题。通过Web或其他方式拿到数据库的一组低权限用户后,攻击者可以通过PL/SQL中的一些方法对低权限用户进行提权,最终控制整个数据库以及操作系统。DBMS_METADATA、CTXSYS DRILOAD、CTXSYS DRILOAD、DBMS_CDC_SUBSCRIBE、DBMS_METADATA、MDSYS、SYS.LT、LT_CTX_PKG、USER_SDO_LRS_METADATA、DBMS_EXPORT_EXTENSION、DBMS_SQL等开发工具包都出现过容许攻击者将低权限账号提权到DBA权限的漏洞。
5.1.2数据库漏洞的发展趋势
目前,数据库漏洞在数据安全中的威胁最严重。数据库漏洞的影响范围绝不仅仅是存在漏洞的数据库自身,还包括数据库所在操作系统和数据库所在局域网的安全。漏洞的问题和时间之间是密切关系的,随着时间的推移,旧的漏洞会被修复,新的漏洞会不断出现,因而漏洞不会彻底消失,会长期存在。数据库漏洞影响广、威胁大,防护者除了积极更新补丁外,还可通过合理配置提高入侵难度。对数据库漏洞进行研究探索有助于预知数据库可能出现0day漏洞的位置,尽早和客户沟通,帮助客户对数据库可能被入侵组件进行加固。下面从数据库漏洞的时间分布、威胁类型分布、攻击途径分布、利用趋势分布4个角度介绍数据库漏洞的发展趋势。
1. 按发布时间分布
从1996年开始,数据库进入安全团队的视野。同年4月,Oracle被披露出第一个安全漏洞。从1999年的4个漏洞开始,漏洞数量每年稳步增长,到2012年一年被爆出116个漏洞。由于不同数据库研究开始时间和研究深度各不相同,所以下面选取2012—2017年中5个主流数据库(Oracle、msSQL、MySQL、DB2、PostgreSQL)的漏洞进行分析,如图51所示。每年被确认的数据库漏洞数量呈震荡趋势: 数据库发布新功能的年份,漏洞数量会有一定提高;不发布或少发布新功能的年份,漏洞数量明显降低。截至2017年12月初,近6年被确认的数据库漏洞共有666个,其中2017年被确认的数据库漏洞数量为121个。
图512012—2017年数据库漏洞数量
2017年比2016年数据库漏洞数量有少量下降,减少了15个漏洞。这是因为2016年各家数据库开发了一些新功能,并且也出现了一些新的攻击手段;而2017年各家数据库主要致力于修补漏洞。2017年的121个数据库漏洞的厂商分布如图52所示。
图522017年的121个数据库漏洞的厂商分布
2. 按威胁程度分布
数据库漏洞按照对数据库的机密性、完整性和可用性的威胁程度进行分类,可分成4大类: 超高危漏洞、高危漏洞、中危漏洞和低危漏洞。其中,高危漏洞必须及时处理,低危漏洞和中危漏洞虽然没有高危漏洞严重,但在某些特定情况下也会达到高危漏洞的危害程度,所以不能轻视低危漏洞。2017年被确认的121个漏洞中,Oracle 10个、MySQL 91个、PostgreSQL 6个、Microsoft SQL Server 1个、IBM DB2 10个、Informix 3个。其中,Oracle有4个高危漏洞;MySQL虽然被爆出91个漏洞,但只有7个高危漏洞;Microsoft SQL Server、PostgreSQL和IBM DB2则没有高危漏洞;PostgreSQL 6个漏洞中含5个高危漏洞。此外,国产数据库漏洞信息会由国内的漏洞平台认证和发布,截至2017年10月,来自CNNVD和CNVD的国产数据库漏洞一共11个,全部来自安华金和攻防实验室,其中达梦数据库漏洞占10个,包含1个超高危、3个高危;Gbase数据库发现1个漏洞。数据库漏洞等级与厂商分布如图53所示。
图53数据库漏洞等级与厂商分布
3. 按攻击途径分布
数据库漏洞按攻击途径可划分为两类: 远程服务器漏洞和本地漏洞。
远程服务器漏洞主要是指位于提供网络服务的进程中的漏洞。攻击者可以通过网络在另一台计算机上直接进行攻击,无须用户进行任何操作。
本地漏洞指的是必须登录到安装软件的计算机上才能利用的漏洞。该类漏洞因利用条件苛刻,威胁也最大。
目前,数据库漏洞按照攻击途径的分布如图54所示,其中远程漏洞占74%,本地漏洞占17%。在远程漏洞中,需要登录数据库SQL层的漏洞远多于协议层的漏洞。数据库漏洞攻击入口分布如图55所示,除去不确定的漏洞,SQL层占据全部漏洞类型的81%,协议层漏洞占据9%。SQL层漏洞的利用需要先通过一组弱口令登入到数据库中,然后再使用巧妙的字符串组合进行攻击,这样会导致数据库出现拒绝服务、数据库泄漏、权限提升、操作系统被控制等多种问题。针对数据库中的SQL层可以采用对问题函数、存储过程进行权限限制等方式规避。
图54数据库漏洞按照攻击途径的分布
图55数据库漏洞攻击入口分布



4. 利用趋势分布
漏洞往往是多个一起被发现,出现在同一函数、存储过程中。数据库漏洞中的高危漏洞最关键,对高危漏洞出现的函数、存储过程进行安全加固不但有利于防护已发现的漏洞,更可能提高针对0day漏洞的预防能力。2016年,高危漏洞集中于数据库Oracle和MySQL中,分别为CVE20163609、CVE20163489、CVE20163479、CVE20163454、CVE20160639、CVE20163471。
CVE20163454和CVE20163609是Oracle的Java JVM存在的缓冲区溢出漏洞。该漏洞不需要获得目标数据库的网络访问权限或者数据库所在操作系统的访问权限,就可以导致目标数据库被完全控制、存储的所有敏感信息被盗取、数据库被彻底破坏和数据库服务被停止等问题。
CVE20163489是一个本地漏洞,存在于data pump import组件中。data pump import组件主要用来处理数据库的数据库文件的导入/导出。攻击者通过某种手段登录到数据库本地后,可以通过该组件导出某些正常渠道无权限访问的数据,从而盗取某些敏感信息。
CVE20163479是一个远程漏洞,位于Portable Clusterware组件中。该漏洞可能导致入侵者仅有一组低权限账号,就可获得数据库的部分表的访问权,获得其中的敏感信息,甚至对数据库稳定性造成一定程度的影响。
CVE20160639、CVE20163471是MySQL的两个安全漏洞,前者是远程漏洞,后者是本地漏洞。两者都是由于相对应组件中存在的变量限制不严格导致的,在某些条件下可能导致数据库信息泄漏。尤其是其中的远程漏洞,其可在无须任何账号密码的情况下,导致MySQL缓冲区溢出。
数据库安全发展到现在,权限控制和输入限制已成为核心和焦点。以上6个高危漏洞中的3个是缓冲区溢出漏洞,特别是CVE20160639,它通过对协议的破解直接对数据库缓冲区发起攻击。虽然缓冲区溢出和通信协议破解的漏洞越来越少,但其一旦出现,对数据库的破坏就是致命性的。SQL层入侵依旧是漏洞中的主流, 80%以上的漏洞都属于SQL层入侵范畴,其中主要还是利用数据库系统SQL的漏洞。大部分入侵者还是依赖对低权限用户进行升级权限,以获取更多的数据库敏感信息。数据库管理员需要严格分配用户权限,防止分配给用户过高的权限;对非必要的服务可以禁用或卸载,防止其中存在的漏洞被黑客利用,对数据库造成破坏。5.25.2数据库漏洞扫描数据库漏洞扫描是对数据库系统进行自动化安全评估的专业技术,它能够充分暴露数据库系统的安全漏洞和威胁,并提供智能的修复建议,将企业的数据库安全建设工作由被动的事后追查转变为事前的主动预防,将数据库的安全自查由低效的人工方式提升到高效准确的自动检查方式,并以报表的方式呈现给管理员,适时提出修补方法和安全实施策略,对数据库的安全状况进行持续化监控,从而帮助用户保持数据库的安全健康状态,实现“防患于未然”。
5.2.1数据库漏洞的成因
数据库系统在设计和使用时会出现很多安全隐患,这些安全隐患会直接或间接地造成数据库漏洞的出现。形成数据库漏洞的原因主要有以下5个方面。
1. 数据库管理不当
很多数据库管理人员常常只将注意力放在数据库系统的使用和管理上,对数据库安全不够重视,不能及时察觉数据库系统中可能发生的安全风险。此外,对数据的错误操作和配置也会带来安全隐患。这些管理上的不当很容易给攻击者提供可乘之机,使得数据库产生安全隐患。因此,需要提高数据管理人员的业务水平和责任心,在人为因素上避免数据库漏洞的产生。
2. 只注意网络和主机的安全,忽略数据库本身
许多信息安全人员都有一个误解,认为一旦关键的Web服务和主机操作系统漏洞得到修复,数据库就会得到保护。这种错误的想法常常导致数据库安全问题的发生。 所有现代关系数据库系统都是“端口可寻址”的,这意味着任何具有正确查询工具的人都可以规避操作系统的安全性防护机制,直接连接到数据库系统,并威胁数据库的安全。
3. 对数据库权限的管理不够严格
如果数据库系统对数据的访问权限没有严格的定义,网络中的入侵者就可以轻松访问数据库中的机密数据。并且,数据库系统自身的默认用户和密码的问题、数据库自身的安全漏洞以及管理员的后门都可能被入侵者利用,以获得更高的权限,并窃取机密数据。
4. 数据库受应用系统的影响
大部分应用系统在设计时为了节约许可证的数目,数据库中的用户数量往往只有一个或者只有少量的几个,而且不同用户的身份区别是通过建立用户名/密码表实现的。此类系统中登入到数据库的“用户”是同一个数据库用户,所有用户相对数据库平台的权限是一样的,容易造成相互冒用的情况。
5. 数据库本身存在安全漏洞
由于数据库系统功能强大,结构复杂,各种应用程序众多,所以系统本身的漏洞也非常多。这些漏洞中的某些漏洞会同时威胁到数据库本身和其所在操作系统的安全。常用的几种数据库也都有很多众所周知的漏洞。恶意用户有可能利用这些漏洞攻击数据库,侵入操作系统,以获得系统的重要数据,甚至破坏系统。计算机感染木马、恶性弹出窗口和恶意软件等造成的损失常常很小,但数据库被破坏或者恶意使用造成的后果几乎是无法弥补的。
5.2.2数据库漏洞扫描任务
主流数据库的漏洞在使用中逐步暴露,且数量庞大。为了检测出数据库系统中存在的漏洞,漏洞扫描的任务主要有以下6个方面。
1. 分析内部不安全配置,防止越权访问
通过只读账户登录到数据库服务器,实现由内到外的检测;提供现有数据的漏洞透视图和数据库配置安全评估;初步诊断内外部的非授权访问。
2. 监控数据库安全状况,防止数据库安全状况恶化
建立数据库的安全基线,对数据库进行定期扫描,对所有安全状况发生的变化及时进行报告和分析。
3. 用户授权状况扫描,便于找到宽泛权限账户
大型业务系统中,用户的授权状况,特别是管理员权限的授予状况,是系统安全的关键。从安全合规性的角度,用户和授权状况也应是审查的要点。数据库漏洞扫描可以使用自动化的收集工具,获得独立于DBA(拥有全部特权,是系统最高权限) 的授权报告。
4. 弱口令猜解,发现不安全的口令设置
基于各种主流数据库口令生成规则实现口令匹配扫描,规避基于数据库登录的用户锁定问题和效率问题,通过基于字典库、基于规则、基于穷举的多种模式实现弱口令检测。
5. 发现外部黑客攻击漏洞,防止外部攻击
实现非授权的从外到内的检测。模拟黑客使用的漏洞发现技术,在没有授权的情况下对目标数据库的安全性作深入的探测分析,收集外部人员可以利用的数据库漏洞的详细信息。
6. 发现敏感数据,保护核心数据安全
一般应用的后台数据库都有上百个表和上千个字段列,要保护核心数据资产,首先要了解核心数据存放在何处。通过敏感数据发现功能对存储密码、个人标识信息、信用卡账户等的表和列进行扫描,并重点保护这些数据。
5.2.3数据库漏洞扫描的技术路线
数据库漏洞扫描的主要技术路线有黑盒测试、白盒测试和渗透测试3种。
1. 黑盒测试
黑盒测试的原理是在不知道数据库登录账户的情况下,根据权威的漏洞披露平台和数据库的版本号,猜测会出现哪些漏洞。传统的漏洞扫描就是根据黑盒检测的方法生成数据库漏洞检测报告的,但其缺陷包括如下3个方面。
(1) 无法扫描出数据库的低安全配置和所有的弱口令。
(2) 若该版本的数据库没有安装含有漏洞的组件,则可能导致误报。
(3) 相同版本号的数据库扫描出的数据库漏洞是相同的。
2. 白盒测试
白盒测试的原理是使用数据库用户和口令登录,基于漏洞知识库构建漏洞描述和修复建议模型,采用检测规则库形成漏洞对应检测方法,使用国际主流安全检测脚本语言NASL实现检测。领先的数据库漏洞扫描技术一般采用这种方法,这种检测方法的优势如下。
(1) 命中率高。按照漏洞知识库中的漏洞信息和检测规则进行针对性测试,准确发现数据库中实际存在的漏洞。
(2) 可扩展性高。对于知识库的扩充或升级,只需在知识库中添加漏洞的描述和修复建议,同时补充NASL脚本检查程序即可,然后系统会自动完成漏洞库的扩充或升级。
(3) 可以扫描出安全配置和弱口令等问题。
3. 渗透测试
渗透测试是模拟黑客使用的漏洞发现技术和攻击手段,在没有授权的情况下,对目标数据库的安全性作深入的探测分析,并实施攻击(有可能导致停机或对数据库造成损害),取得系统安全威胁的真实证据。通过渗透测试,可以直接看到应用弱点被攻击的后果,如获得系统权限、执行系统命令、篡改数据等,这类检测方法一般用于验证数据漏洞存在的情况。
5.2.4数据库漏洞扫描的核心技术〖*2〗1. 智能端口发现技术实现数据库服务器的自动发现技术的瓶颈在于端口自动识别技术。对于常见的数据库服务端口,如SQL Server使用1433端口、Oracle使用1521端口、MySQL使用3306端口,这类默认端口可以根据知识库快速识别,但对于修改了默认端口的服务,识别难度就比较大。
智能端口发现技术通常是通过“主动方式”获取指定数据库所运行的端口信息,即轮询某一范围的端口,向其发送符合特定数据库协议的连接请求,若得到符合格式的回应信息,则说明该端口为指定数据库服务所监听的端口。
以Oracle的TNS协议(服务器端与客户端的通信协议)为例,向某一端口发送连接请求,若该端口为Oracle服务器的监听端口,则其必然返回拒绝报文与重定向报文。在接收端只要收到以上两个报文之一,则说明该端口为Oracle服务的监听端口。
2. 漏洞库的匹配技术
漏洞库的匹配技术即基于数据库系统安全漏洞知识库,按照一定的匹配规则发现漏洞的方式。首先根据数据库攻防实验室对数据库漏洞攻击特征的研究、黑客攻击案例的分析和DBA对数据库系统安全配置的实际经验,形成一套标准的数据库系统漏洞库,然后在此基础上构成相应的匹配规则,由扫描程序自动进行漏洞扫描工作。这种技术的有效性主要取决于漏洞库的完整性。对于黑客探知到的未知漏洞,由于没有包含在漏洞库中,其防御性大幅降低。另外,漏洞库的修订以及更新的状态也会影响到检查结果的准确性。5.35.3数据库漏洞防护5.3.1数据库漏洞的处理
数据库漏洞的种类繁多,且危害极大。下面介绍几种常用的处理数据库漏洞的方法。
1. 及时更新数据库软件
各大数据库软件厂商对于数据库的安全非常重视: 一方面为用户提供漏洞提交平台,收集用户使用中出现的安全漏洞;另一方面也在不断测试自身的数据库系统,主动发现漏洞。然后,各大厂商会针对收集到的所有安全漏洞给出解决方案,推出软件补丁,修复漏洞。因此,用户可以通过更新数据库软件修复安全漏洞,这也是修复数据库漏洞最直接和最有效的方式。
另外,一旦数据库软件厂商发布修复补丁后,攻击者也可以使用这些修复补丁对应的安全漏洞入侵未更新的数据库系统。因此,数据库系统的安全信息员需要时刻关注官方发布的信息,及时更新数据库系统。
2. 及时更新应用系统
入侵数据库系统不仅可以直接利用数据库的安全漏洞,也可以通过入侵数据库所在的应用系统间接地入侵数据库。一方面,在入侵应用系统后,可以获得对应数据库系统的详细信息,包括版本信息和配置信息等,提高入侵数据库系统的概率;另一方面,入侵者甚至可以通过应用系统获得数据库系统的操作权限,直接获得数据库中的数据。因此,及时更新应用系统,修复应用系统的安全漏洞也极为重要。
3. 防范SQL 注入
防范SQL注入主要在于严密地验证用户输入的合法性,防止产生输入漏洞。防范SQL注入需要在程序开发阶段时进行处理,其主要有以下3种具体的方式。
(1) 使用验证器验证用户的输入。例如,可以限制输入的长度和类型等,这样就限制了入侵者键入字符的字数,从而限制了入侵者向服务器发送大量的非法命令。
(2) 对用户输入数据进行过滤。首先对用户输入的数据进行过滤,把单引号和双引号全部过滤掉,再进行SQL语句的构造,这样就大大降低了入侵者成功入侵的概率。
(3) 利用参数化存储过程或SQL参数。利用参数化存储过程访问数据库,确保不会将输入字符串看作是可执行语句。如果不能使用存储过程,在构建SQL命令时要利用SQL参数,这样入侵者就不能使用特殊字符拼接字符串。当指定了参数的类型和长度后,如果用户输入一个无效的值到当前的数据类型中,则查询将失败。如果指定了参数的长度,就能防止大量数据传递到数据库服务器中。
5.3.2数据库安全防护体系
为了更好地保护数据库的安全,可以建立数据库安全防护体系,通过事前预警、事中防护和事后审计的方式,全方位地保护数据安全。
数据库防护体系结构图如图56所示,其包括数据库监控扫描系统、数据库防火墙系统、数据库透明加密系统、数据库审计系统,提供核心数据预警、防御事件和事后审计的集成数据库安全解决方案。
图56数据库防护体系结构图

前言/序言

网络空间安全重点规划丛书编审委员会顾问委员会主任: 沈昌祥(中国工程院院士)
特别顾问: 姚期智(美国国家科学院院士、美国人文及科学院院士、中国科学院院士、“图灵奖”获得者)
何德全(中国工程院院士)蔡吉人(中国工程院院士)
方滨兴(中国工程院院士)吴建平(中国工程院院士)
王小云(中国科学院院士)
主任: 封化民
副主任: 韩臻李建华张焕国冯登国
委员: (按姓氏拼音为序)
蔡晶晶曹珍富陈克非陈兴蜀杜瑞颖杜跃进
段海新范红高岭宫力谷大武何大可
侯整风胡爱群胡道元黄继武黄刘生荆继武
寇卫东来学嘉李晖刘建伟刘建亚马建峰
毛文波潘柱廷裴定一钱德沛秦玉海秦志光
卿斯汉仇保利任奎石文昌汪烈军王怀民
王劲松王军王丽娜王美琴王清贤王新梅
王育民吴晓平吴云坤徐明许进徐文渊
严明杨波杨庚杨义先俞能海张功萱
张红旗张宏莉张敏情张玉清郑东周福才
左英男
丛书策划: 张民

出版说明
21世纪是信息时代,信息已成为社会发展的重要战略资源,社会的信息化已成为当今世界发展的潮流和核心,而信息安全在信息社会中将扮演极为重要的角色,它会直接关系到国家安全、企业经营和人们的日常生活。 随着信息安全产业的快速发展,全球对信息安全人才的需求量不断增加,但我国目前信息安全人才极度匮乏,远远不能满足金融、商业、公安、军事和政府等部门的需求。要解决供需矛盾,必须加快信息安全人才的培养,以满足社会对信息安全人才的需求。为此,教育部继2001年批准在武汉大学开设信息安全本科专业之后,又批准了多所高等院校设立信息安全本科专业,而且许多高校和科研院所已设立了信息安全方向的具有硕士和博士学位授予权的学科点。
信息安全是计算机、通信、物理、数学等领域的交叉学科,对于这一新兴学科的培养模式和课程设置,各高校普遍缺乏经验,因此中国计算机学会教育专业委员会和清华大学出版社联合主办了“信息安全专业教育教学研讨会”等一系列研讨活动,并成立了“高等院校信息安全专业系列教材”编审委员会,由我国信息安全领域著名专家肖国镇教授担任编委会主任,指导“高等院校信息安全专业系列教材”的编写工作。编委会本着研究先行的指导原则,认真研讨国内外高等院校信息安全专业的教学体系和课程设置,进行了大量前瞻性的研究工作,而且这种研究工作将随着我国信息安全专业的发展不断深入。系列教材的作者都是既在本专业领域有深厚的学术造诣、又在教学第一线有丰富的教学经验的学者、专家。
该系列教材是我国第一套专门针对信息安全专业的教材,其特点是:
① 体系完整、结构合理、内容先进。
② 适应面广:能够满足信息安全、计算机、通信工程等相关专业对信息安全领域课程的教材要求。
③ 立体配套:除主教材外,还配有多媒体电子教案、习题与实验指导等。
④ 版本更新及时,紧跟科学技术的新发展。
在全力做好本版教材,满足学生用书的基础上,还经由专家的推荐和审定,遴选了一批国外信息安全领域优秀的教材加入到系列教材中,以进一步满足大家对外版书的需求。“高等院校信息安全专业系列教材”已于2006年年初正式列入普通高等教育“十一五”国家级教材规划。
2007年6月,教育部高等学校信息安全类专业教学指导委员会成立大会暨第一次会议在北京胜利召开。本次会议由教育部高等学校信息安全类专业教学指导委员会主任单位北京工业大学和北京电子科技学院主办,清华大学出版社协办。教育部高等学校信息安全类专业教学指导委员会的成立对我国信息安全专业的发展起到重要的指导和推动作用。2006年教育部给武汉大学下达了“信息安全专业指导性专业规范研制”的教学科研项目。2007年起该项目由教育部高等学校信息安全类专业教学指导委员会组织实施。在高教司和教指委的指导下,项目组团结一致,努力工作,克服困难,历时5年,制定出我国第一个信息安全专业指导性专业规范,于2012年年底通过经教育部高等教育司理工科教育处授权组织的专家组评审,并且已经得到武汉大学等许多高校的实际使用。2013年,新一届“教育部高等学校信息安全专业教学指导委员会”成立。经组织审查和研究决定,2014年以“教育部高等学校信息安全专业教学指导委员会”的名义正式发布《高等学校信息安全专业指导性专业规范》(由清华大学出版社正式出版)。
漏洞扫描与防护出版说明2015年6月,国务院学位委员会、教育部出台增设“网络空间安全”为一级学科的决定,将高校培养网络空间安全人才提到新的高度。2016年6月,中央网络安全和信息化领导小组办公室(下文简称中央网信办)、国家发展和改革委员会、教育部、科学技术部、工业和信息化部及人力资源和社会保障部六大部门联合发布《关于加强网络安全学科建设和人才培养的意见》(中网办发文\[2016\]4号)。为贯彻落实《关于加强网络安全学科建设和人才培养的意见》,进一步深化高等教育教学改革,促进网络安全学科专业建设和人才培养,促进网络空间安全相关核心课程和教材建设,在教育部高等学校信息安全专业教学指导委员会和中央网信办资助的网络空间安全教材建设课题组的指导下,启动了“网络空间安全重点规划丛书”的工作,由教育部高等学校信息安全专业教学指导委员会秘书长封化民校长担任编委会主任。本规划丛书基于“高等院校信息安全专业系列教材”坚实的工作基础和成果、阵容强大的编审委员会和优秀的作者队伍,目前已经有多本图书获得教育部和中央网信办等机构评选的“普通高等教育本科国家级规划教材”“普通高等教育精品教材”“中国大学出版社图书奖”和“国家网络安全优秀教材奖”等多个奖项。
“网络空间安全重点规划丛书”将根据《高等学校信息安全专业指导性专业规范》(及后续版本)和相关教材建设课题组的研究成果不断更新和扩展,进一步体现科学性、系统性和新颖性,及时反映教学改革和课程建设的新成果,并随着我国网络空间安全学科的发展不断完善,力争为我国网络空间安全相关学科专业的本科和研究生教材建设、学术出版与人才培养做出更大的贡献。
我们的Email地址是: zhangm@tup.tsinghua.edu.cn,联系人: 张民。

“网络空间安全重点规划丛书”编审委员会

前言
没有网络安全,就没有国家安全;没有网络安全人才,就没有网络安全。
为了更多、更快、更好地培养网络安全人才,如今,许多高校都在努力培养网络安全人才,都在加大投入,并聘请优秀老师,招收优秀学生,建设一流的网络空间安全专业。
网络空间安全专业建设需要体系化的培养方案、系统化的专业教材和专业化的师资队伍。优秀教材是培养网络空间安全专业人才的关键,但这是一项十分艰巨的任务。原因有二:其一,网络空间安全的涉及面非常广,包括密码学、数学、计算机、操作系统、通信工程、信息工程、数据库、硬件等多门学科,因此,其知识体系庞杂、难以梳理;其二,网络空间安全的实践性很强,技术发展更新非常快,对环境和师资要求也很高。
“漏洞扫描与防护”是高校网络空间安全和信息安全专业的基础课程,通过对漏洞各知识面的介绍帮助读者掌握漏洞扫描与防护。本书涉及的知识面宽,共分为9章。
第1章介绍漏洞基本知识,第2章介绍安全漏洞扫描系统,第3章介绍网络设备漏洞及其防范措施,第4章介绍操作系统漏洞及其防范措施,第5章介绍数据库系统漏洞及其防范措施,第6章介绍Web系统漏洞及其防范措施,第7章介绍用户名及口令猜解,第8章介绍软件配置检查,第9章介绍典型案例。
本书既适合作为高校网络空间安全、信息安全等相关专业课程的教材和参考资料,也适合网络安全研究人员作为网络空间安全的入门基础读物。
本书编写过程中得到360企业安全集团的王嘉、董少飞、任涛、裴智勇、翟胜军、北京邮电大学雷敏等专家学者的鼎力支持,在此对他们的工作表示衷心感谢!
由于作者水平有限,书中难免存在疏漏和不妥之处,欢迎读者批评指正。

作者2018年12月