我开始从 NVD XML feed 转向 JSON feed(因为从 2019 年 10 月起将不再支持 XML)。现在我很难理解标签及其使用目的。
例如:
“配置”中的“操作员”标签有什么用途?
“affects”标签列出了与该 CVE-ID 关联的所有易受攻击的库,那么“configuration”标签有什么用呢?因为它们内部指定的信息似乎只是影响标签的重复,除了 cpeId 之外,cpeId 也可以在影响标签内指定。
我尝试在 NVD 网站上搜索任何此类相关文档,但没有找到。JSON 模式没有提及细节或目的(如预期)。
请指出是否创建了任何相关文档。
1.“configuration”中的“operator”标签有什么用途?
每个 CVE 配置中都有一个定义的“操作员”用途。这就是我试图解释的。
如果 CVE 配置的节点[...] 数组包含运算符“AND”,则它必须至少有两个或更多子代,表示子代之间的逻辑 AND 组合,才能符合易受攻击的条件。
让我们看一个例子:对于“CVE-2018-4926”,我采用以下代码片段:
"configurations": {
"CVE_data_version": "4.0",
"nodes": [
{
"operator": "AND",
"children": [
{
"operator": "OR",
"cpe_match": [
{
"vulnerable": true,
"cpe23Uri": "cpe:2.3:a:adobe:digital_editions:*:*:*:*:*:*:*:*",
"versionEndIncluding": "4.5.7"
}
]
},
{
"operator": "OR",
"cpe_match": [
{
"vulnerable": false,
"cpe23Uri": "cpe:2.3:o:apple:iphone_os:-:*:*:*:*:*:*:*"
},
{
"vulnerable": false,
"cpe23Uri": "cpe:2.3:o:apple:mac_os_x:-:*:*:*:*:*:*:*"
},
{
"vulnerable": false,
"cpe23Uri": "cpe:2.3:o:google:android:-:*:*:*:*:*:*:*"
},
{
"vulnerable": false,
"cpe23Uri": "cpe:2.3:o:microsoft:windows:-:*:*:*:*:*:*:*"
}
]
}
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
在上面的配置中,AND 运算符有两个子运算符。请注意cpe23Uri 中的the :a:is forapplication和:o: is for 。operating system例子,
"cpe23Uri": "cpe:2.3:a:adobe:digital_editions:*:*:*:*:*:*:*:*",
AND
cpe23Uri": "cpe:2.3:o:apple:iphone_os:-:*:*:*:*:*:*:*"
Run Code Online (Sandbox Code Playgroud)
现在,为了将 4.5.7 结尾的应用程序“adobe:digital_editions”版本限定为易受攻击,操作系统必须是:o:apple:iphone_osOR :o:apple:mac_os_x:OR o:google:android:OR cpe:2.3:o:microsoft:windows。
我们可以将其改写为:
以 4.5.7 结尾的 adobe digital_editions 应用程序版本容易受到上述操作系统的攻击。
什么是带走:
配置中的 AND 运算符总是带有以下两种可能性: 1. 应用程序和操作系统 2. 硬件:h:和操作系统
如果配置没有子项,则任何保留都会
cpe23Uri将操作系统或应用程序限定为易受攻击,如以下两个示例所示。
示例 1:OR 运算符用于应用程序
"configurations" : {
"CVE_data_version" : "4.0",
"nodes" : [ {
"operator" : "OR",
"cpe_match" : [ {
"vulnerable" : true,
"cpe23Uri" : "cpe:2.3:a:oracle:flexcube_private_banking:2.0.0:*:*:*:*:*:*:*"
}, {
"vulnerable" : true,
"cpe23Uri" : "cpe:2.3:a:oracle:flexcube_private_banking:2.0.1:*:*:*:*:*:*:*"
}, {
"vulnerable" : true,
"cpe23Uri" : "cpe:2.3:a:oracle:flexcube_private_banking:2.2.0:*:*:*:*:*:*:*"
}, {
"vulnerable" : true,
"cpe23Uri" : "cpe:2.3:a:oracle:flexcube_private_banking:12.0.1:*:*:*:*:*:*:*"
} ]
} ]
},
Run Code Online (Sandbox Code Playgroud)
示例 2:对于操作系统的 OR 运算符
"configurations" : {
"CVE_data_version" : "4.0",
"nodes" : [ {
"operator" : "OR",
"cpe_match" : [ {
"vulnerable" : true,
"cpe23Uri" : "cpe:2.3:o:google:android:5.0:*:*:*:*:*:*:*"
}, {
"vulnerable" : true,
"cpe23Uri" : "cpe:2.3:o:google:android:5.0.1:*:*:*:*:*:*:*"
}, {
"vulnerable" : true,
"cpe23Uri" : "cpe:2.3:o:google:android:5.0.2:*:*:*:*:*:*:*"
}, {
"vulnerable" : true,
"cpe23Uri" : "cpe:2.3:o:google:android:5.1:*:*:*:*:*:*:*"
}, {
"vulnerable" : true,
"cpe23Uri" : "cpe:2.3:o:google:android:5.1.0:*:*:*:*:*:*:*"
}, {
"vulnerable" : true,
"cpe23Uri" : "cpe:2.3:o:google:android:5.1.1:*:*:*:*:*:*:*"
}, {
"vulnerable" : true,
"cpe23Uri" : "cpe:2.3:o:google:android:6.0:*:*:*:*:*:*:*"
}, {
"vulnerable" : true,
"cpe23Uri" : "cpe:2.3:o:google:android:6.0.1:*:*:*:*:*:*:*"
}, {
"vulnerable" : true,
"cpe23Uri" : "cpe:2.3:o:google:android:7.0:*:*:*:*:*:*:*"
}, {
"vulnerable" : true,
"cpe23Uri" : "cpe:2.3:o:google:android:7.1.0:*:*:*:*:*:*:*"
} ]
} ]
},
Run Code Online (Sandbox Code Playgroud)
我希望现在能澄清一点。如果没有,我可以回答这方面的任何问题。
祝你好运!