企业安全实践之漏洞管理

admin 2022年8月28日23:51:14评论21 views字数 2939阅读9分47秒阅读模式

企业安全实践之漏洞管理

企业安全实践之漏洞管理

以前在互联网公司做软件项目的时候,公司规定的上线流程中,就有一项是要做安全测试。当时使用的是IBM的AppScan,配置好要扫描的url地址,并通过录制的方式,爬取系统的页面,再设置扫描策略,对系统做安全检查,只有符合要求的结果才能被允许上线。从那个时候起,我就明白了上线前不能存在严重的漏洞,也是第一次对漏洞产生了兴趣。


漏洞的发现是一个扫雷的过程


为什么会产生漏洞呢?在做项目开发的时候,如果软件存在缺陷,是不允许上线的,必须要把缺陷修复完成并测试通过了才可以发版上线。而漏洞产生的原理,跟软件产品的缺陷类似,就是在开发过程中未有严格的控制,从而导致系统出现的暴露风险点。

当我换到另一家公司,开始转型全职负责网络安全工作时,直接面对的就是公司庞大数量的网站及信息系统,有动态和静态的官网、有登录入口的信息系统、有开放的接口地址、也有移动应用等等。刚开始只是觉得,网站只要通过工具扫描一下,就会有很多web漏洞,比如跨站脚本攻击、SQL注入、CSRF、恶意文件上传等。但是,不同的web漏洞扫描工具,爬取的链接、漏洞库、检测的机制都会不同,很难用一个扫描工具扫出全部漏洞。所以,我们就引入了安全厂商的商用漏洞扫描设备,同时又本地搭建了开源的漏洞扫描环境,定期对公司的网站及信息系统做常规的web漏洞扫描。

刚开始做扫描的时候,就是在扫雷,会把当前需要扫描的网站和信息系统全都配置到工具中。但是,有时候就会出现这么一个场景:“有同事喊着,我的网站出现很多恶意的链接,我的服务挂了,是不是XXX在做扫描?”。这时候我心里一阵忐忑,赶紧把扫描任务停止了。后来吸取扫描的经验教训,先把扫描配置调优了,降低了扫描的并发数和任务数,并设置在非业务时段定时触发扫描任务,这样既不会影响到正常的业务,也能有效提升web漏洞扫描的效率。

在面对一些老旧的应用系统时,第三方的开发团队已经解散,也没有人熟悉原来的框架和代码,所以扫描出现的web漏洞,就无人可以修复。针对这类历史遗留的老系统,我们的策略是通过在web应用防火墙或者入侵防御系统上,寻找该类型的web漏洞,配置规则来防护。虽然不能彻底修复,但是也是一个有效地缓解措施。

总结:在做漏洞扫描的时候,你不知道什么时候会踩到雷(系统与人的漏洞),但是你总是要义无反顾的往前走,寻找下一个有可能存在漏洞的点,并尽早发现它。


漏洞的处理是一个贪吃蛇的故事


从技术层面看,漏洞本身无法根除。在漏洞发现后的处理是一个漫长的周期。如果大量漏洞长期暴露并得不到及时有效地处理,那么新发现的漏洞与未修复的漏洞不断累加,对于公司的网络安全风险将会进一步叠加。

在对漏洞的扫描中,我也不断提升自己的认知,特别是跟安全厂商的学习交流以及自己在freebuf、安全客这些社区中徜徉各种安全知识,慢慢对漏洞的管理有了更多的认识。漏洞本身虽然不产生危害,但是一旦被不法分子利用,则有可能带来严重的威胁和损害。特别是2017年5月14日的“永恒之蓝”漏洞,当时我印象特别深,那天正好是周末部门团建,大家在中场休息的时候看到这个新闻,敏锐的IT人第一反应就是打开随身携带的笔记本电脑,通过VPN远程到公司的网络,初步排查终端电脑及win server服务器的SMB补丁修复情况,并在第二天上班时间,部门同事分工协作,对公司的终端电脑逐一打补丁。

总结:在做漏洞处理的时候,就像玩贪吃蛇,你需要对漏洞各个击破,才能有效地把漏洞管理起来,形成一条漏洞修复链。从操作系统漏洞、到应用程序漏洞、再到开源组件漏洞、以及业务逻辑漏洞,就是一个漏洞处理循序渐进的过程。


漏洞的修复验证是一次守望先锋的胜利


当你把漏洞扫描报告发给同事时,有些同事会对你说,这个漏洞是误报,我的程序根本不可能存在这个问题。这时候,你就要多花点时间,把漏洞的名称、类型、来历及利用的方式搞清楚,并要搭建好自己的验证环境,将漏洞真实存在的验证结果输出给同事,让他哑口无言。而当另一些同事对你说,这个漏洞我不知道怎么修复,漏洞报告我看不懂。这时,你也要多花点时间,查阅各种资料,用比较浅显的表达,将漏洞的产生原理、漏洞的描述及修复思路写清楚,用换位思考的方式,让同事能理解和接收它。同时,要形成规范的漏洞修复文档,以便同一类型的漏洞,可以把文档直接丢给他,让对方一看就知道如何修复。

我曾经遇到过,同样的生产环境和测试环境的部署,在测试环境上有检测到某一个未授权访问的漏洞,并也有开放了该服务的端口,而在生产环境上有扫描到该端口,但是一直却没有检测到该漏洞。而对方开发人员很肯定地跟我说两边的部署和配置都是一样的,于是他们对扫描器的可靠性产生了质疑。面对质疑,我也是硬着头皮,不用扫描器而通过自己搭建环境,使用了该漏洞的验证工具,对该系统做了尝试的验证,结果是存在的。每个漏洞都有它形成的特点,就像每个英雄有自己独特的技能和特点。你应该根据漏洞的出现规律及特点,改变自己的扫描策略。就像根据每个英雄的角色定位改变自己的打法,要确定自己希望扮演的角色,才能最终获得胜利。

总结:有时候扫描器也有缺陷,并不是所有的系统、所有的漏洞都可以检测到,所以不能太依赖扫描工具,要拓宽思路地想想,每一个漏洞都会有对应的验证方法和工具,正如《守望先锋》里的每一位英雄都有各自标志性的武器和技能。


漏洞的防御是一场英雄联盟的对决


如何能主动发现漏洞,并有效遏制呢?可以通过堆叠一定的安全设备,如态势感知系统、防火墙、日志审计设备、数据库审计设备、web应用防火墙、入侵防御系统,以经济和装备的领先取得优势。但是,有时候会发现,安全设备一旦没有及时的关注威胁事件,并快速处理告警事件,很容易就变成摆设而失去意义。所以,我对自己每天的工作计划,就是要对这些设备的告警做处理,并在处置中不断优化策略,强化规则,并及时更新系统版本和规则库、漏洞库。

对漏洞的管理要从多方面思考,当我从安全设备接收到一台失陷终端主机的告警,我会先看最近两周或者一个月内该失陷主机的告警历史,判断是否为误报或者真实,如果是真实的,则立刻通知桌面运维同事,从终端安全的角度协助处理。

当我在威胁情报中心获知某一产品的版本漏洞时,我会在公司内部的管理员群组中同步信息,并将漏洞详情发给使用该产品的负责人,让他从应用安全的角度协助处理。当我通过内网的漏洞扫描发现某系统开放了敏感的端口,并检测存在高危的漏洞时,我会将漏洞扫描报告导出来,发给该系统的项目经理,让他尽快去协调相关人员修复漏洞。如此配合的多人协作模式,就像在玩英雄联盟,团队型战斗更是一场游戏的关键。

总结:我喜欢这样的团队配合,在公司的漏洞管理工作中,遵循PDCA的原则,对漏洞有一个闭环的过程。漏洞管理本是一个漫长的过程,需要把各方资源调动起来,有效地防御才是能给人一种打怪成功的感觉。

漏洞管理只是我在公司做的一部分网络安全的工作,面对复杂的网络安全管理体系,我希望可以借助漏洞管理的经验,在整个网络安全架构下,横向和纵向扩展开来,有计划地并行开展着,确保企业安全有序进行。所谓游戏人生,其实就是把游戏的团队作战精神,融入到实际的工作中,开疆拓土保安全!

精彩推荐

企业安全实践之漏洞管理企业安全实践之漏洞管理企业安全实践之漏洞管理企业安全实践之漏洞管理

原文始发于微信公众号(FreeBuf企业安全):企业安全实践之漏洞管理

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年8月28日23:51:14
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   企业安全实践之漏洞管理http://cn-sec.com/archives/964900.html

发表评论

匿名网友 填写信息