第13章 网络安全漏洞防护技术原理与应用
13.1 网络安全漏洞概述
13.1 网络安全漏洞概念
网络安全漏洞又称为脆弱性,简称漏洞。漏洞一般是致使网络信息系统安全策略相冲突的缺陷,这种缺陷通常称为安全隐患。安全漏洞的影响主要有机密性受损、完整性破坏、可用性降低、抗抵赖性缺失、可控制性下降、真实性不保等。根据已经公开的漏洞信息,网络信息系统的硬件层、软硬协同层、系统层、网络层、数据层、应用层、业务层、人机交互层都已被发现存在安全漏洞。例如,国外网络机构已经公布了Meltdown(融化)和Spectre(幽灵)两种类型的CPU漏洞,引爆了一场全球性的网络安全危机。该漏洞允许程序窃取正在计算机上处理的数据。其他层面的安全漏洞也陆续被发现。《2018年我国互联网网络安全态势综述》中指出,此安全漏洞影响了1995年以后生产的所有Intel、AMD、ARM等CPU芯片,同时影响了各主流云服务平台及Windows、Linux、MacOS、Android等主流操作系统。
根据漏洞的补丁状况,可将漏洞分为普通漏洞和零日漏洞(zero-day vulnerability)。普通漏洞是指相关漏洞信息已经广泛公开,安全厂商已经有了解决修补方案。而零日漏洞特指系统或软件新发现的、尚未提供补丁的漏洞。零日漏洞通常被用来实施定向攻击(Targeted Attacks)。
13.1.2 网络安全漏洞威胁
研究表明,网络信息系统漏洞的存在是网络攻击成功的必要条件之一,攻击者成功的关键在于早发现和利用目标的安全漏洞。
攻击者基于漏洞对网络系统安全构成的安全威胁主要有:敏感信息泄露、非授权访问、身份假冒、拒绝服务。网络安全重大事件都会利用安全漏洞,导致全球性的网络安全危机。
由此可见,漏洞时刻威胁着网络系统的安全,要实现网络系统安全,关键问题之一就是解决漏洞问题,包括漏洞检测、漏洞修补、漏洞预防等。
13.1.3 网络安全漏洞问题现状
网络信息系统的产品漏洞已是普遍性的安全问题。国内外漏洞数据库统计显示,商业操作系统、商业数据库以及开源软件都不同程度地存在安全漏洞。人工智能(AI)、区块链、5G等新领域的漏洞问题将成为研究重点和热点。网络安全漏洞分析与管理技术正向智能化方向发展。国内外网络安全专家正在开展基于机器学习和大数据分析网络信息系统安全漏洞的研究。
安全漏洞分析与漏洞管理是网络安全的基础性工作。美国的MITRE公司开发通用漏洞披露(Common Vulnerability and Exposeures,CVE)来统一规范漏洞命名。MITRE还建立了一个通用缺陷列表(Common Weakness Enumeration,CWE),用于规范化地描述软件架构、设计及编码存在的安全漏洞。针对安全漏洞的危害性评估,事件响应与安全组织论坛(FIRST)制定和发布了通用漏洞评分系统(Common Vulnerability Scoring System,CVSS)。CVSS采用十分制的方式对安全漏洞的严重性进行计分评估,分数越高则表明漏洞的危害性越大。CVSS的最新版本是v3.0.另外,在网络攻防方面,双方都期望事先掌握漏洞资源,以便掌握网络安全的主动权。国际上已经出现安全漏洞地下交易市场,将重要的零日漏洞以高价出售。针对安全漏洞问题的研究已成为网络安全的研究热点,主要研究工作包括漏洞信息搜集分析和网络安全威胁情报服务、漏洞度量、基于漏洞的攻击图自动化生成、漏洞发现等。
13.2 网络安全漏洞分类与管理
13.2.1 网络安全漏洞来源
网络信息系统的漏洞主要来自两个方面:一方面是非技术安全漏洞,涉及管理组织结构、管理制度、管理流程、人员管理等;另一方面是技术性安全漏洞,主要涉及网络结构、通信协议、设备、软件产品、系统配置、应用系统等。
- 非技术安全漏洞的主要来源
(1)网络安全主体责任不明确。
(2)网络安全策略不完备。
(3)网络安全操作技能不足。
(4)网络安全监督缺失。
(5)网络安全特权控制不完备。 - 技术性安全漏洞的主要来源
(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漏洞分级标准。另外,还有我国信息安全漏洞分类及OWASP漏洞分类。
- CVE漏洞分类
CVE是由美国MITRE公司建设和维护的安全漏洞字典。CVE给出已经公开的安全漏洞的统一标识和规范化描述,其目标是便于共享漏洞数据。CVE条目的包含内容是标识数字、安全漏洞简要描述、至少有一个公开参考。标识数字简称CVE ID,其格式由年份数字和其他数字组成,如CVE-2019-1543为一个Open SSL安全漏洞编号。CVE是国际上权威的网络安全漏洞发布组织,其成员包含众多全球知名的安全企业和研究机构。 - CVSS
CVSS是一个通用漏洞计分系统,分数计算依据由基本度量计分、时序度量计分、环境度量计分组成。以CVSS v3.0为例,其中,基本度量计分由攻击向量、攻击复杂性、特权要求、用户交互、完整性影响、可用性范围等参数决定。时序度量计分由漏洞利用代码成熟度、修补级别、漏洞报告可信度等参数决定。环境度量计分由完整性要求、保密性要求、可用性要求、修订基本得分等决定。 - 我国信息安全漏洞分类
我国网络安全管理部门建立了国家信息安全漏洞库(CNNVD)漏洞分类分级标准、国家信息安全漏洞共享平台(CNVD)漏洞分类分级标准。
1)国家信息安全漏洞库(CNNVD)漏洞分类
CNNVD将信息安全漏洞划分为:配置错误、代码问题、资源管理错误、数字错误、信息泄露、竞争条件、输入验证、缓冲区错误、格式化字符串、跨站脚本、路径遍历、后置链接、SQL注入、代码注入、命令注入、操作系统注入、安全特征问题、授权问题、信任管理、加密问题、未充分验证数据可靠性、跨站请求伪造、权限许可和访问控制、访问控制错误和资料不足。
2)国家信息安全漏洞共享平台(CNVD)漏洞分类
CNVD根据漏洞产生原因,将漏洞分为11种类型:输入验证错误、访问验证错误、意外情况处理错误数目、边界条件错误数目、配置错误、竞争条件、环境错误、设计错误、缓冲区错误、其他错误、未知错误。此外,CNVD依据行业划分安全漏洞,主要分为行业漏洞和应用漏洞。行业漏洞包括:电信、移动互联网、工控系统;应用漏洞包括:Web应用、安全产品、应用程序、操作系统、数据库、网络设备等。在漏洞分级方面:将网络安全漏洞划分为高、中、低三种危害级别。 - OWASP TOP 10漏洞分类
OWASP(Open Web Application Security Program)组织发布了有关Web应用程序的前十种安全漏洞。目前,已分布多个版本,主要的漏洞类型有注入、未验证的重定向和转发、失效的身份认证、XML外部实体(XXE)、敏感信息泄露、失效的访问控制、安全配置错误、跨站脚本(XSS)、不安全的反序列化、使用含有已知漏洞的组件、不足的日志记录和监控、非安全加密存储。
另外,一些国内外厂商也会自行推出漏洞分类规范,如IBM、微软(Microsoft)、赛门铁克(Symantec)、思科(Cisco)、甲骨文(Oracle)等。
13.2.3 网络安全漏洞发布
安全漏洞发布机制是一种向用户公开漏洞信息的方法。及时将完全漏洞信息公布给用户,有利于帮助安全相关部门采取措施及时堵住漏洞,不让攻击者有机可乘,从而提高系统安全性,减少漏洞带来的危害和损失。安全漏洞发布一般由软硬件开发商、安全组织、黑客或用户来进行。漏洞发布方式主要有三种形式:网站、电子邮件以及安全论坛。漏洞信息公布内容一般包括:漏洞编号、发布日期、安全危害级别、漏洞名称、漏洞影响平台、漏洞解决建议等。
13.2.4 网络安全漏洞信息获取
无论是攻击者还是防御者来说,网络安全漏洞信息获取都是十分必要的。目前, 国内外漏洞信息来源主要有四个方面:一是网络安全应急响应机构;二是网络安全厂商;三是IT产品或系统提供商;四是网络安全组织。国内外网络安全漏洞信息发布的主要来源,分别介绍如下。
- CERT
- Security Focus Vulnerability Database
- 国家信息安全漏洞库CNNVD
- 国家信息安全漏洞共享平台CNVD
- 厂商漏洞信息
13.2.5 网络安全漏洞管理过程
网络安全漏洞是网络信息系统的安全事故隐患所在。网络安全漏洞管理是把握网络信息系统安全态势的关键,是实施网络信息安全管理从被动向主动转变的标志性行为。网络安全漏洞管理主要包括以下环节。
- 网络信息系统资产确认
- 网络安全漏洞信息采集
- 网络安全漏洞评估
- 网络安全漏洞消除和控制
- 网络安全漏洞变化跟踪
13.3 网络安全漏洞扫描技术与应用
13.3.1 网络安全漏洞扫描
网络安全漏洞扫描是一种检测系统中漏洞的技术,是具有漏洞扫描功能的软件或设备,简称为漏洞扫描器。漏洞扫描器通过远程或本地检查系统是否存在已知漏洞。漏洞扫描器一般包括用户界面、扫描引擎、漏洞扫描结果分析、漏洞信息及配置参数库等主要功能模块,
- 主机漏洞扫描器
主机漏洞扫描器不需要通过建立网络连接就可以进行,其技术原理一般是通过检查本地系统中关键性文件的内容及安全属性,来发现漏洞,如配置不当、用户弱口令、有漏洞的软件版本等。主机漏洞扫描器的运行与目标系统在同一主机上,并且只能进行单机检测。主机漏洞扫描器有COPS、Tiger、Microsoft Baseline Security Analyser(MBSA)等。 - 网络漏洞扫描器
网络漏洞扫描器的技术原理是通过与待扫描的目标机建立网络连接后,发送特定网络请求进行漏洞检查。网络漏洞扫描器与主机漏洞扫描的区别在于,网络漏洞扫描器需要与被扫描目标建立网络连接。网络漏洞扫描器便于远程检查联网的目标系统。但是,网络漏洞扫描器由于没有目标系统的本地访问权限,只能获得有限的目标信息,检查能力受限于各种网络服务的漏洞检查,如Web、FTP、Telnet、SSH、POP3、SMTP、SNMP等。常见的网络漏洞扫描器有Nmap、Nessus、X-scan等。 - 专用漏洞扫描器
专用漏洞扫描器是主要针对特定系统的安全漏洞检查工具,如数据库漏洞扫描器、网络设备漏洞扫描器、Web漏洞扫描器、工控漏洞扫描器。
13.3.2 网络安全漏洞扫描应用
网络安全漏洞扫描常用于网络信息系统安全检查和风险评估。下面举一个Windows服务器漏洞扫描的实例。假设某官网管理员拟远程检查某台Windwos服务器是否存在RPC漏洞,以防止网络蠕虫攻击。该服务器的IP地址是192.168.X.Y,则漏洞扫描解决方案如下:
第一步,网络管理员从网络上下载具有RPC漏洞扫描功能的软件retinarpcdcom.exe;
第二步,网络管理员把retinarpcdcom.exe安装到管理机上;
第三步,网络管理员运行retinarpcdcom.exe;
第四步,网络管理员输入Windows服务器的IP地址;
第五步,网络管理员查看扫描结果。
13.4 网络安全漏洞处置技术与应用
网络信息系统难以避免地存在安全漏洞,因而网络安全漏洞处置是网络安全应急响应的重要工作之一。本节主要叙述网络安全发现技术、网络安全漏洞修补技术、网络安全漏洞利用防范技术。
13.4.1 网络安全漏洞发现技术
网络安全漏洞的发现方法主要依赖于人工安全性分析、工具自动化检测及人工智能辅助分析。安全漏洞发现的通常方法是将已发现的安全漏洞进行总结,形成一个漏洞特征库,然后利用该漏洞,通过人工安全分析或者程序智能化识别。漏洞发现技术主要有文本搜索、词法分析、范围检查、状态机检查、错误注入、模糊测试、动态污点分析、形式化验证等。典型的网络安全漏洞发现常见工具如表13-3所示。
表13-3 网络安全漏洞发现常见工具
工具名称 | 简要描述 |
---|---|
Flawfinder | 利用词法分析技术发现C语言编写的源程序安全漏洞 |
Splint | 检查以C语言编写的程序安全漏洞 |
ITS4 | 检查以C和C++语言编写的源程序安全漏洞 |
Grep | 自定义漏洞模式,检查任意源程序安全漏洞 |
MOPS | 利用状态机技术来分析C语言编写的源程序安全漏洞 |
W3AF | Web应用程序漏洞验证 |
Wireshark | 网络数据包分析软件 |
Metasploit | 网络安全漏洞验证软件 |
OllyDBG | 分析调试器 |
13.4.2 网络安全漏洞修补技术
补丁管理是一个系统的、周而复始的工作,主要有六个环节组成,分别是现状分析、补丁跟踪、补丁验证、补丁安装、应急处理和补丁检查。
网络安全漏洞利用防范技术
网络安全漏洞利用防范技术主要针对漏洞触发利用的条件进行干扰或拦截,以防止攻击者成功利用漏洞。常见的网络安全漏洞利用防范技术主要如下。
- 地址空间随机化
- 数据执行阻止
- SEHOP
- 堆栈保护
- 虚拟补丁
13.5 网络安全漏洞产品主要产品与技术指标
13.5.1 网络安全漏洞扫描器
网络安全漏洞扫描器的产品技术原理是利用已公开的漏洞信息及特征,通过程序对目标系统进行自动化分析,以确认目标系统是否存在相应的安全漏洞。漏洞扫描器产品通常简称为“漏扫”。漏洞扫描器既是攻击者的有力工具,又是防守者的必备工具。利用漏洞扫描器可以自动检查信息系统的漏洞,以便及时消除安全隐患。
网络安全漏洞扫描产品常见的技术指标阐述如下:
(1)漏洞扫描主机数量。
(2)漏洞扫描并发数。
(3)漏洞扫描速度。
(4)漏洞检测能力。
(5)数据库漏洞检查功能。
(6)Web应用漏洞检查功能。
(7)口令检查功能。
(8)标准兼容性。
(9)部署环境难易程序。
13.5.2 网络安全漏洞服务平台
网络安全产业界推出漏洞相关的产品与服务,如漏洞盒子、补天漏洞响应平台、网络威胁情报服务等。
- 漏洞盒子隶属于上海斗象信息科技有限公司,是一个专业的互联网安全测试平台。
- 补天漏洞响应平台是专注于漏洞响应的第三方公益平台,通过SRC、众测等方式引导民间的白帽力量,以安全众包的形式让白帽子成员模拟攻击者发现安全问题,实现高效的漏洞报告与响应服务,以协助企业树立动态、综合的防护理念,维护企业的网络安全。
- 网络威胁情报服务常以安全漏洞通报的方式提供服务。相关服务机构主要是网络安全应急响应服务支撑单位、网络安全厂商等,如国家互联网应急中心CNCERT、CNCERT网络安全应急服务支撑单位、CNVD(国家信息安全漏洞共享平台)技术组成员单位、国家网络与信息安全信息通报中心技术支持单位。
13.5.3 网络安全漏洞防护网关
网络安全漏洞防护网关的产品原理是通过从网络流量中提取和识别漏洞利用特征模式,阻止攻击者对目标系统的漏洞利用。常见产品的形式是IPS(Intrusion Prevention System)、Web防火墙(简称WAF)、统一威胁管理(UTM)等。相关产品常见的技术指标主要如下:
- 阻断安全漏洞攻击的种类与数量。
- 阻断安全漏洞攻击的准确率。
- 阻断安全漏洞攻击的性能。
- 支持网络带宽的能力。