【第13章】网络安全漏洞防护技术原理与应用
13.1 网络安全漏洞概述
13.1.1 网络安全漏洞概念
网络安全漏洞又称为脆弱性,简称漏洞。漏洞一般是致使网络信息系统安全策略相冲突的缺陷,这种缺陷通常称为安全隐患。安全漏洞的影响主要有机密性受损、完整性破坏、可用性降低、抗抵赖性缺失、可控制性下降、真实性不保等。根据已经公开的漏洞信息,网络信息系统的硬件层、软硬协同层、系统层、网络层、数据层、应用层、业务层、人机交互层都已被发现存在安全漏洞。
根据漏洞的补丁状况,可将漏洞分为普通漏洞和零日漏洞(zero-day vulnerability)
13.1.2 网络安全漏洞威胁
研究表明,网络信息系统漏洞的存在是网络攻击成功的必要条件之一,攻击者成功的关键在于早发现和利用目标的安全漏洞。
攻击者基于漏洞对网络系统安全构成的安全威胁主要有:敏感信息泄露、非授权访问、身份假冒、拒绝服务。网络安全重大事件几乎都会利用安全漏洞,导致全球性的网络安全危机。
漏洞时刻威胁着网络系统的安全,要实现网络系统安全,关键问题之一就是解决漏洞问题,包括漏洞检测、漏洞修补、漏洞预防等。
13.1.3 网络安全漏洞问题现状
网络信息系统的产品漏洞已是普遍性的安全问题。
国内外漏洞数据库统计显示,商业操作系统、商业数据库以及开源软件都不同程度地存在安全漏洞。美国国家漏洞库(National Vulnerability Database, NVD) 中国信息安全漏洞库 CNNVD 、中国信息安全漏洞共享平台 CNVD
---------
13.2 网络安全漏洞分类与管理
13.2.1 网络安全漏洞来源
网络信息系统的漏洞主要来自两个方面: 一方面是非技术性安全漏洞,涉及管理组织结构、管理制度、管理流程、人员管理等;另 一方面是技术性安全漏洞,主要涉及网络结构、通信协议、设备、软件产品、系统配置、应用系统等。
1. 非技术性安全漏洞的主要来源
(1) 网络安全责任主体不明确。
(2) 网络安全策略不完备。
(3) 网络安全操作技能不足。
(4) 网络安全监督缺失。
(5) 网络安全特权控制不完备。
2. 技术性安全漏洞的主要来源
(1) 设计错误(Design Error) 。
(2) 输入验证错误(Input Validation Error) 。
(3) 缓冲区溢出(Buffer Overflow)
(4) 意外情况处置错误(Exceptional Condition Handling Error) 。
(5) 访问验证错误 (Access Validation Error) 。
(6) 配置错误 (Configuration Error) 。
(7) 竞争条件 (Race Condition) 。
(8) 环境错误 (Condition Error) 。
13.2.2 网络安全漏洞分类
网络安全漏洞分类有利于漏洞信息的管理,但是目前还没有统一的漏洞分类标准。国际上较为认可的是 CVE 漏洞分类和 CVSS 漏洞分级标准。另外,还有我国信息安全漏洞分类及 OWSP漏洞分类。
1.CVE 漏洞分类
CVE 是由美国 MITRE 公司建设和维护的安全漏洞字典。
CVE 给出已经公开的安全漏洞的统一标识和规范化描述,其目标是便于共享漏洞数据。
CVE 是国际上权威的网络安全漏洞发布组织,其成员包含众多全球知名的安全企业和研究机构。
2. CVSS
CVSS 是一个通用漏洞计分系统分数计算依据由基本度量计分、时序度掀计分、环境度量计分组成。基本度量计分由攻击向量、攻击复杂性、特权要求、用户交互、完整性影响、保密性影响、可用性影响、影响范围等参数决定。时序度量计分由漏洞利用代码成熟度、修补级别、漏洞报告可信度等参数决定。环境度量计分由完整性要求、保密性要求、可用性要求、修订基本得分等决定。
3. 我国信息安全漏洞分类
我国网络安全管理部门建立了国家信息安全漏洞库(CNNVD) 漏洞分类分级标准、国家信息安全漏洞共享平台(CNVD) 漏洞分类分级标准。
4. OWASP TOP 10 漏洞分类
OW ASP (Open Web Application Security Program) 组织发布了有关 Web 应用程序的前十种安全漏洞。目前,已发布多个版本,主要的漏洞类型有注入、未验证的重定向和转发、失效的身份认证、 XML 外部实体(:XXE) 、敏感信息泄露、失效的访问控制、安全配置错误、跨站脚本(XSS) 、不安全的反序列化、使用含有已知漏洞的组件、不足的日志记录和监控、非安全加密存储。
13.2.3 网络安全漏洞发布
安全漏洞发布机制是一种向公众及用户公开漏洞信息的方法。
漏洞发布方式主要有三种形式:网站、电子邮件以及安全论坛。
漏洞信息公布内容一般包括:漏洞编号、发布日期、安全危害级别、漏洞名称、漏洞影响平台、漏洞解决建议等。
13.2.4 网络安全漏洞信息获取
无论是对攻击者还是防御者来说,网络安全漏洞信息获取都是十分必要的。攻击者通过及时掌握新发现的安全漏洞,可以更有效地实施攻击。防御者利用漏洞数据,做到及时补漏,堵塞攻击者的入侵途径。目前,国内外漏洞信息来源主要有四个方面:一是网络安全应急响应机构;二是网络安全厂商;三是 IT 产品或系统提供商;四是网络安全组织。国内外网络安全漏洞信息发布的主要来源,分别介绍如下。
1. CERT
2. Security Focus Vulnerability Database
3. 国家信息安全漏洞库 CNNVD
4. 国家信息安全漏洞共享平台 CNVD
5. 厂商漏洞信息
13.2.5 网络安全漏洞管理过程
网络安全漏洞管理主要包含以下环节 。
1.网络信息系统资产确认
2.网络安全漏洞信息采集
3. 网络安全漏洞评估
4. 网络安全漏洞消除和控制
5.网络安全漏洞变化跟踪
---------
13.3 网络安全淜洞扫描技术与应用
网络安全漏洞是网络信息系统的重要安全隐患,本节主要阐述网络信息系统的漏洞检查技术,通常称为网络安全漏洞扫描,简称为漏洞扫描器。同时,分析网络安全漏洞扫描的应用场景,包括服务器、网站、网络设备、数据库等安全漏洞检查。
13.3.1 网络安全漏洞扫描
网络安全漏洞扫描是一种用于检测系统中漏洞的技术,是具有漏洞扫描功能的软件或设备,简称为漏洞扫描器。
漏洞扫描器一般包括用户界面、扫描引擎、漏洞扫描结果分析、漏洞信息及配置参数库等主要功能模块,具体模块功能介绍如下:
(1) 用户界面。
(2) 扫描引擎。
(3) 漏洞扫描结果分析。
(4) 漏洞信息及配置参数库。
漏洞扫描器主要分为三种:。
1. 主机漏洞扫描器
2. 网络漏洞扫描器
3. 专用漏洞扫描器
13.3.2 网络安全漏洞扫描应用
网络安全漏洞扫描常用于网络信息系统安全检查和风险评估。通常利用漏洞扫描器检查发现服务器、网站、网络设备、数据库等的安全隐患,以防止攻击者利用。同时,根据漏洞扫描器的结果,对扫描对象及相关的业务开展网络安全风险评估。
---------
13.4 网络安全漏洞处置技术与应用
13.4.1 网络安全漏洞发现技术
研究表明,攻击者要成功入侵,关键在于及早发现和利用目标信息系统的安全漏洞。
网络安全漏洞的发现方法主要依赖于人工安全性分析、工具自动化检测及人工智能辅助分析。安全漏洞发现的通常方法是将已发现的安全漏洞进行总结,形成一个漏洞特征库,然后利用该漏洞库,通过人工安全分析或者程序智能化识别。漏洞发现技术主要有文本搜索、词法分析、范围检查、状态机检查、错误注入、模糊测试、动态污点分析、形式化验证等。
13.4.2 网络安全漏洞修补技术
补丁管理是一个系统的、周而复始的工作,主要由六个环节组成,分别是现状分析、补丁跟踪、补丁验证、补丁安装、应急处理和补丁检查。
13.4.3 网络安全漏洞利用防范技术
网络安全漏洞利用防范技术主要针对漏洞触发利用的条件进行干扰或拦截,以防止攻击者成功利用漏洞。
常见的网络安全漏洞利用防范技术主要如下。
1. 地址空间随机化技术
缓冲区溢出攻击是利用缓冲区溢出漏洞所进行的攻击行动,会以 shellcode 地址来覆盖程序原有的返回地址。地址空间随机化(Address Space Layout Randomization, ASLR) 就是通过对程序加载到内存的地址进行随机化处理,使得攻击者不能事先确定程序的返回地址值,从而降低攻击成功的概率。
2. 数据执行阻止(Data Execution Prevention)
利用 DEP, 可以有效地保护应用程序的堆栈区域,防止被攻击者利用。
3. SEHOP
SEHOP 是 Structured Exception Handler Overwrite Protection 的缩写,其原理是防止攻击者利用 Structured Exception Handler(SEH) 重写。
4. 堆栈保护
堆栈保护(Stack Protection) 的技术原理是通过设置堆栈完整性标记以检测函数调用返回地址是否被篡改,从而阻止攻击者利用缓冲区漏洞。
5. 虚拟补丁
虚拟补丁的工作原理是对尚未进行漏洞永久补丁修复的目标系统程序,在不修改可执行程序的前提下,检测进入目标系统的网络流量而过滤掉漏洞攻击数据包,从而保护目标系统程序免受攻击。
---------
13.5 网络安全漏洞防护主要产品与技术指标
13.5.1 网络安全漏洞扫描器
网络安全漏洞扫描器的产品技术原理是利用已公开的漏洞信息及特征,通过程序对目标系统进行自动化分析,以确认目标系统是否存在相应的安全漏洞。漏洞扫描器产品通常简称为"漏扫"。漏洞扫描器既是攻击者的有力工具,又是防守者的必备工具。利用漏洞扫描器可以自动检查信息系统的漏洞,以便及时消除安全隐患。
开源漏洞扫描器有 Nessus 、OpenVAS 、Nmap 等。
网络安全漏洞扫描产品常见的技术指标阐述如下:
(1) 漏洞扫描主机数量。产品扫描主机的数量,有无 IP 或域名限制。
(2) 漏洞扫描并发数。产品支持并发扫描任务的数量。
(3) 漏洞扫描速度。产品在单位时间内完成扫描漏洞任务的效率。
(4) 漏洞检测能力。产品检查漏洞的数量和类型,提供的漏洞知识库中是否覆盖主流操作系统、数据库、网络设备。
(5) 数据库漏洞检查功能。对Oracle 、MySQL 、MSSQL 、DB2 、Sybase 、PostgreSQL 、Mongo DB 等数据库漏洞检查的支持程度。
(6) Web 应用漏洞检查功能 。对 SQL 注入、跨站脚本、网站挂马、网页木马、CGI 漏洞等的检查能力。
(7)口令检查功能。产品支持的口令猜测方式类型,常见的口令猜测方式是利用SMB 、Telnet 、FTP 、SSH 、POP3 、Tomcat 、SQLServer 、MySQL 、Oracle 、Sybase 、DB2 、SNMP 等进行口令猜测。是否支持外挂用户提供的用户名字典、密码字典和用户名密码组合字典。
(8) 标准兼容性。产品漏洞信息是否兼容 CVE 、CNNVD 、CNVD 、BugTraq 等主流标准,并提供 CVE 兼容(CVE Compatible) 证书。
(9) 部署环境难易程度。产品对部署环境要求的复杂程度,是否支待虚拟化 VM 平台部署。
13.5.2 网络安全漏洞服务平台
13.5.3 网络安全漏洞防护网关
常见产品的形式是入侵防御系统IPS (Intrusion Prevention System) 、 Web 防火墙(简称 WAF) 、统一威胁管理(UTM) 等
相关产品常见的技术指标主要如下:
•阻断安全漏洞攻击的种类与数量。产品能够防御安全漏洞被攻击利用的类型及数量。
•阻断安全漏洞攻击的准确率。产品能够检测并有效阻止安全漏洞被攻击利用的正确程度。
•阻断安全漏洞攻击的性能。在单位时间内产品能够检测并有效阻止安全漏洞被攻击利用的数量。
•支持网络带宽的能力。产品对网络流量大小的控制能力。