Windows CVE漏洞与补丁号对应关系

本文介绍了如何利用Microsoft Security Update Guide API自动获取Windows补丁的CVE和KB信息,创建数据库并实现每月补丁更新的自动化跟踪。通过示例代码展示了数据库表结构,并提供了使用场景——监测服务器补丁更新状态。

2021.2,微软官方高兴地公布再也不需要通过Key来调用MSUG API(Microsoft Security Update Guide API)了。因此本文简单介绍一下通过这个接口建立一个自动化的CVE&KB数据库任务。

Windows每月补丁都会有一个年份-月份的CVRF_ID,比如2020-Aug即表示2020年8月份的补丁,要获取其相关信息需要请求接口:

curl -X GET --header 'Accept: application/json' 'https://api.msrc.microsoft.com/cvrf/v2.0/cvrf/2020-Aug'

接口返回信息是一个很大的json文本,我们可以将其存储为两个数据库表,一个是产品号product_id和产品名称product_name的表,如下:

product_id:11763 

product_name:Microsoft 365 Apps for Enterprise for 64-bit Systems

一个是CVE、KB、受影响产品号的表:

CVE: CVE-2020-0909

CVSS 分数: 7.5

受影响产品号: [11498, 11499, 11569, 11571, 11572, 11454, 11645, 11647, 10735, 10853, 10816, 10855, 10048, 10482, 9318, 9344, 10051, 10049, 10378, 10379, 10483, 10543, 11713, 11715]

KB号:['KB4556812', 'KB4556853', 'KB4556846', 'KB4556860', 'KB4556826', 'KB4556852', 'KB4556813', 'KB4556843', 'KB4556799', 'KB4556854', 'KB4556840', 'KB4551853', 'KB4556836', 'KB4556807']

 cvrf_id: 2020-May

表结构:

CREATE TABLE IF NOT EXISTS `win_cve_db` (

  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',

  `cve` char(128) NOT NULL COMMENT 'CVE id',

  `score` char(10) COMMENT '各产品的CVSS Score平均值',

  `product_id_list` text COMMENT '漏洞影响范围,以productid集表示',

  `kb_list` varchar(1024) COMMENT '漏洞对应补丁号合集',

  `cvrf_id` char(128) COMMENT 'cvrf id',

  `dt` char(128) NOT NULL COMMENT '数据日期',

  PRIMARY KEY (`id`,`dt`)

) CHARSET=utf8mb4 COMMENT='Windows漏洞与KB补丁关系库'
CREATE TABLE IF NOT EXISTS `win_product_name` (

  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',

  `product_id` char(128) NOT NULL COMMENT 'product_id,不需要比较大小,所以set为字符串的格式',

  `product_name` varchar(1024) NOT NULL COMMENT 'product_id对应产品名',

  `dt` char(128) NOT NULL COMMENT '数据日期',

  PRIMARY KEY (`id`,`dt`)

) CHARSET=utf8mb4 COMMENT='product_id对应产品名'

完整代码:https://github.com/Hudi233/sometools/blob/master/win_cve_kb.py

之后就能建立一个周期任务,来实现每月的第二个星期二自动采集补丁&CVE号了:

0 7 8-14 * 2 /usr/local/bin/python3.8 /root/win_cve_db.py

笔者使用场景:通过服务器采集到的补丁号匹配CVE&补丁库,获得服务器补丁更新情况:

参考:

https://www.nopsec.com/how-to-correlate-cve-vulnerabilities-to-kb-patches-via-automation/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值