虽然如今黑客的攻击能力越来越强,技术迭代也让人防不胜防。但就目前的大部分攻击来说,黑客还是会先对那些本身有缺陷的系统下手,这样成本收益会更高。俗话说苍蝇不叮无缝的蛋,虽然每天我们都在呼吁企业和用户要及时修复漏洞并关注自己硬件及软件的安全,但企业和个人用户一样,往往心存侥幸,疏于安全管理。
我在软件测试公司Veracode 2017年所发布的《软件安全状况报告》中发现,在各种高危漏洞被发现后的第一个月内,其中只有14%会被公司修补。在Veracode测试的所有应用程序中,超过四分之三的产品在首次被检测时就至少存在一个漏洞。
Veracode研究副总裁Chris Eng表示:
公司需要关注并跟踪他们所开发的各种软件,并及时了解该软件中的安全风险。虽然有些攻击就连安全人员也未能提前预测到,但在这些紧急事件之前公司要做的就是修补那些已经被曝光过的漏洞。
比如Equifax,尽管Equifax在遭受黑客攻击后,向其受影响用户提供了信用检测工具,但实际上很少有用户使用,在1.45亿受影响用户中只有不到五分之一用了这个工具。近日,Equifax数据泄露升级,黑客所窃取的信息量要超过此前披露的。除姓名之外,黑客同时还窃取了税务识别号码、邮件地址、信用卡信息以及一些额外的驾驶证信息。
数据泄露的原因是因为Equifax公司使用的网络安全方案没有足够的能力来保护消费者的数据。该公司没有选择最合适的网络安全方案并且没有遵循防止和缓解数据泄露影响的基本步骤。同时有人发现,Equifax的软件漏洞修复的时间长达几个月,这就给了攻击者一个巨大的攻击窗口期。另外Equifax把敏感信息保存在最容易访问的系统中,当黑客利用Apache Struts漏洞获取Equifax系统的权限后,就发现了一个客户信息库。比如Equifax的软件用的是世界上最流行的Java Web服务器框架之一Apache Struts 2,不过Apache Struts 2也是漏洞频出,其官方也正式通知了这些漏洞,不过Equifax并未及时修复。
目前安全漏洞正以以下五大方式隐藏在诸如Equifax等各大公司的系统中。
1.仔细检测公司发布的每一款软件
漏洞频出的 Apache Struts 2在2017年占据着人们的注意力,在这次大规模的漏洞事件中,虽然Equifax知道Apache Struts 2中的漏洞,但由于执行力的问题,有些漏洞会因此无法被修复。
比如,公司主管虽然用邮件通知开发人员来修复该漏洞,但由于开发人员经常会在他们的应用程序中使用当前版本的库,然后从不更新组件,所以该漏洞也就没有被修补。之后的安全扫描也只是评估了一部分Equifax系统,并没有查出受Apache Struts漏洞影响的软件。
根据Veracode的分析报告,在Struts 2漏洞案例中,当该漏洞于2017年3月发布时,该库中的近50个不同版本(其中58%是易受攻击的)正在被使用。除非公司定期彻底地扫描漏洞以确定他们需要修复的问题,否则,已知的缺陷将继续潜伏下去。
Qualys漏洞管理总监Jimmy Graham表示:
虽然大型组织可能知道Struts漏洞,但他们并没有进行正确的扫描来检测存在的漏洞。这可能是因为他们不知道如何扫描他们的网络,来发现该有的漏洞。
2.对新型设备的安全追踪
许多公司未能搜索到漏洞的原因之一就是缺乏对新型设备的安全监控。比如近年来用的最多的物联网设备,由于种类繁多且当初在设计时还没有考虑到安全问题,所以从家庭、办公室使用的路由器到用于电话会议的设备,公司都缺乏相应的安全追踪,更别说及时安全更新了。
例如,2017年11月23日,Check Point的研究人员发现蜜罐中有一些可疑的安全警告。经过调查发现了攻击运行在37215端口,攻击利用了已经公布的华为家用路由器HG532 CVE-2017-17215漏洞进行了一个大规模的僵尸网络即Satori僵尸网络事件。在研究人员确认了漏洞后,就通报给华为,华为安全团队非常给力,很快对该漏洞进行了响应和修复,并提供了补丁。
根据Osterman Research最近的一份报告,目前市面上有一半以上的物联网设备都没有对应的漏洞修补程序。
Trustwave的SpiderLabs副总裁Lawrence Munro在一份声明中表示:
由于更新物联网设备本质上更具挑战性,即使在发布补丁后,许多设备仍然很脆弱,并且通常情况下,补丁程序甚至都没有被开发出来。要做到及时的修复漏洞,生产商就必须正确记录和测试每个连接到互联网的设备,否则就会面临潜在的数千个新的攻击载体,这些攻击载体容易被网络罪犯利用。
再比如工业控制系统的SCADA(Supervisory Control And Data Acquisition)系统,即数据采集与监视控制系统。SCADA系统是以计算机为基础的DCS与电力自动化监控系统;它应用领域很广,可以应用于电力、冶金、石油、化工、燃气、铁路等领域的数据采集与监视控制以及过程控制等诸多领域。其安全性也经常被忽视,比如Stuxnet蠕虫病毒(超级工厂病毒)是世界上首个专门针对工业控制系统编写的破坏性病毒,能够利用对windows系 统和西门子SIMATIC WinCC系统的7个漏洞进行攻击,特别是针对西门子公司的SIMATIC WinCC监控与数据采集 (SCADA) 系统进行攻击。根据安全软件公司趋势科技的报告,修补此类漏洞平均时间都在150天以上。
3.找出缓解漏洞的方法
必须要承认,公司在修补漏洞的过程中,行动会比较迟缓。比如,Equifax 就忽视了大量关于隐私数据威胁的警告。Equifax曾收到了美国国家安全部发来的关于黑客用来入侵该公司系统的漏洞的告警消息。在这次大规模数据泄露前,Equifax还遭遇过多次小型的数据泄露,许多外部的专家发现并报告给Equifax的安全部门。但是该公司并没有有效处理这些警告信息。
再比如,今年一月份曝光的Intel处理器(CPU)的安全漏洞Meltdown和Spectre,让全球几乎所有的电脑和设备都受到影响,面临易受攻击的安全风险。而且与以往硬件缺陷容易被修复不同的是,这两个缺陷的根源是来自现代处理器的架构设计。
目前要封堵“Meltdown”存在隐患,主要通过打补丁来关闭操作系统的共享内核映射,这是个自上个世纪九十年代初,便用于来提高系统运行效率的操作系统功能,在关闭该功能后会彻底禁止个人程序读取内核内存,从而阻止“Meltdown”漏洞攻击。但这种修复方法也带来很大的问题,一些对个人程序很依赖的任务会因此变慢,比如执行磁盘和网络操作,所以昨天便有报道Intel在修复了该硬件漏洞后,其处理器可能会出现14%的性能损失。这种因为程序的安全问题,而导致的运营速度的下降,是公司所不能接受的。
4.管理相关的第三方组件
开发人员通常不会严格管理那些软件正在使用的组件,据应用安全公司Snyk发布的《开放源代码安全报告》显示,只有11%的开源维护人员至少每季度检查他们的代码是否存在缺陷,其中43%的维护人员从不审核他们软件所使用的代码。
总体而言,目前所发现的四分之三的漏洞是维护人员认真检测就能检测到的,因此定期检测非常重要。
Snyk在对433000个网站进行分析时发现,77%的网站的前端JavaScript库中至少有一个漏洞。
CISO和Snyk联合创始人Danny Grander 表示:
一家健康的开发公司和一家不健康的开发公司之间的区别就在于确保是否能定期检查所开发软件中的已知安全漏洞,如果开发的软件用到了10个代码库,而每个代码库有都与对应的其他库,那么很难知道哪些漏洞会影响所开发的软件了。
5.保护那些明显存在漏洞且又离不开的传统应用程序
虽然某些软件很有可能存在极其严重的漏洞,但该软件可能是许多公司长期依赖的工作工具。在过去的十年中,Internet Explorer 6为许多公司提出了这个难题,尽管它存在严重且频繁的漏洞,但许多公司还得依靠它运行基本业务应用程序。
再比如 Adobe Flash,虽然它长期以来具有重大且易于利用的漏洞。但由于它应用广泛,波及面广,能够播放简短快速的多媒体动画、交互式动画以及飞行标志等各类图像文件,广泛应用于操作系统中的IE浏览器和一些移动设备上。所以,公司不得不将就着使用。
唯一的解决方案是找到创建“虚拟补丁”的方法,在不修补的情况下缓解所存在的漏洞。虚拟补丁技术是对已有系统通过外围的方式,针对漏洞攻击的特征进行攻击行为发现和拦截的安全防御手段。它使针对漏洞防御的实施更为轻量,更为及时。当然这并不是一种彻底的方式,更彻底的方式依然是系统自身的修复;但它不失为一种简易的解决方法,为彻底修复赢得了时间;也使在某些特殊情况下无法进行的修复,有了轻便的解决方案。即使不彻底但简单而有效。这就如同是有了炎症,要吃退烧和消炎药,但体质的增强还需要长久的锻炼、起居、饮食和精神的调整。
总结
公司需要以更积极的态度,来确定其所使用和开发的处于实时监控状态。另外,虽然有些攻击防不胜防,但一旦被曝光,公司就要就快来修复,以免造成更大的损失,例如,WannaCry攻击所利用的漏洞最初是在去年3月份曝光的,但当WannaCry开始针对这些漏洞发起攻击时,其中的很大一部分漏洞已经被各个公司给修复了,避免了大规模更严重的事件发生。
领取专属 10元无门槛券
私享最新 技术干货