1947年冯·诺依曼建立计算机系统结构理论时认为,计算机系统也有天生的类似基因的缺陷,也可能在使用和发展过程中产生意想不到的问题。20世纪七八十年代,早期黑客的出现和第一个计算机病毒的产生,软件漏洞逐渐引起人们的关注。在各种产品、主机、网络和复杂信息系统中,安全漏洞以不同形式存在,而且数量逐年增加,利用漏洞造成的各类安全事件层出不穷。攻击行为或网络安全事件的发生正越来越多地受到利益驱动的影响,这种“黑色产业链”的兴起,导致越来越多的网络终端受害,大量机密信息被窃取,敏感数据信息在互联网上传播,并在黑市中待价而沽。工业控制领域以及新技术新应用的安全漏洞,特别是基础核心系统的安全漏洞已经成为危害国家经济和发展安全的重要因素。在安全运营过程中一个最重要的工作就是漏洞管理。
安全漏洞(Vulnerability)也被称为脆弱性。
根据国标-信息安全技术-安全漏洞标识与描述规范[GB/T 28458-2012]对安全漏洞的定义,安全漏洞是计算机信息系统在需求、设计、实现、配置运行等过程中,有意或无意产生的缺陷。这些缺陷以不同形式存在于计算机信息系统的各个层次和环节之中,一旦被恶意主体所利用,就会对计算机信息系统的安全造成损害,从而影响计算机信息系统的正常运行,危害信息产品或系统及信息的安全属性。
有时漏洞也被称作错误( Error)、缺陷 ( Fault)、 弱点( Weakness )或是故障( Failure )等,这些术语很容易引起混淆。在许多情况下,人们习惯于将错误、缺陷、弱点都简单地称为漏洞。需要指出的是,严格地说,错误、缺陷、弱点和故障并不等于漏洞。错误、缺陷和弱点是产生漏洞的条件,漏洞被利用后必然会破坏安全属性,但不一定能引起产品或系统故障。
以下为国标-信息安全技术-安全漏洞标识与描述规范[GB/T 28458-2012] 对安全漏洞标识与描述的定义:
安全漏洞描述项包括标识号、名称、发布时间、发布单位、类别、等级、影响系统等必须的描述项,并可更具需要扩充(但不限于)相关编号、利用方法、解决方案建议、其他描述等描述项。
标识号
CVD-YYYY-NNNNNN格式为标识号。CVD为Common V ulnerabilities Description 的缩写;YYYY为4位十进制数字,表示产生本安全漏洞的年份;NNNNNN为6位十进制数字,表示当年内产生的安全漏洞的序号。
名称
安全漏洞标题,概括性描述安全漏洞信息的短语,例如InternetExplorer8.0缓冲区溢出漏洞。
发布时间
安全漏洞信息发布日期。
发布单位
发布安全漏洞的单位全称。
类别
安全漏洞所属分类,说明安全漏洞分类归属的信息。
等级
安全漏洞危害级别,说明安全漏洞能够造成的危害程度。
影响系统
安全漏洞所影响系统的信息,例如厂商、产品名称和版本号等。
相关编号
安全漏洞的其他相关编号,例如Bugtraq编号、CVE编号等。
利用方法
安全漏洞利用的方法,例如安全漏洞攻击方案或利用代码。
解决方案建议
安全漏洞的解决方案,例如补丁信息等。
其他描述
安全漏洞描述需要说明的其他相关信息,例如安全漏洞产生的具体原因。
网络安全漏洞分类是基于漏洞产生或触发的技术原因对漏洞进行划分,分类如下:
网络安全漏洞分级是指采用分级的方式对网络安全漏洞潜在危害的程度进行描述,包括技术分级
和综合分级两种分级方式,每种方式均分为超危(严重)、高危、中危和低危四个等级,具体内容如下:
超危(严重):漏洞可以非常容易地对目标对象造成特别严重后果;
高危:漏洞可以容易地对目标对象造成严重后果;
中危:漏洞可以对目标对象造成一般后果,或者比较困难地对目标造成严重后果;
低危:漏洞可以对目标对象造成轻微后果,或者比较困难地对目标对象造成一般严重后果,或
者非常困难地对目标对象造成严重后果。
依据信息安全漏洞从产生到消亡的整个过程,信息安全漏洞生命周期分以下几个阶段:
a)漏洞的发现:通过人工或者自动的方法分析、挖掘漏洞的过程,并且该漏洞可以被验证和重现。
b)漏洞的利用:利用漏洞对计算机信息系统的保密性、完整性和可用性造成损害的过程。
c)漏洞的修复:通过补丁、升级版本或配置策略等对漏洞进行修补的过程,使得该漏洞不能够被
恶意主体所利用。
d)漏洞的公开:通过公开渠道(如网站、邮件列表等)公布漏洞信息的过程。
根据漏洞生命周期中漏洞所处的不同状态,将漏洞管理行为对应为预防、收集、消减和发布等活动。
预防是指通过各种安全手段提高信息系统的安全水平,避免漏洞的产生和恶意利用。
收集是针对已发现的漏洞进行信息的及时跟踪与获取。
消减是指在漏洞被发现后积极采取补救措施,最大限度减少漏洞带来的损失。
发布是指在遵循一定的发布策略的前提下,对漏洞及其修复信息进行发布。
用户、厂商和漏洞管理组织可以根据漏洞的状态及管理活动建立符合自身特点的漏洞处理策略和处理流程。
对于企业组织安全运营来说可以参考以下漏洞处理流程:
一般由渗透测试工程师通过漏洞扫描工具或渗透测试发现系统漏洞,提交渗透测试报告。由安全工程师进行漏洞验证,确定系统漏洞是否真实存在。
在漏洞验证完成后,安全工程师需要根据企业内部的漏洞等级划分标准,将存在的漏洞录入漏洞管理系统。
漏洞管理系统根据漏洞所影响的业务系统、主机IP等匹配到系统负责部门和修复人。通知系统负责人进行修复加固等。
根据漏洞等级设定的时效性,设置修复计划时间,漏洞复验时间,在漏洞管理系统中进行管理和跟进。漏洞修复人修复完成后提交安全工程师进行漏洞复验,验证漏洞是否确实已经修复。如果漏洞在目前的技术条件下确实无法修复,提交系统负责进行风险确认,采取其他规避风险的措施,如调整访控策略、下线等。
漏洞修复周期,包括漏洞的验证、评估、分发、复验、修复和关闭的各个环节。漏洞的修复周期,会根据漏洞等级确定。
参考如下:
漏洞等级 | 漏洞确认时间 | 漏洞修复时间 |
---|---|---|
超危(严重) | 12小时 | 24小时 |
高危 | 24小时 | 3*24小时 |
中危 | 36小时 | 7*24小时 |
低危 | 72小时 | 14*24小时 |
对于漏洞管理整个流程来说,漏洞缓解或已解决后,关闭工单不是最终的目的,需要对漏洞数据进行分析,持续运营,可以从以下几个方面考虑:
1)统计一段时间内,外网系统出现的次数最多的Top10漏洞排名,分析漏洞出现的原因;
如外网系统中出现多次SQL注入漏洞,可以检查WAF的规则库是否及时更新?规则是否生效?此外网系统是否在WAF的防护之内?对外的系统为何不做严格的字符过滤机制等。
2)统计一段时间内,自主开发系统中漏洞数量最多的Top10系统排名,分析造成的原因;
如弱口令次数过多,是安全意识宣传不够?研发人员不重视?
3)哪些供应商的开发的系统漏洞数量最多?分析存在的原因;
是否需要约谈供应商沟通,是安全开发能力的问题,还是研发安全意识不够?
4)哪些框架被利用造成的漏洞过多?
是情报问题?还是应急响应机制的原因?是否可以替换为其他框架?
参考资料
信息安全技术 安全漏洞分类 GBT 33561-2017
信息安全技术 安全漏洞标识与描述规范 GB∕T 28458-2012
信息安全技术 安全漏洞等级划分指南 GB∕T 30279-2013
信息安全技术 信息安全漏洞管理规范 GB/T 30276-2013
安惞《浅谈企业内部安全漏洞的运营(一):规范化》
博客地址:http://xiejava.ishareread.com/