当前位置: 首页 相关新闻

网络安全漏洞的分类分级及闭环管理

本文结合当前技术发展,参照《网络安全漏洞标识与描述规范》、《网络安全漏洞分类分级指南》、《网络安全漏洞管理规范》等国家标准规范内容,进一步梳理、明确、细化安全漏洞相关信息和管理流程,探讨漏洞的闭环管理模式,为安全管理人员了解安全漏洞、开展安全漏洞相关服务工作提供支撑和参考。

本文共分三个章节,内容如下:

1、漏洞概述与定义

2、漏洞的分类分级

3、安全漏洞的闭环管理



漏洞概述与定义

安全漏洞是网络应用类产品和服务在需求分析、设计、实现、配置、测试、运行、维护等过程中,无意或有意产生、有可能被利用的缺陷或薄弱点。这些缺陷或薄弱点以不同形式存在于网络产品和服务的各个层次和环节中,一旦被恶意主体所利用,就会对网络产品和服务的安全造成损害,从而影响其正常运行。

漏洞有时也被称作错误(Error)、缺陷(Fault)、弱点(Weakness)或是故障(Failure)等,这些术语很容易引起混淆。在许多情况下,大家习惯于将错误、缺陷、弱点都简单地称为漏洞。需要指出的是,严格地说,错误、缺陷、弱点和故障并不等于漏洞。错误、缺陷和弱点是产生漏洞的条件,漏洞被利用后必然会破坏安全属性,但不一定能引起产品或系统故障。例如网银账号被盗用只是影响个人的资金安全与隐私,并不会导致银行交易系统的故障。

漏洞的分类分级

漏洞分类

网络安全漏洞分类是基于漏洞产生或触发的技术原因对漏洞进行划分的,共分为代码问题、配置错误、环境问题、和其他等四个方面,具体分类如下:

图片

代码问题

此类漏洞指网络产品和服务的代码开发过程中因设计或实现不当而导致的漏洞。

资源管理错误

此类漏洞指因对系统资源(如内存、磁盘空间、文件、CPU使用率等)的错误管理导致的漏洞。

输入验证错误

此类漏洞指因对系统资源(如内存、磁盘空间、文件、CPU使用率等)的错误管理导致的漏洞。

缓冲区错误

此类漏洞指在内存上执行操作时,因缺少正确的边界数据验证,导致在其向关联的其他内存位置上执行了错误的读写操作,如缓冲区溢出、堆溢出等

注入类

此类漏洞指在通过用户输入构造命令、数据结构或记录的操作过程中,由于缺乏对用户输入数据的正确验证,导致未过滤或未正确过滤掉其中的特殊元素,引发的解析或解释方式错误问题。

  • 格式化字符串错误

此类漏洞指接收外部格式化字符串作为参数时.因参数类型、数量等过滤不严格,导致的漏洞。

  • 跨站脚本

此类漏洞是指在WEB应用中,因缺少对客户端数据的正确验证,导致向其他客户端提供错误执行代码的漏洞。

  • 命令注入

此类漏洞指在构造可执行命令过程中,因未正确过滤其中的特殊元素,导致生成了错误的可执行命令。

  • 代码注入

此类漏洞指在通过外部输入数据构造代码段的过程中,因未正确过滤其中的特殊元素,导致生成了错误的代码段,修改了网络产品和服务的预期的执行控制流。

  • SQL注入

此类漏洞指在基于数据库的应用中,因缺少对构成SQL语句的外部输入数据的验证,导致生成并执行了错误的SQL语句

路径遍历

此类漏洞指因未能正确地过滤资源或文件路径中的特殊元素,导致访问受限目录之外的位置。

后置链接

此类漏洞指在使用文件名访问文件时,因未正确过滤表示非预期资源的链接或者快捷方式的文件名,导致访问了错误的文件路径。

跨站请求伪造

此类漏洞指在WEB应用中,因未充分验证请求是否来自可信用户,导致受欺骗的客户端向服务器发送非预期的请求。

数字错误

此类漏洞指因未正确计算或转换所产生数字,导致的整数溢出、符号错误等漏洞。

竞争条件问题

此类漏洞指因在并发运行环境中,一段并发代码需要互斥地访问共享资源时,因另一段代码在同一•个时间窗口可以并发修改共享资源而导致的安全问题。

处理逻辑错误

此类漏洞是在设计实现过程中.因处理逻辑实现问题或分支覆盖不全面等原因造成。

加密问题

此类漏洞指未正确使用相关密码算法,导致的内容未正确加密、弱加密、明文存储敏感信息等问题。

授权类问题

  • 信任管理问题

此类漏洞是因缺乏有效的信任管理机制,导致受影响组件存在可被攻击者利用的默认密码或者硬编码密码、硬编码证书等问题。

  • 权限许可和访问控制问题

此类漏洞指因缺乏有效的权限许可和访问控制措施而导致的安全问题。

数据转换问题

此类漏洞是指程序处理上下文因对数据类型、编码、格式、含义等理解不一致导致的安全问题。

未声明功能

此类漏洞指通过测试接口、调试接口等可执行非授权功能导致的安全问题。例如,若测试命令或调试命令在使用阶段仍可用,则可被攻击者用于显示存储器内容或执行其他功能。

资源管理错误

此类漏洞指因对系统资源(如内存、磁盘空间、文件、CPU使用率等)的错误管理导致的漏洞。

环境问题

此类漏洞指因受影响组件部署运行环境的原因导致的安全问题。

信息泄露

此类漏洞是指在运行过程中,因配置等错误导致的受影响组件信息被非授权获取的漏洞。

  • 日志信息泄露

此类漏洞指因日志文件非正常输出导致的信息泄露。

  • 调试信息泄露

此类漏洞指在运行过程中因调试信息输出导致的信息泄露。

  • 侧信道信息泄露

此类漏洞是指功耗、电磁辐射、I/O特性、运算频率、时耗等侧信道信息的变化导致的信息泄露。

故障注入

此类漏洞是指通过改变运行环境(如温度、电压、频率等,或通过注入强光等方式)触发,可能导致代码、系统数据或执行过程发生错误的安全问题。


其他问题


暂时无法将漏洞归入上述任何类别,或者没有足够充分的信息对其进行分类,漏洞细节未指明。

漏洞分级

网络安全漏洞分级是指采用分级的方式对网络安全漏洞潜在危害的程度进行描述,包括技术分级和综合分级两种分级方式,每种方式均分为超危(严重)、高危、中危和低危四个等级,具体内容如下:

超危(严重)

漏洞可以非常容易地对目标对象造成特别严重后果。主要涉及以下漏洞:

  1. 不需要登录直接获取设备管理权限的漏洞,包括但不限于上传Webshell,任意代码执行,远程命令执行等;

  2. 不需要登录直接导致严重的信息泄露漏洞,包括但不限于重要数据库的SQL注入、系统权限控制不严格等导致的敏感数据泄露漏洞等;

  3. 不需要登录直接导致严重影响的逻辑漏洞,包括但不限于核心账户体系的帐密校验逻辑、支付逻辑漏洞等。

高危

漏洞可以容易地对目标对象造成严重后果。

主要涉及以下漏洞:

  1. 需要登录的重要业务敏感数据信息泄露漏洞,包括但不限于重要用户信息、配置信息、数据文件信息等;

  2. 需要登录的重要业务逻辑漏洞,包括但不限于权限绕过等;

  3. 包含重要业务敏感信息的非授权访问,包括但不限于绕过认证直接访问管理后台、后台弱密码、可直接获取大量内网敏感信息的SSRF等;

  4. 影响应用服务正常运转,包括但不限于应用层拒绝服务等。

中危

漏洞可以对目标对象造成一般后果,或者比较困难地对目标造成严重后果。

主要涉及以下漏洞:

  1. 不需要交互对用户产生危害的安全漏洞,包括但不限于一般页面存储型XSS等;

  2. 普通信息泄露漏洞,包括但不限于用户信息泄露和业务敏感信息泄露等;

  3. 普通的逻辑设计缺陷和流程缺陷,包括但不限于越权查看非核心系统的订单信息、记录等;

  4. 其他操作中度影响的漏洞,例如:没有敏感信息的SQL注入、无法回显的SSRF等。

低危

漏洞可以对目标对象造成轻微后果,或者比较困难地对目标对象造成一般严重后果,或者非常困难地对目标对象造成严重后果。

主要涉及以下漏洞:

  1. 轻微信息泄露,包括但不限于路径信息泄露、svn信息泄露、phpinfo、日志文件、配置信息等;

  2. 本地拒绝服务,包括但不限于客户端本地拒绝服务等引起的问题;

  3. 可能存在安全隐患但利用成本很高的漏洞,包括但不限于需要用户连续交互的敏感安全漏洞,例如:解析漏洞、可被暴力破解接口等。

其他分类分级

1. 国家信息安全漏洞库(CNNVD)漏洞分类分级情况

在漏洞分类方面,CNNVD将信息安全漏洞划分为26种类型,分别是:配置错误、代码问题、资源管理错误、数字错误、信息泄露、竞争条件、输入验证、缓冲区错误、格式化字符串、跨站脚本、路径遍历、后置链接、SQL注入、注入、代码注入、命令注入、操作系统命令注入、安全特征问题、授权问题、信任管理、加密问题、未充分验证数据可靠性、跨站请求伪造、权限许可和访问控制、访问控制错误、资料不足。

在漏洞分级方面,CNNVD使用两组指标对漏洞进行评分,分别是可利用性指标组和影响性指标组,并依据该评估结果对漏洞划分为超危、高危、中危、低危共四个危害等级。其中,可利用性指标组描述漏洞利用的方式和难易程度,反映脆弱性组件的特征,应依据脆弱性组件进行评分,影响性指标组描述漏洞被成功利用后给受影响组件造成的危害,应依据受影响组件进行评分。

2. 国家信息安全漏洞共享平台(CNVD)漏洞分类分级情况

在漏洞分类方面,CNVD根据漏洞产生原因,将漏洞分为11种类型:输入验证错误、访问验证错误、意外情况处理错误数目、边界条件错误数目、配置错误、竞争条件、环境错误、设计错误、缓冲区错误、其他错误、未知错误。此外,CNVD还进行了部分业务的划分,主要分为行业漏洞和应用漏洞,行业漏洞包括:电信、移动互联网、工控系统;应用漏洞包括web应用、安全产品、应用程序、操作系统、数据库、网络设备等。

在漏洞分级方面,使用自己内部分级标准,将网络安全漏洞划分为高、中、低三种危害级别。

3. 通用漏洞评分系统(Common Vulnerability Scoring System,CVSS)

通用漏洞评分系统(Common Vulnerability Scoring System,CVSS)是由美国国家基础设施顾问委员会(NIAC)开发、事件响应与安全组织论坛(FIRST)维护的一个开放的计算机系统安全漏洞评估框架,通过漏洞难易程度以及对机密性、完整性、可用性的影响综合评估后,生成一个0到10分之间的评分值,此分值即是CVSS得分。

CVSS是一个开放并且能够被产品厂商免费采用的标准,其存在的主要目的是协助安全从业人员使用标准化、规范化、统一化的语言对计算机系统安全漏洞的严重性进行评估。NIAC于2004年提出了CVSS v1.0,此版本经使用后发现存在很大问题,为解决存在问题并增加CVSS的准确性,在2007年6月FIRST公开发布了CVSS v2.0,2015年6月10日发布了CVSS v3.0。目前,CVSS的最新版本是v3.1,发布于2019年6月。CVSS 3.1在原有3.0版本的基础上做了简化和改进,包括在原有衡量基准的定义分类与解释,如攻击向量、所需特权、范围和安全需求等。

4. 通用缺陷枚举(Common Weakness Enumeration,CWE)

通用缺陷枚举(Common Weakness Enumeration,CWE)是由美国MITRE公司开发的一个描述在软件架构、设计以及编码等环节中存在的安全缺陷与漏洞的通用规范,目前CWE共包含1040个条目,其中视图32个、类别247个、缺陷与漏洞709个、合成元素7个,弃用45个。

安全漏洞的闭环管理

结合安全服务工作性质,将漏洞管理流程划分为以下阶段:发现和接收--验证--报告--处置--发布--追踪。

发现和接收

结合安全服务工作性质,将漏洞管理流程划分为以下阶段:发现和接收--验证--报告--处置--发布--追踪。

发现

指通过人工或者自动的方法对漏洞进行探测。在日常安全服务过程中,安全漏洞发现的途径主要有漏洞扫描、渗透测试和代码审计三种。



1.漏洞扫描

漏洞扫描是指基于漏洞数据库,通过扫描等手段对指定的远程或者本地计算机系统的安全脆弱性进行检测, 发现可利用漏洞的一种安全检测行为。

漏洞扫描是利用扫描工具在网络设备中发现潜在漏洞的形式,比如防火墙、路由器、交换机、服务器、各种应用等等。该过程是自动化的,专注于网络或应用层上的潜在以及已知的漏洞。该种方式能够快速发现存在的风险,但发现的漏洞不够全面,是进行信息系统合规度量和审计的一种基础技术手段。

2.渗透测试

渗透测试是由具备高技能和高素质的安全服务人员发起、并模拟常见黑客所使用的攻击手段对目标系统进行模拟入侵。换句话来说,渗透测试是经过用户授权后,安全服务人员以模拟黑客的方式对目标系统进行入侵,找出系统存在的漏洞。

渗透测试需要具有丰富经验的安全服务人员进行作业,该种安全评估方式在应用层面或网络层面都可以进行,也可以针对具体功能、部门或某些资产。渗透测试工作往往作为风险评估的一个重要环节,为风险评估提供重要的原始参考数据。相对于漏洞扫描来说,渗透的花销高于漏扫,因为渗透在漏扫的基础上能挖掘更深层次的漏洞,花费的时间也多于漏扫。

3.代码审计

代码审计是由具备丰富编码经验并对安全编码原则及应用安全具有深刻理解的安全服务人员对系统的源代码和软件架构的安全性、可靠性进行全面的安全检查。

代码审计通过编码的方式对系统进性安全检查,由具备丰富编码经验并对安全编码原则及应用安全具有深刻理解的安全服务人员对系统的源代码和软件架构的安全性、可靠性进行全面的安全检查。相较于前面说的两种方式,代码审计比渗透测试和漏洞扫描在发现漏洞的问题上,能够更加全面些。

接收

指通过相应途径接收漏洞信息。在日常安全服务过程中,安全漏洞的接收主要包括服务人员采集、公司漏洞通报和监管单位预警通知等三部分。

1.服务人员采集

指安全服务人员通过漏洞预警渠道采集安全漏洞信息。安全服务人员可以听过访问国家漏洞共享平台或相关安全厂商网站查看其发布的漏洞预警通告。主要全安漏洞预警渠道如下表所示:


图片


2.监管单位预警通知

指接收网络安全监管单位的漏洞通知信息。根据国家相关要求,网络安全采用“网信部门+公安部门+国务院其他下属机构联动”的监管体系。当相关单位监控到漏洞信息时,会通过《通知》或《公函》的形式向存在漏洞的单位发布漏洞预警信息,督促相关单位完成漏洞核查与整改。

验证

安全服务人员对漏洞的存在性、等级、类别等进行技术验证,通过将漏洞信息与已知的真实信息进行对比,分析漏洞的真实性。若漏洞不存在,则停止相关漏洞管理流程。若判断漏洞真实存在,则需要进一步汇总整理漏洞所影响的业务系统、主机IP等信息,结合漏洞影响对漏洞进行分类,并确定产生漏洞的原因,结合实际情况,找出需要立即处理的严重漏洞。

以下列举了常见的造成漏洞的根本原因,包括:

  1. 补丁管理不足。如未能及时的应用补丁程序,或未能将补丁程序应用到所有有漏洞的系统中。

  2. 威胁管理不足。如未及时更新防病毒特征库,无效的垃圾邮件过滤以及不符合系统运营单位安全策略的防火墙策略等。

  3. 缺乏安全基准。同类的系统使用了不一致的安全配置策略。

  4. 在系统开发中缺乏对安全性的整合。如系统开发不满足安全要求,甚至未考虑安全要求或系统应用程序代码中存在漏洞。

  5. 安全体系结构存在缺陷。如安全技术未能有效地集成至系统中(例如,安全防护设施、设备放置位置不合理,覆盖面不足,或采用过时的技术)。

  6. 安全事件响应措施不足。如对渗透测试活动反应迟钝。

  7. 安全培训不足。如对最终用户(例如,对社会工程学、钓鱼攻击等缺乏防范意识,使用了非授权无线接入点)或对网络、系统管理员(例如,缺乏安全运维)的人员培训不足。

  8. 缺乏安全策略或未执行安全策略。如开放的端口,启动的服务,不安全的协议,非授权主机以及弱口令等。

报告

将验证过的安全漏洞信息和影响范围向客户或相关系统负责人报告,在此过程中需结合实际情况阐述漏洞的危害、影响和修复方式等关键信息,协助相关人员合理进行研判,设定漏洞处置优先级排序,结合实际情况,设置修复计划时间、漏洞复验时间,为下一步漏洞管理工作奠定基础。

处置

在考虑漏洞严重程度、受影响用户的范围、被利用的潜在影响等因素的基础上,协助对漏洞进行修复,或制定并测试漏洞修复、防范措施,包括升级版本、补丁、更改配置等方式。漏洞的修复周期,会根据漏洞等级确定。参考如下:

图片

发布

针对存在较高安全风险或应用范围较大的漏洞,编制漏洞预警通告,协助客户或系统负责人通过网站、邮件等渠道将漏洞信息向受影响的人员发布。

追踪

跟踪监测漏洞修复情况,开展漏洞复测工作,验证漏洞是否确实已经修复。若漏洞已修复,则可中止漏洞管理流程,出具漏洞复测报告。如果漏洞在目前的技术条件下确实无法修复,提交客户或系统负责人进行风险确认,并采取其他规避风险的措施,如调整访控策略、下线等。






版权所有:数考-中国安全防范产品行业协会 京ICP备14028753号-1