漏洞管理
计算机安全隐患(vulnerability)俗称漏洞(security hole),指计算机系统安全方面的缺陷,使得系统或其它应用数据的保密性、完整性、可用性、访问控制和监测机制等面临威胁。
漏洞管理就是领先漏洞一步,让修复更频繁更有效的一个过程。
当公司业务较少时,一个表格就可以处理完漏洞管理的流程。但是当业务系统增多,安全报告增大时就需要一个好的漏洞管理工具来进行管理。
抛一个问题:安全测试团队到底应不应该为漏洞数量负责,如果需要负责,那么多好还是少好?
漏洞生命周期管理
漏洞的来源
- 内部安全团队发现:通过安全扫描、安全测试等手段发现漏洞;
- 内部非安全团队发现:工作过程中发现的安全问题;
- 外部发现:众测平台、安全服务、个人提交;
漏洞管理的问题
- 漏洞如何与具体业务关联
当公司规模较小沟通靠嗓门的时候不用考虑这个问题,而且业务团队划分也没有很清晰所以这个时候可以直接丢给业务方让他们安排修复。当公司达到一定规模业务增多的时候,我们如果单纯依靠人力来找漏洞属于哪个业务是很费力的,这个时候我们其实很需要安全的资产管理来直接定位到业务方,再来找到关联的人,当然安全资产管理不是本篇的讨论,后面会有一篇专门来介绍。
解决方案:漏洞管理系统与资产管理系统部分数据打通。
- 确保漏洞修复完成
在很多公司遇到过一个情况:严重高危的漏洞还好,但是经常出现中低危的漏洞提交一个月甚至半年没有修复。
解决方案:安全语业务统一制定一个漏洞生命周期管理标准,不同等级的漏洞修复时间是多久。
- 漏洞报告的留存
企业内部需要对漏洞有一个清晰的整理归档来作为数据纬度展示公司安全发展的状态。安全测试人员发现漏洞需要邮件给业务方,并且需要使用Excel来总结,当测试人员很多时,还需要做一个汇总,这些都会造成更多的不便。
解决方案:漏洞管理平台需要对不同时间段提交的不同漏洞等级进行数据量化。
- 同一个业务团队负责的产品中多次出现同样的漏洞
解决方案:业务团队自身的不断整理与总结,安全团队对业务团队进行安全培训(可以结合在SDL中进行)。
- 漏洞审核人力DoS
如果企业在一些类似SRC的平台,由于目前白帽子水平层次不齐,经常会提交一些bug作为漏洞,或者故意提高漏洞等级,SRC平台在处理这些时与白帽子发生争执产生的人力消耗。
解决方案:待解决
漏洞管理的思考
安全漏洞生命周期的理解
备注:本节内容引用自安全漏洞生命周期的理解,非原创
- 从产品角度理解安全漏洞生命周期
漏洞发现:通过人工或者自动化等方式分析、挖掘出漏洞的过程,并且该漏洞可以被验证和重现;
漏洞利用:利用漏洞对计算机信息系统的保密性、完整性和可用性造成损害的过程;
漏洞修复:通过补丁、升级版本或配置策略等对漏洞进行修补的过程,使得该漏洞不能够被恶意主题所利用;
漏洞公开:通过公开渠道(如:网站、邮件列表等);
- 从信息系统角度理解安全漏洞生命周期
漏洞识别:通过自身测试、监控、外部第三方通报、客户投诉等方式,获知漏洞的存在;
漏洞评估:通过自身测试、监控、外部第三方通报、客户投诉等方式,获知漏洞的存在;
漏洞通报:安全管理者将漏洞信息和修复建议内部通报给信息系统维护/应用/开发等相关人员;
漏洞测试:信息系统相关人员对系统漏洞修补进行测试;
漏洞修复:信息系统相关人员对系统漏洞进行修复;
漏洞回退:漏洞的修复若影响业务,对修复进行回退,多方重新对漏洞进行评估,甚至接受该漏洞;
- 从安全攻防角度理解安全漏洞生命周期
漏洞研究与挖掘:利用源代码审核(白盒测试)、逆向工程(灰盒测试)、Fuzz测试(黑盒测试)、流量分析(黑盒测试)等方法;
POC/EXP开发与测试:开发概念验证性渗透攻击代码(POC)或漏洞攻击利用代码(EXP),并测试漏洞是否可被利用;
通报厂商或小规模流传:白帽子通知厂商进行修补,给出补丁后公布;黑帽子在封闭小规模团队共享流传;
漏洞扩散:漏洞POC或EXP代码在互联网上公布,大众黑帽子快速掌握、应用和传播扩散;
攻击工具/恶意程序传播:开发出自动化攻击工具/恶意程序,在互联网进行传播。厂商完成补丁程序开发和测试并进行发布;
大规模传播:厂商发布补丁程序和安全警报,渗透代码/恶意程序大规模传播危害互联网;
漏洞/攻击代码逐渐消亡:在厂商补丁程序广泛应用后,相应的漏洞渗透代码/恶意程序逐渐抛弃从而消亡;
我的一些思考
对于企业,我们应该关注与企业内部相关,甚至关注我们所使用的产品、服务相关的漏洞。从漏洞爆发、漏洞传播、漏洞利用工具传播到漏洞修复整个流程中,我们应该思考如下几个问题:
如何快速获取漏洞情报:爬虫、情报群、社区网站等;
漏洞情报如何评估影响:公司内有多少业务受到影响;
漏洞利用爆发时的解决方案:漏洞详情是否有给出临时解决方案;没有临时解决方案如何控制风险;
漏洞修复时的风险评估:修复方案对业务影响是否可以接受;
漏洞修复完成如何做到持续监控:防止漏洞的重复出现;
-
乙方产品的漏洞生命周期管理
-
开源产品的漏洞生命周期管理
参考资料
The Five Stages of Vulnerability Management