漏洞管理面面观

安全 漏洞
随着企业对网络安全风险意识的增强、合规性要求的提高和网络安全事件的频发,漏洞管理越来越被更多的企业所重视,成为了信息安全项目的必备基石。

随着企业对网络安全风险意识的增强、合规性要求的提高和网络安全事件的频发,漏洞管理越来越被更多的企业所重视,成为了信息安全项目的必备基石。近几年,我们见证了网络安全威胁的瞬息万变,网络攻击形式更自动化、批量化、复杂化,另一方面,信息化的浪潮下,应用新技术、数字化业务、平台合成的企业系统也暴露出更多的安全漏洞。

[[321379]]

一、什么是安全漏洞?

我们有一些耳熟能详的安全漏洞名字,比如SQL注入、跨站脚本、缓冲区溢出等,企业的资产(需要保护的、有价值的资源)也面临层出不穷的网络攻击的威胁。那什么是安全漏洞呢?简而言之就是信息系统中的弱点,这个弱点或者脆弱性可以是缺乏防控措施或者防控措施不足造成的,比如组织没有应用某一个组件的补丁而造成的脆弱性暴露。弱点可以被蓄意的攻击者利用对组织造成危害和损失,也可以因为无意识的如管理人员疏忽或者违反合规性要求等给组织带来损失。

二、为什么要做漏洞管理?

漏洞的暴露和利用可能会给企业带来的不仅仅是巨大的经济损失,还有可能损害客户利益、企业名誉,甚至违反相关的法律法规。最近爆出的数据泄露事件中,雅诗兰黛官方服务器遭黑客入侵,导致未加密的云数据库发生数据泄露,其中包括逾4亿条用户敏感数据。2017年WannaCry勒索病毒感染了100多个国家超过10万台电脑并造成了高达80亿美元的损失,这个蠕虫式病毒正是利用了一个已知漏洞(微软已经公布的补丁而大多数系统没有更新补丁的)。2019年1月,拼多多用户可领取100元无门槛券,大批用户大量‘薅羊毛’,金额达数千万元,而这个事件是由黑灰产团伙利用过期优惠券漏洞导致的。有效的漏洞管理可以及早的发现漏洞并遏制漏洞利用事件的发生,相对于企业的盈利部门,虽然漏洞管理是一项支出,而忽略漏洞管理可能意味着更高的经济成本。

另外,等保2.0的安全运维管理中新增了(相对等保1.0)配置管理、漏洞和风险管理控制点,要求企业重视漏洞和补丁管理安全,做好配置管理工作,及时更新基本配置信息库,定期开展安全测评工作,提升企业积极主动防护的能力。很多企业也有要求对关键等级高的资产在上线前和重要变更时进行渗透测试,并每季度进行漏洞扫描,以发现新暴露的漏洞。另外,小程序、APP中对个人信息的收集也可能违反《中华人民共和国网络安全法》、《APP违法违规收集使用个人信息行为认定方法(征求意见稿)》、《个人信息安全规范》、《消费者权益保护法》等法律法规中的相关规定。

许多行业的法律法规都规定了对漏洞管理的要求,相关要求也逐渐扩展到各行各业。支付卡行业数据安全标准(PCI DSS)涉及所有处理支付卡业务的实体,并要求涉及的实体采用行业公认的测试方法,至少每年进行一次渗透测试,并且在环境做出重大变更后必须再次测试。对于最近火热的医疗行业,2018年出台的《互联网诊疗管理办法(试行)》、《互联网医院管理办法(试行)》、《互联网医院基本标准(试行)》均要求互联网诊疗相关系统实施三级网络安全等级保护,而在三级网络安全等级保护中规定了定期开展安全测评、形成安全测评报告并采取修复措施的要求。2019年6月发布的《网络安全漏洞管理规定(征求意见稿)》则将控制的范围扩大到“网络产品、服务提供者和网络运营者”,并要求相关组织或个人在获知网络产品或系统漏洞后,立即验证漏洞,“对相关网络产品应当在 90 日内采取漏洞修补或防范措施,对相关网络服务或系统应当在 10日内采取漏洞修补或防范措施”。

漏洞管理也可以从技术角度了解系统的信息收集与使用的情况,拿APP收集个人信息的行为来说,《中华人民共和国网络安全法》、《消费者权益保护法》、《APP违法违规收集使用个人信息行为认定方法(征求意见稿)》中都规定了网络运营者不能未经用户同意收集使用个人信息。在实际的场景中,App安装后可能未经用户同意收集MAC地址、IP地址、用户地址位置等个人信息,或者在用户明确表示不允许收集的情况下,仍然收集这些信息。有些信息收集构成了《中华人民共和国网络安全法》中禁止的“收集与其提供的服务无关的个人信息”的行为。例如,一些APP可能强制索要用户的系统权限,如果用户不同意则拒绝提供相关业务服务(如美食类APP要求用户提供访问通讯录的权限、访问系统日志的权限等)。或者APP后台自动收集用户设配IMEI号、IMSI号地址位置等过于频繁,超过了业务实际需要。更多的场景和实例不再赘述,对敏感信息相关漏洞的测试和管理可以有效防止信息泄露并了解敏感数据收集、使用的情况,从而帮助APP开发者和管理者了解APP的合规性风险。

三、怎么做漏洞管理?

我们认为,一个漏洞管理框架应该包括治理、发现、评估、处理、监控和报告五个部分。有效的漏洞管理可以帮助组织定期评估漏洞,根据成本效益原则修复风险严重、高、和中等的漏洞,并接受修复成本比较高的风险较小的漏洞。

漏洞/安全漏洞/漏洞管理

1. 治理/准备

良好的治理过程是是有效的漏洞管理的基础,如果不能明确数据和处理数据的信息系统的的分类或者对业务的影响程度,也就无法确定他们需要保护的程度、漏洞的等级和修复的优先级。治理的内容包括确认组织的信息系统表,需要保护的信息系统,对数据的分类,和一些诸如服务水平协议,角色和职责,项目范围等文档的撰写。

2. 漏洞发现

漏洞发现的方式主要包括漏洞扫描、渗透测试等,使用Nessus等常见的漏洞扫描器可以快速识别系统、网络和应用程序中的漏洞,例如版本漏洞和不安全的配置等,然而常规的漏洞扫描器可能存在一定的误报率和难以发现如逻辑绕过之类的漏洞。渗透测试技术则可以弥补这一缺陷。

渗透测试是通过模拟黑客攻击的过程,发现资产存在的漏洞。漏洞扫描只是探测漏洞是否存在,通常不会对系统发起主动的攻击性行为,而渗透测试会通过突破安全控制措施,入侵目标系统来验证漏洞,达到评估系统安全性的目的。

渗透测试通常包含规划、信息收集和发现、漏洞扫描、漏洞利用和报告这几个阶段。规划阶段需要确认测试的域名、权限、时间窗口和扫描方式等问题;信息收集和发现结合人工和自动化工具收集目标环境的相关信息,信息收集的步骤通常会对漏洞利用起到很大的帮助;漏洞扫描使用自动的扫描工具勘测系统漏洞;而漏洞利用阶段则根据前面步骤收集的信息、发现的漏洞等,尝试攻破系统的安全防线;最终,对发现的漏洞和对应的修复方式通常以报告的形式呈现。漏洞利用测试的方面主要有:配置管理测试、认证测试、会话管理测试、权限和业务逻辑测试、数据验证测试、共享主机测试等。具体的测试细节这里不展开讨论。

漏洞/安全漏洞/漏洞管理

渗透测试根据向攻击者/测试者提供信息的程度可以划分为白盒渗透测试、灰盒渗透测试、黑盒渗透测试,其中白盒渗透向攻击者提供目标系统的详细信息,因此可以减少信息勘测的步骤,缩短测试和攻击时间,并增加了发现更多漏洞的可能性。黑盒测试在攻击前不向测试人员提供任何消息,也更接近真实的攻击场景。而灰盒测试测试也被称为部分知识测试,是前两种测试的折中,平衡了两者的优缺点,也是最常用的渗透测试方法。

很多指南提供了可以参考的行业标准渗透测试方法,包括OWASP测试指南、OSSTMM、NIST800-115、FedRAMP渗透测试指南、PCI DSS关于渗透测试的信息补充等。OWASP TOP 10 2017也列出了10项最严重的应用程序安全风险,包括:注入、失效的身份验证、敏感数据泄露、XML外部实体(XXE)、失效的访问控制、安全配置错误、跨站脚本攻击(XSS)、不安全的反序列化、使用含有已知漏洞的组件、不足的日志记录和监控。

漏洞/安全漏洞/漏洞管理

3. 评估

根据漏洞在当前环境下的威胁程度、可复现性、影响用户程度等评估漏洞和风险,并依此对漏洞评级、排序并确定修复的优先级。对漏洞的定性评估可以将漏洞分为:超高危、高危、中危、低危,具体的评判标准可以参考CVE和CVSS。已发现的漏洞通常使用CVE(通用漏洞和披露)来标识,由MITRE维护,可以在www.cve.mitre.org查看漏洞有关的详情、可以造成的危害等,如前面提到的WannaCry利用的Windows系统的漏洞被标识为:CVE-2017-0143;而CVSS(通用漏洞评分系统)提供一个描述安全漏洞严重性的标准化评分系统。

4. 处理

从处理风险的角度来看,风险的响应通常包括:风险缓解、风险转移、风险接受、风险威慑、风险规避、风险拒绝。而一般处理漏洞的方式主要有风险缓解和风险接受。企业可以选择修复漏洞以缓解此漏洞敞露的风险,例如SQL注入漏洞,常见的修复措施有参数化、对用户输入进行验证、使用存储过程等;对于跨站脚本攻击(XSS)而言,验证用户输入的有效性是一个很好的措施。(详细的修复方法可以参考OWASP)如果因为修复漏洞的成本大于风险可能带来的损失,或其他综合因素考虑,企业也可以选择接受风险。接受风险还意味着管理层已经同意接受风险发生可能造成的结果和损失。

除了对资产漏洞的修复措施外,还可以建立对系统的补偿性控制。例如使用防火墙设置规则来过滤流量,Web应用防火墙,简称 WAF,拥有部署简易、防护及时等优点,主要用于防御SQL注入、XSS跨站脚本、常见Web服务器插件漏洞、木马上传、非授权核心资源访问等OWASP常见攻击,同时大多数防火墙也提供了日志记录,查询的功能,能够满足运维,安全方面的管理需求。更加智能、高效的方式是建立企业的安全运营中心(SOC)进行日志收集、监控分析、识别异常行为并产生预警等,从而实现持续的安全运营。更加智能化的安全管理方式是建立SOC(安全运营中心),SOC可以弥补传统信息安全的不足,它以数据为核心,通过日志收集、威胁建模、指标设计、告警分析、安全事件用例知识库和威胁情报态势感知等功能模块,真正实现数据驱动安全,不仅能实现攻击的维护和实时监控,还能通过威胁情报和用户行为分析等预测威胁,并在安全事件发生后系统地追踪溯源。

5. 监控和报告

在实际漏洞管理的过程中,企业很难一次修复所有的漏洞,通常都会涉及验证、再次验证直到漏洞被修复的过程,甚至有些漏洞难以被完全修复,因此需要对整个过程的实时监控来提高管理效率。项目管理人员也需要向高级管理层汇报漏洞管理项目的状态,包括对服务水平协议规定的实现和关键的业绩指标,如:漏洞发现率、漏洞修复率、漏洞修复时间等。另外,第三方的的安全审计、渗透测试、安全评估等也能更独立的评估企业信息系统的安全性,提高管理的效率和效果。

更高效的管理方案是建立一个集中性管理平台-漏洞管理平台,它可以提供一个时事、高效的监控、管理和报告的方式,通过集成漏洞扫描(保持更新最新漏洞)、漏洞自动分类与分级、漏洞状态管理、漏洞和修复方案描述、报告生成和下载、漏洞管理仪表盘等功能,实现对漏洞全生命周期的有效管理。

漏洞管理是一个持续的过程,成功的漏洞管理过程也需要与组织的业务风险管理紧密联系,定期审核漏洞管理过程是否与组织的业务和风险管理目标相一致,并确保企业网络安全相关的人员及时了解新的安全威胁和趋势也是漏洞管理过程中不可忽略的部分。

 

责任编辑:赵宁宁 来源: FreeBuf
相关推荐

2013-03-25 13:52:39

SDN软件定义网络Hybird

2019-09-11 17:16:34

DockerGitHubWindows

2009-12-30 15:10:44

摩卡

2009-02-16 09:47:00

IPTV技术多媒体运营

2023-03-24 07:31:58

Oracle兼容性产品

2011-05-30 17:31:26

自动化测试

2013-07-22 17:49:52

Ubuntu虚拟机

2009-07-21 13:01:07

ASP.NET上传文件

2023-06-06 07:31:33

数据库运维管理平台

2010-09-01 17:13:56

无线局域网WLAN

2010-09-13 08:58:47

自动释放便捷方法内存管理

2009-10-28 11:35:25

Linux服务器优化

2009-07-14 10:56:21

MyEclipse快捷插件

2022-02-22 06:11:46

数字化转型企业云数据库

2015-07-22 09:54:48

互联网+发达国家

2010-07-08 10:03:39

动态语言PythonRuby

2010-01-13 10:34:23

VB.NET局部静态变

2011-07-28 09:49:43

Linux社区Debian

2011-08-24 10:44:53

Fedora社区Linux

2010-11-23 09:29:49

Lync微软
点赞
收藏

51CTO技术栈公众号