劣质软件养活了某xx网络安全公司,说的就是你

admin 2024年11月8日15:55:06评论11 views字数 3441阅读11分28秒阅读模式

摘要

尽管已经有无数的框架、最佳实践和技术博客,但仍然有大量开发者在代码中硬编码凭证信息。

主要发现

  • 2023年10月至2024年9月期间共发布了37,439个CVE
  • 这些CVE被分配了35,346个CWE(共520个不同类型的CWE)
  • CWE-79(网页生成过程中输入未正确处理导致的"跨站脚本攻击")是报告最多的安全弱点(在6,006个CVE中出现,占所有CWE的17%)
  • 一些基础性的安全弱点也位居前列,如CWE-532:敏感信息写入日志文件(247个CVE,占比0.7%)、CWE-798:使用硬编码凭证(213个CVE,占比0.6%)、以及CWE-306:关键功能缺失身份认证(208个CVE,占比0.6%)

概述

网络安全行业的供应商常常开玩笑说,正是不安全的软件让这个行业得以蓬勃发展。

这种说法确实有一定道理。我们不能期待所有软件都完美无缺,因此需要行业内的各种检查机制(包括负责任的漏洞披露)。

在之前的一篇文章中,我分析了过去25年间CVE的一些有趣数据。这次,我想重点关注过去一年(2023年10月至2024年9月)发布的漏洞中常见的安全弱点类别。

跟进分析

如果你想跟着文章复现这些数据分析,可以按照之前文章中的说明导入数据。

完成后,你还需要运行一条stix2arango命令:

python3 utilities/arango_cti_processor/insert_archive_cwe.py 
  --versions 4_15 
  --database cti_knowledge_base_store

数据分析

数据概览

RETURN LENGTH(
  FOR doc IN nvd_cve_vertex_collection
    FILTER doc.type == "vulnerability"
    FILTER DATE_TIMESTAMP(doc.created) >= DATE_TIMESTAMP("2023-10-01T00:00:00Z")
    FILTER DATE_TIMESTAMP(doc.created) <= DATE_TIMESTAMP("2024-09-30T00:00:00Z")
    RETURN doc
)

在这段时间内,总共发布了37,439个CVE。

RETURN (
  FOR doc IN nvd_cve_vertex_collection
    FILTER doc.type == "vulnerability"
    FILTER DATE_TIMESTAMP(doc.created) >= DATE_TIMESTAMP("2023-10-01T00:00:00Z")
    FILTER DATE_TIMESTAMP(doc.created) <= DATE_TIMESTAMP("2024-09-30T00:00:00Z")
    COLLECT monthYear = CONCAT(DATE_YEAR(doc.created), "-"
                               (DATE_MONTH(doc.created) < 10 ? "0" : ""), 
                               DATE_MONTH(doc.created)) WITH COUNT INTO count
    SORT monthYear
    RETURN {
      monthYear: monthYear,
      count: count
    }
)
劣质软件养活了某xx网络安全公司,说的就是你
图1:2023年10月至2024年9月的漏洞按月统计

最常见的安全弱点

在查看以下数据时需要注意,并非所有CVE都被分配了CWE。这可能是因为NVD尚未完成分析(这是NVD积压工作的常见问题)。此外,一些CVE被标记为NVD-CWE-noinfo,这表示NVD在分析CVE时没有足够信息来分配CWE。

这些CVE总共被分配了35,346个CWE。

劣质软件养活了某xx网络安全公司,说的就是你
图2:2023年10月至2024年9月漏洞中发现的安全弱点

以下是排名前40的安全弱点:

CWE编号 名称 数量
CWE-79 网页生成过程中输入未正确处理('跨站脚本攻击') 6006
CWE-89 SQL命令中特殊元素未正确处理('SQL注入') 2644
CWE-352 跨站请求伪造(CSRF) 1615
CWE-787 越界写入 1491
CWE-862 缺少授权 1091
CWE-22 路径限制不当导致目录遍历('路径穿越') 1028
CWE-416 释放后使用 1013
CWE-125 越界读取 902
CWE-121 基于栈的缓冲区溢出 857
CWE-78 操作系统命令中特殊元素未正确处理('OS命令注入') 845
CWE-200 敏感信息泄露给未授权用户 775
CWE-20 输入验证不当 768
CWE-434 危险类型文件上传未做限制 719
CWE-284 访问控制不当 660
CWE-120 未检查输入大小的缓冲区复制('经典缓冲区溢出') 615
CWE-476 空指针解引用 584
CWE-94 代码生成控制不当('代码注入') 569
CWE-269 权限管理不当 499
CWE-77 命令中特殊元素未正确处理('命令注入') 494
CWE-400 资源消耗无控制 441
CWE-122 基于堆的缓冲区溢出 426
CWE-918 服务器端请求伪造(SSRF) 408
CWE-287 身份认证不当 405
CWE-502 不可信数据的反序列化 384
CWE-190 整数溢出或环绕 312
CWE-863 错误的授权 297
CWE-119 内存缓冲区边界内的操作限制不当 283
CWE-639 通过用户控制的密钥绕过授权 250
CWE-532 敏感信息写入日志文件 247
CWE-798 使用硬编码凭证 213
CWE-306 关键功能缺失身份认证 208
CWE-601 重定向到不可信站点('开放重定向') 205
CWE-427 无控制的搜索路径元素 198
CWE-770 资源分配无限制或节流 184
CWE-276 错误的默认权限 174
CWE-401 内存在有效期后未释放 165
CWE-74 下游组件使用的输出中特殊元素未正确处理('注入') 153
CWE-362 共享资源并发执行的同步不当('竞态条件') 148
CWE-732 关键资源的权限分配错误 135
CWE-59 文件访问前链接解析不当('链接跟随') 133

通过CWE编号查询包含使用硬编码凭证(CWE-798)这个安全弱点的产品统计如下:

供应商 产品 包含CWE-798的CVE数量
hitron_systems dvr_hvr-4781_firmware 6
boschrexroth ctrlx_hmi_web_panel_wr2115_firmware 4
ibm security_verify_governance 4
boschrexroth ctrlx_hmi_web_panel_wr2110_firmware 4
bosch nexo-os 4
boschrexroth ctrlx_hmi_web_panel_wr2107_firmware 4
hongdian h8951-4g-esp_firmware 3
sierrawireless aleos 3
autel maxicharger_ac_elite_business_c50_firmware 2
fedirtsapana simple_http_server_plus 2
enbw senec_storage_box_firmware 2
zohocorp manageengine_ddi_central 2
dell e-lab_navigator 2
skoda-auto superb_3_firmware 2
kiloview p1_firmware 2
cisco emergency_responder 2
machinesense feverwarn_firmware 2
estomed simple_care 2
ibm merge_efilm_workstation 2
csharp cws_collaborative_development_platform 2

这些数字显示了引用CWE-798并将相应产品标记为易受攻击的不同CVE数量。从统计结果可以看出,无论是大型供应商(如思科和IBM)还是小型供应商都存在这类问题,而且在固件产品中更为普遍(这类产品中的凭证泄露问题通常更难以修复)。

原文始发于微信公众号(独眼情报):劣质软件养活了某xx网络安全公司,说的就是你

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年11月8日15:55:06
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   劣质软件养活了某xx网络安全公司,说的就是你https://cn-sec.com/archives/3369171.html

发表评论

匿名网友 填写信息