本文目录
四、 漏洞管理目标与方针
三、 更精准化的组件漏洞检测
第一部分 楔子
第二部分道与认知
一、漏洞管理成熟度
级别 |
阶段 |
定义 |
自评 |
1 |
初始阶段 |
处在这一阶段的公司企业要么没有任何漏洞管理措施,要么只做临时性的测试。 |
时间:2012-2015 管理范围:监管、二三道防线、内部检查发现的合规问题由100余条增加至300余条。 |
2 |
已管理阶段 |
处于这个阶段的企业可以自发在内部开展漏洞扫描工作,每周或者每月固定开展,但是往往是为了应对外部监管。 |
时间:2015-2018 管理范围:监管、二三道防线、内部检查发现的问题+渗透问题,增至800余条。 形态:制定漏洞管理指引,收集漏洞的渠道增多,形成常态化督办、通报机制。 |
3 |
已定义阶段 |
该阶段的漏洞管理工作为公司所理解,也受到公司管理层的一定支持,漏洞扫描更为频繁,但是专业工具应用还比较有限。 |
时间:2019-至今 管理范围:监管、二三道防线、内部检查发现的问题+渗透+演习+检测+扫描问题,增至2000余条。 形态:制定漏洞管理、上线前安全检查制度,漏洞扫描常态化,安全检测手段进一步增多,收集漏洞的渠道进一步扩宽,进行人工漏洞优先级定级,形成每周督办、每月通报机制。 |
4 |
量化管理阶段 |
处在这一阶段的公司企业有可量化、可度量的指标,定义可接受的风险水平。 |
时间:*-2025年 管理范围:内外部检查合规问题、资产测绘+漏洞扫描漏洞、渗透+攻防漏洞、组件漏洞。 形态:漏洞管理制度进一步完善和落实,使用多样的漏洞检测工具,实现漏洞交叉校验,全面覆盖合规、主机、web、组件漏洞,实现漏洞发现渠道多样化、漏洞发现自动化、漏洞定级自动化、漏洞处置指标化、漏洞跟进可量化。 |
5 |
优化管理阶段 |
在这一阶段,使用第四阶段定义的度量指标用实现管理提升和优化,所有的优化指标都用于减少组织的受攻击面。 |
时间:未来 形态:漏洞情报联动化、漏洞处置自动化 |
表1:漏洞管理成熟度评估表
二、漏洞管理痛点与难点
图1:漏洞管理痛点与难点
既然漏洞是安全管理绕不开的结,那就尝试管住它吧。
三、漏洞认知
外部或二三道防线对于漏洞的认知就是“哇哦,系统有漏洞,好危险,肯定要改”。
为了应对这种情况,安全人员只能“掩耳盗铃”,在漏洞扫描器前加一堆安全策略或设备,然后扫出没有漏洞的扫描结果,你好我好大家好,只留下漏洞默默的潜伏,直至某天突然地爆发。
所以改变对漏洞的认知,很重要,而漏洞管理的认知误区又有不少:
-
漏洞管理就是应急打补丁:漏洞管理应该包括事前预防、事中控制和事后处理,漏洞管理也不止打补丁一种方式,打补丁只是一种成本最高的事后补救措施;
-
漏洞管理就是建流程:建漏洞整改流程,只是为了更高效地跟进漏洞的整改,形成整改闭环,它只是漏洞管理的一个抓手。
-
漏洞管理只是安全的事:漏洞管理缺少了开发、运维的深度参与,漏洞管理只是救火运动,漏洞管理应该是开发、运维、安全全流程的管控。
-
漏洞管理最重要的是漏洞扫描:漏洞扫描只是一个发现漏洞的工具,而漏洞发现只是资产发现后的下一步,发现不是目的,整改才是。
-
只需要修复POC/EXP漏洞:POC漏洞只是市面上已知存在工具的漏洞,市面上没有POC,不代表没有利用工具。
-
是漏洞就需要修复:在漏洞整改时,眉毛胡子一把抓是大忌,大部分漏洞影响有限,漏洞修复也是要计算投入产出的,而且也不可能修复所有的漏洞,所以并不是所有的漏洞都需要修复。
四、漏洞管理目标与方针
漏洞管理的目标应该是“从根源上减少漏洞的产生,并能全面、自动、高效、精准地发现和处置关键漏洞,实现资产安全闭环管理:
-
全面:通过多渠道、多场景全面发现资产和漏洞。 -
自动:支持资产、漏洞数据的自动同步,任务的自动下发,数据的自动分析、入库。 -
高效:实现漏洞的高效应急和高效整改。 -
精准:通过多工具交叉验证资产及漏洞的状态,辅以全面的漏洞知识库,实现漏洞的精准分类分级。 -
关键漏洞:即对漏洞进行优先级排序,结合资产重要程度、网络边界属性、漏洞利用情报等因素进行优先级算法排序,指导高效漏洞整改。
-
“全面保障”:漏洞管理应确保全面发现资产漏洞
-
“预防为主”;漏洞管理主要工作是预防漏洞产生
-
“综合治理”:漏洞管理应该是多方参与协同治理
-
“分级管控”:漏洞处置应做好分类分级科学处置。
第三部分 术与节源
打补丁能解决的只是一个或一批漏洞,不能解决所有漏洞,企业需要补的也不只是漏洞本身,而是安全管理存在的漏洞,包括组织职责分工、工作流程、工作规范等存在的不足都可能导致漏洞的产生。
一、制定漏洞管理规范
表2:漏洞风险等级积分矩阵表
二、制定安全检查规范
表3:系统变更前安全检查矩阵表
图2:安全检查流程图
漏洞管理工程涉及人员较多,明确工作责任,确保工作落实是做好漏洞管理的管理前提。
可建立漏洞管理职责清单,明确各负责人在漏洞管理相关职责,除履行职责范围内的漏洞修复以外,还承担如下具体职责:
成员 |
漏洞管理工作职责 |
总经理 |
监督漏洞管理各项工作落实。 |
运维组 |
1、建立windows、linux等操作系统,tomcat、各类中间件,各类数据库,openssh等基础软件的基线版本库,每年迭代更新,并确保新系统不得使用低于基线版本的软件。 2、建立操作系统、数据库、中间件、基础软件等安全配置指南,并确保新设备、系统按要求配置。 |
网络组 |
建立网络设备及网络管理相关系统的基线版本,每年迭代更新,新系统不得使用低于基线版本的硬件和软件。 |
开发组 |
协同建立开发语言、互联网开发组件基线版本库,每年迭代更新,新系统不得使用低于基线版本的软件。 |
安全组 |
1、建立漏洞管理规范、安全检查规范,组织开展各类安全检查,进行漏洞管理工作。 2、组织、协助和督促基线版本库的建设和迭代更新,检查基线版本库建设情况,提供安全技术支持。 3、初始化搭建漏洞修复知识库,协助后续漏洞修复知识库的管理和维护。 |
表4:漏洞管理工作中职责表
四、建立基线版本库
序号 |
大类 |
产品名称 |
责任人 |
1 |
应用软件 |
web、app |
开发组*** |
2 |
应用软件 |
SDK |
开发组*** |
3 |
开发语言 |
php |
开发组*** |
4 |
开发语言 |
java |
开发组*** |
5 |
开发语言 |
C++ |
开发组*** |
6 |
开发语言 |
C |
开发组*** |
7 |
开发语言 |
.net |
开发组*** |
8 |
开发语言 |
python |
开发组*** |
9 |
开发组件 |
dom4j |
开发组*** |
10 |
开发组件 |
fastjson |
开发组*** |
11 |
开发组件 |
mybatis |
开发组*** |
12 |
开发组件 |
Spring系列 |
开发组*** |
13 |
开发组件 |
poi |
开发组*** |
14 |
开发组件 |
hibernate |
开发组*** |
15 |
开发组件 |
netty |
开发组*** |
16 |
开发组件 |
log4j、slf4j |
开发组*** |
17 |
开发组件 |
quartz |
开发组*** |
18 |
开发组件 |
log4j2 |
开发组*** |
19 |
开发组件 |
c3p0 |
开发组*** |
20 |
开发组件 |
Jackson |
开发组*** |
21 |
开发组件 |
httpclient |
开发组*** |
22 |
开发组件 |
vue |
开发组*** |
23 |
开发组件 |
JDK |
开发组*** |
24 |
开发组件 |
ibatis |
开发组*** |
25 |
开发组件 |
FastFDS |
开发组*** |
26 |
开发组件 |
rxjava |
开发组*** |
27 |
开发组件 |
RocketMQ |
开发组*** |
28 |
开发组件 |
quartz |
开发组*** |
29 |
开发组件 |
PhotoView |
开发组*** |
30 |
开发组件 |
greendao |
开发组*** |
31 |
开发组件 |
Glide |
开发组*** |
32 |
开发组件 |
EventBus |
开发组*** |
33 |
操作系统 |
AIX |
运维组*** |
34 |
操作系统 |
Windows |
运维组*** |
35 |
操作系统 |
Linux |
运维组*** |
36 |
数据库 |
ORACLE |
运维组*** |
37 |
数据库 |
MYSQL |
运维组*** |
38 |
中间件 |
APACHE |
运维组*** |
39 |
中间件 |
IBM MQ |
运维组*** |
40 |
中间件 |
kafka |
运维组*** |
41 |
中间件 |
redis |
运维组*** |
42 |
中间件 |
tomcat |
运维组*** |
43 |
中间件 |
zookeeper |
运维组*** |
44 |
中间件 |
weblogic |
运维组*** |
45 |
中间件 |
nginx |
运维组*** |
46 |
基础软件 |
Vmware |
运维组*** |
47 |
基础软件 |
openssh |
运维组*** |
48 |
基础软件 |
NTP |
运维组*** |
49 |
基础软件 |
FTP |
运维组*** |
50 |
基础软件 |
samba |
运维组*** |
51 |
基础软件 |
smb |
运维组*** |
52 |
基础软件 |
WebSphere |
运维组*** |
53 |
基础软件 |
Allegro RomPager |
运维组*** |
54 |
基础软件 |
MS SQL SERVER |
运维组*** |
55 |
基础软件 |
Serv-U |
运维组*** |
56 |
基础软件 |
Windows RDP |
运维组*** |
57 |
基础硬件 |
网络设备 |
网络组*** |
58 |
基础硬件 |
安全设备 |
网络组*** |
表5:基础软硬件版本管理责任表
五、建立安全配置上线指南
六、漏洞修复知识库
漏洞管理的理念应该是“管理前置,迭代更新;预防为主,修复为辅”。故本部分内容主要介绍为预防漏洞采取的一些举措,不同企业网络安全水平参差不齐,对网络安全投入不一样,可以适当裁剪或深化。
如有其他更行之有效的漏洞预防措施,欢迎交流和分享。
第四部分 术与开流
一、漏洞发现能力建设
(一)漏洞来源分析
图3:漏洞来源图
(二)漏洞检测左移
(三)漏洞检测常态化
制定资产测绘和漏洞扫描方案,针对互联网边界等重点区域的加大扫描密度,如每周、每月,非重点区域的以满足合规为目标,可以每季度扫描一次。
检测内容 |
频率 |
执行方式 |
互联网资产测绘 |
每周 |
定时任务 |
网银区内网资产测绘 |
每月 |
定时任务 |
内网资产测绘(全覆盖) |
每季度 |
定时任务 |
内网POC漏洞巡检 |
每月 |
定时任务 |
漏洞扫描 |
每季度 |
手工执行+现场值守 |
表6:漏洞检测工作表
二、漏洞分类
漏洞管理的范围包括通过手工或自动化工具发现的应用软件(web、app、SDK)、开发语言、开发组件、通用软件(操作系统、数据库、中间件、基础软件)等的漏洞。包括但不限于行内、行外安全评估、检测发现的漏洞以及第三方通报的漏洞。
基于目前行业态势及管理需要,漏洞分为四类:IP类、web类、组件类、合规类。
漏洞分类 |
支撑库 |
漏洞来源 |
关键工作 |
IP类 |
IP资产库 |
资产测绘、各类主机扫描产品 |
1、资产覆盖 2、漏洞精确度 3、优先级技术 4、交叉验证 |
Web类 |
Web资产库 |
资产测绘、攻防演习、渗透测试、web扫描、IAST等 |
1、实施频率 2、实施深度 3、覆盖范围 |
组件类 |
组件库 |
SBOM评审、SCA分析、IAST |
1、优先级技术 |
合规类 |
/ |
监管、三道防线检查发现的管理问题。 |
/ |
表7:漏洞分类表
三、漏洞分级
根据《网络安全漏洞分类分级指南》(GB/T 30279-2020),漏洞分技术分级和综合分级两个等级,均分为超危、高危、中危、低危。
漏洞级别 |
定义 |
超危 |
漏洞可以非常容易地对目标对象造成特别严重后果。 |
高危 |
漏洞可以容易地对目标对象造成严重后果。 |
中危 |
漏洞可以对目标对象造成一般后果,或者比较困难地对目标造成严重后果。 |
低危 |
漏洞可以对目标对象造成轻微后果,或者比较困难地对目标对象造成一般严重后果.或者非常困难地对目标对象造成严重后果。 |
表8:漏洞分级表
表9:漏洞综合分级表
但综合分级仍旧仅仅能表明漏洞本身的安全属性,不能直观、明了的给出相同漏洞在不同网络环境、不同资产的整改排期。故开展漏洞治理工作势在必行。
三、漏洞管理目标
图4:漏洞管理目标图
基于以上工作目标,总体实施设计如下:
图5:漏洞管理设计方案图
四、平台架构设计
图6:漏洞管理平台架构图
图7:漏洞管理组织架构图
图8:应用系统页面展示图
资产数量、漏洞数量则是应用系统下不同类型的资产数量和对应漏洞数量的整合展示,便于应用系统负责人和安全人员快速了解应用系统的整体安全态势,也方便安全人员快速排查无资产的应用系统。
图9:资产管理页面展示图
漏洞优先级为根据资产安全属性、漏洞原始级别以及威胁情报经过二次定级后的漏洞等级,展示的是该资产下现有漏洞情况。当发现新漏洞需要录入时可编辑该资产添加漏洞。
图10:漏洞管理页面展示图
点击流程按钮,可以看到漏洞时间线:
图11:漏洞流程页面展示图
六、管理流程设计
漏洞状态共分为待派发、待确认、修复中、待复测、复测已通过、复测未通过、待审核、关闭。大致流程如下:
图12:漏洞管理流程图
图13:漏洞确认图
4.对于存在风险但修复成本过高或无法整改的漏洞,漏洞整改责任人应在接收到漏洞后,反馈不整改的意见,经安全管理员确认,安全管理员确认后必须整改的则进入整改流程。
七、漏洞管理流程
(一)资产/漏洞入库
(二)资产定级
图14:资产属性配置页面图
根据内外网关联清单,可快速查找互联网边界资产对应内网资产。
图15:内外网IP关联页面图
(三)漏洞优先级
本方案中漏洞优先级根据配置的风险值自动自动赋值风险优先级,风险值范围和修复期限均可自定义,平台会根据漏洞优先级自动赋值修复期限。
图16:优先级设置页面图
风险值的计算根据资产安全属性、漏洞属性、漏洞生命周期、漏洞情报属性等综合计算而来:
图17:优先级权重配置页面图
资产安全属性可考虑的有:等级保护、重要等级、设备类型、资产状态、网络环境、网络边界类型等等。
图18:资产属性权重配置页面图
漏洞安全属性包括:漏洞的原始CVSS分值、录入时漏洞的原始等级、漏洞类型、公布时间长短、敏感端口服务等。
图19:漏洞属性权重配置页面图
生命周期属性包括漏洞发现方式、发现状态、修复是否超期等,情报则包括是否有POC/EXP、网关防御规则是否有效等。
图20:漏洞生命周期权重配置页面图
设置好各类安全属性的数值,再使用平台的风险计量工具校验和微调,直到不同类型的组合计算能满足预期结果。如:
图21:漏洞风险计算页面图
2、在线、预发布、非直接接入互联网的资产命中超危漏洞,漏洞优先级为中危
图22:漏洞风险计算页面图
(四)漏洞派发
漏洞优先级 |
漏洞修复期限 |
漏洞即将到期通知 |
漏洞响应期限 |
整改要求 |
超危 |
10 |
<5天 |
≤0.5天,人工通知 |
必改,紧急处置。 |
高危 |
30 |
<10天 |
≤1天,人工通知 |
必改,尽快处置。 |
中危 |
90 |
<20天 |
≤5天,邮件督办 |
必改,及时处置。 |
低危 |
360 |
<30天 |
≤5天,邮件督办 |
部分漏洞经评估后可接受风险,排期处置。 |
表10:漏洞修复规则表
漏洞派发前的关键工作包括:
1.如何实现漏洞管理自动化,如可以根据url/app名称/ip/机器名自动匹配整改责任人。
2.如何漏洞整改智能化,如在录入选定某一类安全漏洞的时候,可以自动弹出该类漏洞的的修复方案和风险。
(五)漏洞督办
图23:漏洞通知页面图
漏洞管理是一项精细化的运营工作,也是一项需要长期投入但又默默无名的工程。漏洞管理的成功运营离不开以下三点:
1、企业对漏洞治理工程的财务支持,以及相关单位对漏洞运营的技术支撑;
2、漏洞运营人员需要对企业网络资产有清晰的认识;
第五部分 展望
二、联动的资产漏洞情报
三、更精准化的组件漏洞检测
关于组件漏洞的二次定级个人认为可以综合考虑这些方面:
1、资产安全属性:是否互联网系统、重要等级等;
2、组件安全属性:web前端类、后台类、数据库类等,直接依赖、间接依赖等;
3、漏洞安全属性:利用难易、远程/本地、漏洞危害等;
4、漏洞修复属性:底层代码更新、组件升级、影响范围大小、修复难度(杠精:难道漏洞难修就排后面不修了么?非也!需要修的漏洞很多,考虑此属性,更多的是希望把钱和精力花到刀刃上,达到更高的投入产出比);
5、漏洞情报属性:POC、EXP、利用可达性。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论