安全漏洞分类之CNNVD漏洞分类指南

Posted 方寸明光

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安全漏洞分类之CNNVD漏洞分类指南相关的知识,希望对你有一定的参考价值。

适用范围说明
凡是被国家信息安全漏洞库(CNNVD)收录的漏洞,均适用此分类规范,包括采集的公开漏洞以及收录的未公开漏洞,通用型漏洞及事件型漏洞。
漏洞类型
CNNVD将信息安全漏洞划分为26种类型,分别是:配置错误、代码问题、资源管理错误、数字错误、信息泄露、竞争条件、输入验证、缓冲区错误、格式化字符串、跨站脚本、路径遍历、后置链接、SQL注入、注入、代码注入、命令注入、操作系统命令注入、安全特征问题、授权问题、信任管理、加密问题、未充分验证数据可靠性、跨站请求伪造、权限许可和访问控制、访问控制错误、资料不足。

配置错误 CWE-16: Configuration

描述
此类漏洞指软件配置过程中产生的漏洞。该类漏洞并非软件开发过程中造成的,不存在于软件的代码之中,是由于软件使用过程中的不合理配置造成的。

代码问题 CWE-17: Code

描述
此类漏洞指代码开发过程中产生的漏洞,包括软件的规范说明、设计和实现。该漏洞是一个高级别漏洞,如果有足够的信息可进一步分为更低级别的漏洞。

输入验证 CWE-20: Improper Input Validation

描述
产品没有验证或者错误地验证可以影响程序的控制流或数据流的输入。如果有足够的信息,此类漏洞可进一步分为更低级别的类型。
当软件不能正确地验证输入时,攻击者能够伪造非应用程序所期望的输入。这将导致系统接收部分非正常输入,攻击者可能利用该漏洞修改控制流、控制任意资源和执行任意代码。
常见后果
技术影响:
DoS: crash / exit / restart;
DoS: resource consumption (CPU);
DoS: resource consumption (memory);
Read memory;
Read files or directories;
Modify memory;
Execute unauthorized code or commands
影响范围:机密性、完整性和可用性

路径遍历 CWE-22: Path Traversal

描述
为了识别位于受限的父目录下的文件或目录,软件使用外部输入来构建路径。由于软件不能正确地过滤路径中的特殊元素,能够导致访问受限目录之外的位置。
许多文件操作都发生在受限目录下。攻击者通过使用特殊元素(例如,“…”、“/”)可到达受限目录之外的位置,从而获取系统中其他位置的文件或目录。相对路径遍历是指使用最常用的特殊元素“…/”来代表当前目录的父目录。绝对路径遍历(例如"/usr/local/bin")可用于访问非预期的文件。
常见后果
技术影响:
Execute unauthorized code or commands;
Modify files or directories;
Read files or directories;
DoS: crash / exit / restart
影响范围:
机密性、完整性和可用性

后置链接 CWE-59: Link Following

描述
软件尝试使用文件名访问文件,但该软件没有正确阻止表示非预期资源的链接或者快捷方式的文件名。
常见后果
技术影响:
Read files or directories;
Modify files or directories;
Bypass protection mechanism
影响范围:
机密性、完整性和可用性

注入 CWE-74: Injection

描述
软件使用来自上游组件的受外部影响的输入,构造全部或部分命令、数据结构或记录,但是没有过滤或没有正确过滤掉其中的特殊元素,当发送给下游组件时,这些元素可以修改其解析或解释方式。
软件对于构成其数据和控制的内容有其特定的假设,然而,由于缺乏对用户输入的验证而导致注入问题。
13.2 常见后果
技术影响:
Read application data;
Bypass protection mechanism;
Alter execution logic;
Hide activities
影响范围:
机密性、完整性

命令注入 CWE-77: Command Injection

描述
软件使用来自上游组件的受外部影响的输入构造全部或部分命令,但是没有过滤或没有正确过滤掉其中的特殊元素,这些元素可以修改发送给下游组件的预期命令。
命令注入漏洞通常发生在、
(1)输入数据来自非可信源;
(2)应用程序使用输入数据构造命令;
(3)通过执行命令,应用程序向攻击者提供了其不该拥有的权限或能力。
常见后果
技术影响:Execute unauthorized code or commands
影响范围:机密性、完整性和可用性

操作系统命令注入 CWE-78: OS Command Injection

描述
软件使用来自上游组件的受外部影响的输入构造全部或部分操作系统命令,但是没有过滤或没有正确过滤掉其中的特殊元素,这些元素可以修改发送给下游组件的预期操作系统命令。
此类漏洞允许攻击者在操作系统上直接执行意外的危险命令。
常见后果
技术影响:
Execute unauthorized code or commands;
DoS: crash / exit / restart;
Read files or directories;
Modify files or directories;
Read application data;
Modify application data;
Hide activities
影响范围:
机密性、完整性和可用性

跨站脚本 CWE-79: Cross-site Scripting

描述
在用户控制的输入放置到输出位置之前软件没有对其中止或没有正确中止,这些输出用作向其他用户提供服务的网页。
跨站脚本漏洞通常发生在
(1)不可信数据进入网络应用程序,通常通过网页请求;
(2)网络应用程序动态地生成一个带有不可信数据的网页;
(3)在网页生成期间,应用程序不能阻止Web浏览器可执行的内容数据,例如javascripthtml标签,HTML属性、鼠标事件、Flash、ActiveX等;
(4)受害者通过浏览器访问的网页包含带有不可信数据的恶意脚本;
(5)由于脚本来自于通过web服务器发送的网页,因此受害者的web浏览器会在web服务器域的上下文中执行恶意脚本;
(6)违反web浏览器的同源策略,同源策略是一个域中的脚本不能访问或运行其他域中的资源或代码。
常见后果
技术影响:
Bypass protection mechanism;
Read application data;
Execute unauthorized code or commands
影响范围:
机密性、完整性和可用性

SQL注入 CWE-89: SQL Injection

描述
软件使用来自上游组件的受外部影响的输入构造全部或部分SQL命令,但是没有过滤或没有正确过滤掉其中的特殊元素,这些元素可以修改发送给下游组件的预期SQL命令。
如果在用户可控输入中没有充分删除或引用SQL语法,生成的SQL查询可能会导致这些输入被解释为SQL命令而不是普通用户数据。利用SQL注入可以修改查询逻辑以绕过安全检查,或者插入修改后端数据库的其他语句,如执行系统命令。
常见后果
技术影响:
Read application data;
Modify application data;
Bypass protection mechanism
影响范围:
机密性、完整性

代码注入 CWE-94: Code Injection

描述
软件使用来自上游组件的受外部影响的输入构造全部或部分代码段,但是没有过滤或没有正确过滤掉其中的特殊元素,这些元素可以修改发送给下游组件的预期代码段。
当软件允许用户的输入包含代码语法时,攻击者可能会通过伪造代码修改软件的内部控制流。此类修改可能导致任意代码执行。
常见后果
技术影响:
Bypass protection mechanism;
Gain privileges / assume identity;
Execute unauthorized code or commands;
Hide activities
影响范围:
机密性、完整性和可用性

格式化字符串 CWE-134: Format String Vulnerability

描述
软件使用的函数接收来自外部源代码提供的格式化字符串作为函数的参数。
当攻击者能修改外部控制的格式化字符串时,这可能导致缓冲区溢出、拒绝服务攻击或者数据表示问题。
常见后果
技术影响:
Read memory;
Execute unauthorized code or commands
影响范围:
机密性、完整性和可用性

缓冲区错误 CWE-119: Buffer Errors

描述
软件在内存缓冲区上执行操作,但是它可以读取或写入缓冲区的预定边界以外的内存位置。
某些语言允许直接访问内存地址,但是不能自动确认这些内存地址是有效的内存缓冲区。这可能导致在与其他变量、数据结构或内部程序数据相关联的内存位置上执行读/写操作。作为结果,攻击者可能执行任意代码、修改预定的控制流、读取敏感信息或导致系统崩溃。
常见后果
技术影响:
Execute unauthorized code or commands;
Modify memory;
Read memory;
DoS: crash / exit / restart;
DoS: resource consumption (CPU);
DoS: resource consumption (memory)
影响范围:机密性、完整性和可用性

数字错误 CWE-189: Numeric Errors

描述
此类漏洞与不正确的数字计算或转换有关。该类漏洞主要由数字的不正确处理造成的,如整数溢出、符号错误、被零除等。

信息泄露 CWE-200: Information Exposure

描述
信息泄露是指有意或无意地向没有访问该信息权限者泄露信息。此类漏洞是由于软件中的一些不正确的设置造成的信息泄漏。
信息指
(1)产品自身功能的敏感信息,如私有消息
(2)或者有关产品或其环境的信息,这些信息可能在攻击中很有用,但是攻击者通常不能获取这些信息。信息泄露涉及多种不同类型的问题,并且严重程度依赖于泄露信息的类型。
常见后果
技术影响:
Read application data
影响范围:
机密性

安全特征问题 CWE-254: Security Features

描述
此类漏洞是指与身份验证、访问控制、机密性、密码学、权限管理等有关的漏洞,是一些与软件安全有关的漏洞。如果有足够的信息,此类漏洞可进一步分为更低级别的类型。

信任管理 CWE-255: Credentials Management

描述
此类漏洞是与证书管理相关的漏洞。包含此类漏洞的组件通常存在默认密码或者硬编码密码、硬编码证书。

权限许可和访问控制 CWE-264: Permissions, Privileges, and Access Controls

描述
此类漏洞是与许可、权限和其他用于执行访问控制的安全特征的管理有关的漏洞。

访问控制错误 CWE-284: Improper Access Control

描述
软件没有或者没有正确限制来自未授权角色的资源访问。
访问控制涉及若干保护机制,
例如认证(提供身份证明)、
授权(确保特定的角色可以访问资源)与记录(跟踪执行的活动)。
当未使用保护机制或保护机制失效时,攻击者可以通过获得权限、读取敏感信息、执行命令、规避检测等来危及软件的安全性。
常见后果
技术影响:Varies by context

授权问题 CWE-287: Improper Authentication

描述
程序没有进行身份验证或身份验证不足,此类漏洞是与身份验证有关的漏洞。
常见后果
技术影响:
Read application data;
Gain privileges / assume identity;
Execute unauthorized code or commands
影响范围:
机密性、完整性和可用性

加密问题 CWE-310: Cryptographic Issues

描述
此类漏洞是与加密使用有关的漏洞,涉及内容加密、密码算法、弱加密(弱口令)、明文存储敏感信息等。

未充分验证数据可靠性 CWE-345: Insufficient Verification of Data Authenticity

描述
程序没有充分验证数据的来源或真实性,导致接受无效的数据。
常见后果
技术影响:
Varies by context;
Unexpected state
影响范围:
完整性

跨站请求伪造 CWE-352: Cross-Site Request Forgery

描述
Web应用程序没有或不能充分验证有效的请求是否来自可信用户。
如果web服务器不能验证接收的请求是否是客户端特意提交的,则攻击者可以欺骗客户端向服务器发送非预期的请求,web服务器会将其视为真实请求。这类攻击可以通过URL、图像加载、XMLHttpRequest等实现,可能导致数据暴露或意外的代码执行。
常见后果
技术影响:
Gain privileges / assume identity;
Bypass protection mechanism;
Read application data;
Modify application data;
DoS: crash / exit / restart
影响范围:
机密性、完整性和可用性

竞争条件 CWE-362: Race Condition

描述
程序中包含可以与其他代码并发运行的代码序列,且该代码序列需要临时地、互斥地访问共享资源。但是存在一个时间窗口,在这个时间窗口内另一段代码序列可以并发修改共享资源。
如果预期的同步活动位于安全关键代码,则可能带来安全隐患。安全关键代码包括记录用户是否被认证,修改重要状态信息等。竞争条件发生在并发环境中,根据上下文,代码序列可以以函数调用,少量指令,一系列程序调用等形式出现。
常见后果
技术影响:
DoS: resource consumption (CPU);
DoS: resource consumption (memory);
DoS: resource consumption (other);
DoS: crash / exit / restart;
DoS: instability;
Read files or directories;
Read application data
影响范围:机密性、完整性和可用性

资源管理错误 CWE-399: Resource Management Errors

描述
此类漏洞与系统资源的管理不当有关。该类漏洞是由于软件执行过程中对系统资源(如内存、磁盘空间、文件等)的错误管理造成的。

资料不足

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

以上内容总结整理自CNNVD漏洞分类指南

CNNVD关于Apache Struts2(S2-052)漏洞情况的通报

前排扯逼

文章存稿没了。。

下午美好的时光(并不)又要找文章弄存稿了:)

阅读愉快,欢迎留言

结尾x


近日,国家信息安全漏洞库(CNNVD)接到白帽汇、启明星辰和绿盟科技报送的有关ApacheStruts2存在远程代码执行漏洞(CNNVD-201706-914)的情况。95日,Apache官方网站针对上述漏洞发布了安全公告(S2-052)。CNNVD对此进行了跟踪分析,情况如下:

一、漏洞简介

Apache Struts2Apache基金会发布的一款实现了MVC模式的中间件软件,广泛应用于Web开发和大型网站建设。Apache Struts 2.5 – Struts 2.5.12版本的REST插件存在远程代码执行漏洞(CNNVD-201706-914CVE-2017-9805)。当Struts2通过REST插件使用XStream的实例xstreamhandler处理反序列化XML有效载荷时没有进行任何过滤,导致远程攻击者可以利用该漏洞构造恶意的XML内容,进而获取业务数据或服务器权限,执行任意代码。     

二、漏洞危害

Apache Struts 2.5 – Struts 2.5.12版本以及2.3.33版本受该漏洞影响,攻击者可能利用该漏洞远程执行代码,但是存在远程指令执行回显的技术限制以及需要有REST插件应用的前提条件。

三、修复措施

目前,Apache官方已针对上述漏洞发布了升级补丁,部署Apache Struts2的单位,应及时检查所使用的Struts2版本是否在受影响范围内。如受影响,可升级至Struts2 2.5.13版本或2.3.34版本,链接如下:

https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.13

https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.3.34

【注】新版本使用的默认限制策略会导致REST的一些函数停止工作,会对一些业务造成影响,建议使用以下新的接口:

  org.apache.struts2.rest.handler.AllowedClasses

  org.apache.struts2.rest.handler.AllowedClassNames

  org.apache.struts2.rest.handler.XStreamPermissionProvider

若无法及时升级至新版本,可采用如下临时修复方案:

    1.   停止使用REST插件。

    2.   限制服务端扩展类型:

<constant name=”struts.action.extension”value=”xhtml,,json” />

本报告由CNNVD技术支撑单位——北京白帽汇科技有限公司、北京启明星辰信息安全技术有限公司、北京神州绿盟信息安全科技股份有限公司提供支持。

CNNVD将继续跟踪上述漏洞的相关情况,及时发布相关信息。如有需要,可与CNNVD联系。

联系方式: cnnvd@itsec.gov.cn





以上是关于安全漏洞分类之CNNVD漏洞分类指南的主要内容,如果未能解决你的问题,请参考以下文章

信息安全技术 网络安全漏洞分类分级指南(GB/T 30279-2020 )

互联网企业安全高级指南读书笔记之漏洞扫描

互联网企业安全高级指南读书笔记之漏洞扫描

华云安技术支持 | CNNVD 关于Apache Flink安全漏洞的通报

医疗器械网络安全漏洞自评报告模板

操作系统漏洞有哪几种分类