2017年5月12日,一种名为“WannaCry”的勒索病毒袭击全球150多个国家和地区,影响领域包括政府部门、医疗服务、教育、公共交通、邮政、通信和汽车制造业。很多这次攻击事件中的受害者,真切的感受到了什么叫“想哭”。
这是勒索病毒这个名词在国内第一次进入公众视野,紧接着,Petya、Locky、Bad Rabbit等一系列勒索病毒的爆发,勒索病毒一词不仅被公众所熟知,更是入选了国家语言资源监测与研究中心发布的“2017年度中国媒体十大新词语”。
在过去的一年多里,安全技术论坛中更新了一篇又一篇勒索病毒分析文章、安全资讯里发布一起又一起勒索病毒事件、各个安全厂商更新了一个又一个对应策略,但勒索病毒的攻击和防御仍在持续博弈着。
最近几天勒索病毒再次活跃,国家计算机网络应急中心广东分中心发布预警通报:
从本次的勒索事件来看,受影响的基本都是行业专网,涉及的勒索病毒经分析为GlobeImposter的新变种GlobeImposter3.0。这一事件再次警醒安全从业者,对勒索病毒的攻击趋势,必须关注病毒的变种以及对行业专网的入侵,前者让抵御勒索病毒的难度加大,后者增加了勒索病毒产生的影响。
勒索病毒的变种趋势
勒索病毒频繁的出现变种,是其难以有效防御的最根本原因,从WannaCry到WannaSister、从locky到ykcol,几乎每一个勒索病毒都会伴随着几个不同的变种,每一次的变种就是一次攻击能力升级,病毒更复杂,传播途径更广,最重要的是绕过已知的检测和防御手段。每当有新的漏洞公布,勒索病毒也会相应的出现新的变种,利用安全机制对新漏洞的滞后响应进行传播。
拿最近在医院和国土资源网肆虐的GlobeImposter来说,Globelmposter勒索病毒首次出现在2017年5月,主要以钓鱼邮件进行传播,最初版本的Globelmposter勒索病毒(暂定为1.0版本)甚至可以被解密,这个版本也出现过几次变种,但除了增加了RDP爆破手段进行传播之外,并无大的变化。
到2018年2月,Globelmposter2.0勒索病毒爆发,全国各大医院遭受攻击,Globelmposter2.0采用了RSA算法进行加密,先通过CryptGenRandom随机生成一组128位密钥对,然后使用样本中的硬编码的256位公钥生成相应的私钥,最后生成受害用户的个人ID序列号,然后加密相应的文件夹目录和扩展名,并将生成的个人ID序列号写入到加密文件末尾,这个变种目前没有任何解密工具可以破解。在传播途径上,这一版本可以通过社会工程,RDP爆破,恶意程序捆绑的方式进行传播,其加密的后缀名也不断发生变化,之前发现的后缀名有:.TECHNO.DOC、.CHAK、.FREEMAN、.TRUE,最新的Globelmposter2.0勒索病毒样本的后缀名:FREEMAN、ACL0、ACL02、ACL03,其代码结构和加密算法等与之前Globelmposter2.0变种一致。
近期安全人员发现Globelmposter勒索病毒已经更新到3.0变种,受影响的系统,数据库文件被加密破坏,病毒将加密后的文件重命名为.Ox4444扩展名。3.0版本除了沿用原有的传播途径之外,还融合了WannaCry的特性,可以利用445端口传播,增强了病毒在内网的传播能力。同时,安全人员发现,3.0版本具备病毒隐藏行为,能够删除磁盘卷影、删除远程桌面连接信息、删除日志信息,从而达到潜伏隐藏的目的。
勒索病毒对行业专网的入侵趋势
勒索病毒的变种,在传播方式上,更倾向于适合内网传播的方式,例如近期发现的各种勒索病毒,无一例外的具备RDP爆破传播能力,由于个人用户的RDP服务不在互联网开放,因此这一能力对互联网上的个人用户来说,几乎没有任何作用,但对于行业专网来说,这是非常有效的传播手段。
行业专网一般通过物理隔离来进行安全保障,依靠隔离来抵抗来自互联网的攻击,即使在今天,依旧是很多单位所信奉的安全宝典,实际上这种方式早被证明非常之脆弱。以WannaCry为例,这种蠕虫式勒索病毒,依靠“永恒之蓝”漏洞,借助内网开放的445端口主动传播感染,黑客要做的只是想办法攻下任意一台内网主机:
1)通过入侵边界上的Windows服务器,如果服务器连接内网,病毒可以快速在内网传播;
2)通过入侵个人PC,当感染的PC接入内网时,病毒可以快速在内网传播;
入侵的方式可以有多种,通过钓鱼邮件、应用层攻击、甚至以社会工程的方式,通过被感染的U盘进行入侵,都可能让隔离的内网感染病毒。
长久的隔离,单位往往忽略内网的系统安全升级与防御建设,这种大的内网互通的局域网环境,一旦内网的一台主机被感染,病毒就可以快速的传播到整个网络,从而造成大面积的影响。再加上行业专网背后的单位,往往都是政府机构、教育、大型集团公司等,这些单位的数据更具价值,勒索病毒本身就是以利益驱动的黑客行为,针对行业专网的攻击,无论是攻击成本还是攻击获益,都驱使黑客不断涌入。
行业专网一旦被感染勒索病毒,除了单位自身的损失外,也会给社会、给公众带来不可预估的间接损失,过去一年里出现的勒索病毒事件中,影响最大的事件都是针对行业专网的攻击。
勒索病毒的防护建议
由于勒索病毒一旦感染,基本上都无法进行还原,因此针对勒索病毒的防护,都是以提前预防为主:
1、 及时更新系统及软件补丁,修复漏洞;
2、 定期更改账号密码,设置复杂度较高的强密码,避免多个系统使用统一的密码;
3、 [关闭不必要的文件共享权限及不必要的端口,如3389、445、135、139等;
4、 不要点击来源不明的邮件以及附件;
5、 不从垃圾网站或不明网站下载软件;
6、 安装专业的终端/服务器安全防护软件;
目前从各个途径获取的应对措施往往大同小异,这些措施可以极大的降低勒索软件利用已知漏洞对网络的攻击行为,需要关注的是如何确保这些措施被有效的执行。除此之外,我们还需要加强对未知威胁的防御能力、对勒索病毒的检测预警能力,这样才能够有效的抵御勒索病毒通过未知威胁(如0day漏洞)进行入侵和传播、才能及时的发现勒索病毒新的变种并及时预警,避免漏洞扩散。针对这些挑战,深信服下一代防火墙认为,针对勒索病毒需要:
加强有效的未知威胁防御能力,以应对不断变种的勒索病毒
以未知威胁防御能力来应对勒索病毒,不仅可以快速识别、查杀勒索病毒的各类变种病毒,还可以通过对各类未知威胁漏洞的提前预警、精准防御,防止变种勒索病毒利用未知威胁漏洞进行入侵和传播。
以安全可视化和自动化运维,保障安全策略和意识有效执行
勒索病毒的防治工作,重点在于预防,需要及时的修复系统漏洞、修改弱密码等,单纯依靠人工运维和安全意识,难以保障执行效果,同时,也无法清楚的知道当前的安全状态,自动化运维结合安全可视化,可以简化安全运维工作,明确工作重点和安全状态,用自动化、工具化的安全产品来保障安全策略和意识的落地。
加强有效的未知威胁防御能力
人工智能和深度学习的发展,为未知威胁防御提供了可能。
在针对勒索病毒及其变种的识别和查杀上,传统的方式是基于病毒特征码来比对病毒特征,而面对现在越来越多勒索病毒及其变种,传统技术应对乏力;人工智能和机器学习的发展为采用人工智能技术后,利用算法自动化的提取病毒特征,依托大数据的泛化能力,就可以根据已知的家族的变种特征,通过人工智能深度分析,推算新的变种,可以准确检测未知病毒/变种勒索病毒。下图右是深信服下一代防火墙SAVE安全智能检测引擎,基于人工智能技术对比传统杀毒技术在病毒检出率及病毒误报率层面的数据对比(误报率在同等检出率下远低于传统方案),同时下图左展示的是深信服下一代防火墙在2017年底通过旧的数据模型,基于大数据泛化能力,可有效应对识别最新勒索病毒的情况:
除了对勒索病毒本身及其变种行为的识别、查杀之外,未知威胁防御还必须关注各类漏洞的预警和防护,防止勒索病毒采用新的漏洞进行入侵和传播,例如2017年初爆发的Satan勒索病毒,每一次变种都会增加很多对新漏洞的利用,如果安全工具不能够及时更新对应的防御能力,很难应对变种勒索病毒的传播。
对各类漏洞要做到未知防御,不仅需要人工智能,还需要丰富的多维度威胁数据、强大的云端计算能力,以及与云端联动、可以不断更新安全能力的架构。
首先,威胁数据的采集,必须是对维度的,可以通过构建全球样本采集点以及与安全机构、安全厂商进行情报的交换的方式丰富数据来源,扩充自身的数据生态;
其次,采集到的数据通过云端和本地的数据分析架构,对海量的数据进行汇聚、分析、挖掘,通过人工智能构建各类威胁分析引擎,如僵尸网络引擎、恶意链接引擎,恶意文件检测引擎等,不断的对高危、热点威胁进行深度检测与分析,并通过攻防、安全专家不断的优化云端架构和算法引擎。
第三,经过云端人工智能不断分析优化,最终输出安全能力,并将安全能力落地应用。安全能力的落地应用分为两部分,一是安全能力的应用,云端分析的结果以安全规则的方式下发到本地安全工具,持续增加本地工具对热门威胁的检测能力;二是智能分析的算法模型的应用,经过云端海量数据和场景的不断训练、安全专家的不断优化以及不断的攻防验证,最终沉淀成有效的算法模型,应用到本地安全工具中,让安全工具具备本地自生长的安全能力,效应对0day攻击。
最后,要利用云端的全网威胁情报提升本地的快速响应能力,从威胁样本获取、样本分析、全网下发,实现对现网威胁的快速响应。
以上述技术理念来实现未知威胁防御,已被验证其有效性。8月23日Struts2通报新漏洞(S2-057),深信服下一代防火墙在不做任何规则更新的情况下,基于智能行为分析有效防御了Struts2新漏洞的多种攻击报文。深信服下一代防火墙的威胁深度检测引擎融合词法、语法算法并全面采用人工智能对威胁进行深度分析,构建业务安全基线,同时,通过不断对业务资产的组件发起模拟攻击,通过不断发现服务器的真实响应动作去构建数据模型,针对每一个业务组件单独构建算法,从而可以保障有效覆盖所有的业务服务组件,全面融入业务解析能力,保障内容的深度还原,当Struts2的新漏洞出现时,其攻击轨迹及其攻击环境均被提前预知,因此在不需更新防御规则的前提下有效抵御了Struts2漏洞攻击。
安全可视化和自动化运维
除了要加强抵御未知威胁的能力之外,安全可视化能力也尤为重要,在庞大的行业专网内,有多少主机、开通了哪些端口、有哪些服务在运行、是否存在未更新的补丁、是否存在弱密码等等,这些信息如果不能及时掌握,对于安全决策来说,会存在极大的风险。安全的可视化不仅要能够及时掌握这些信息,更需要实时的了解状态及变化,借助工具扫描的方式固然能获取对应的信息,但一旦出现状态变化,很难及时发现,例如某主机在扫描检查工作完成后,开放了RDP端口,这一变化带来的风险就无法被及时感知到。
安全的决策离不开可视化,而策略的执行则需要自动化的运维能力。面对主机数量庞大、服务类型繁多的行业专网,如果依赖人工运维的方式,工作繁多且难以被检视,就拿关闭某个服务来说,如何执行,执行结果是什么样,都无法有效进行。自动化运维的理念是,当威胁情报发出某个威胁的预警时,具备自动化运维的安全工具可以一键生成对应的防护策略并下发,并联动可视化分析,实时检视策略执行结果。最终实现以安全工具辅助安全策略和意识的执行及检视。