就在11月28日,又一起勒索事件出现 —— 旧金山MUNI城市捷运系统受到勒索加密勒索软件攻击,所有的售票站点都显示出“你被攻击了,所有数据都被加密“,攻击者发出公告索要100比特币,也就是70000多美元。

勒索软件不管对个人网络用户和企业用户来说,是个越来越显严重的犯罪问题。受影响的客户包括中小企业的业务信息系统,甚至包括个人终端,移动设备。据美国FBI的一份报告显示,2016年,勒索软件的非法收入可能达到10亿美元。这一巨大的收入数字,很大一部分都是由企业缴纳的赎金组成。

当用户因为勒索软件导致业务中断,企业通常会认为支付赎金是取回数据最划算的办法。但尴尬的是,这些支付出去的赎金,通常会被直接用于下一代勒索软件的开发。所以很多企业正在无奈地用“金钱浇灌着勒索软件的花朵”。正因如此,勒索攻击正以惊人的速度不断发展,勒索软件家族也正在不断的进化。

勒索事件之所以如此可怖,是因为它不像一般攻击事件,其发起者只想访问数据或者获取资源,勒索者有时既想要数据,更要钱。这也是为什么在很多勒索事件中,受害者被骗取了钱财,但未拿回自己的数据。

当前国内外诸多研究机构已经专门针对勒索软件的现状、趋势,并做了详细的信息收集和分析研究,微软还专门针对勒索软件在其安全中心开辟了专栏版块,从所有的机构数据来看,勒索软件卷土重来的趋势愈演愈烈,本文将重点讨论如何保护企业,帮助他们更好地应对这种威胁。

一、什么是勒索软件?

Ransomware(勒索软件)是通过网络勒索金钱的常用方法,它是一种网络攻击行为,可以立即锁定目标用户的文件、应用程序、数据库信息和业务系统相关的重要信息,直到受害者支付赎金才能通过攻击者提供的秘钥恢复访问。说直白一点,有点像大家的iPhone突然间“被挂失”了,然后攻击者打来电话索要赎金,然后才帮你解锁。而勒索软件攻击的这个“iPhone”,则是系统、服务器。

勒索软件专门以用户文件为攻击目标,同时会避免破坏系统文件。其中的原因是,这一方面可以确保用户会收到相关的通知,以告知他们的文件所遭到的攻击,另一方面,用户也能够通过一定的方法支付赎金以取回他们的文件。对文件进行加密后,此类恶意软件通常会自我删除,并留下某种形式的文档 —— 这个文档会指示受害者如何支付赎金,并重新获得对加密文件的访问权限。某些“变体”还会向受害者设定支付时限,并威胁如果在此时限之前未收到付款,则将删除密钥/解密工具,否则则会增加赎金的价格。

勒索软件的发送方式通常包括:漏洞攻击包、水坑式攻击、恶意广告,或者大规模的网络钓鱼活动。一旦发送成功,勒索软件一般通过某种嵌入式文件扩展名列表来识别用户文件和数据。勒索软件还会通过编程,避免影响某些系统目录(例如 Windows 系统目录或某些程序文件目录),以确保负载运行结束后,系统仍然保持稳定,以使客户能够支付赎金。

翻译:锁定和加密您的数据和彻底改变文件后缀名,并留下联系方式

图1.大部分加密文件可以锁定目前主流的文件格式类型

图2.尝试使用国内某解密工具解密数据无效

图3.勒索者留下的联系方式

图4.按照勒索者留下的联系方式得到赎金信息

二、受害者的故事

一组熟练的、以获取赎金为目标的攻击者,一直在收集一家大型公司的相关信息,准备对其发动攻击。机会出现了,攻击者获得了对其网络的初始访问权限。攻击者现在需要升级其授权,并确定网络中的关键目标,他们需要取得对这些目标的控制,这样一来,受害者支付赎金的可能性就会增加。


图5.常用的攻击方法

如上图所示,攻击者正在尝试利用系统中的本地功能以在目标网络里逐步渗透,同时降低被发现的风险。在许多操作系统里,攻击者可以利用很多的远程访问工具,从而在系统间逐步渗透。使用本地工具进行逐步渗透,不会向磁盘引入任何内容,并且也不会被视为异常操作,这就降低了人们发现攻击者的可能性。

三、被攻击了,然后呢?

一旦勒索软件发动攻击,并攻击成功,损失几乎是无法阻挡的。如果不支付赎金,那么恢复数据就需要很高的成本。安全和 IT 员工需要全天候进行工作,将系统恢复至运行状态,这个过程中需要支出设备、运营成本等。

如果数据恢复成本大于赎金成本,那么受害组织很有可能会付钱。 否则攻击者会“撕票”,然而这里面也可能会有支付完赎金被骗的情况发生。

图6.在客户遭到勒索软件时,此流程图可以最终决定受害者是否会支付赎金。

四、纵深防御能在关键时候帮你

正如在本文我们所描述的那样,在有经验的攻击者手里,具有自我传播功能的勒索软件将可能给企业的业务带来致命损失,或成为受害者的一场噩梦。但是,可能不代表必然。因为攻击者要逐步从外向系统内渗透,是需要受害者的安全防御层“允许”的。

就像是打仗时,士兵攻城一样。勒索软件的攻击者,会最先攻陷那些没有坚实外壳的系统,完成初始访问。当第一步攻陷行动完成,如果“城墙”内没有安全策略,威胁就会逐渐渗透到内部,以入侵重要的资产或数据,这是攻击的第二步。如果受害者还不留神,“允许”了权限升级,攻击就会最终得逞,造成无法挽回的危害。因此,我们所倡导的“纵深防御”,不仅仅是一个概念,它决定了在勒索事件等攻击场景中,企业到底是能把危机挡在门外,还是引狼入室,让恶意软件对业务造成实际损失。

那么,企业在如何一步步将威胁挡在门外呢?

1. 数据备份与恢复:备份,备份,再备份。重要的事情说三遍!

数据备份和恢复措施是发生被勒索事件挽回损失的重要工作,我们将此关键措施放在第一位。面对攻击者的赎金勒索,需要清晰的了解并考虑以下点:

  1. 当系统遭到彻底破坏的时候,受害组织在多大程度上能够接受数据的丢失?

  2. 本地备份是否可用,或者异地备份的内容是否都被删除或以其他的方式导致不可用?

  3. 如果本地备份介质的内容被删除或不可使用,异地的备份是否可用? 异地备份频率如何?每周一次?每半个每月一次?每月一次?

  4. 是否定期验证过备份内容的有效性?数据是否可以正常使用?

  5. 是否数据应急恢复流程或手册?

如果给出的答案是肯定了,那么备份恢复是企业的最后一道防线,在最坏的情况下,它将是企业最后的堡垒,而企业需要建不定期地进行数据备份策略,以确保在最坏的情况有备份措施。如果企业的业务在云上,可以使用不同方式的备份方法来解决数据备份问题,以确保在发生勒索事件后,尽可能的挽回损失。

推荐工具:ECS快照功能、RDS提供的数据备份功能、使用OSS存储服务备份重要数据文件、由用户制定的数据备份策略或方案等。

2. 云上账号安全策略

云上针对租户账号提供账号登录双因素验证机制(MFA)、密码安全策略、和审计功能,企业可以方便的在自己的云上界面中启用和关闭,以确保云服务账号的安全性。

图7.阿里云账号强化策略

针对组织内部多角色场景,企业需要使用RAM服务为不同角色合理分配账号并授权,以防止在运维管理活动中,出现意外操作而导致的安全风险。

3. 阻止恶意的初始化访问

企业可以采用如下两种方式,来阻止攻击进入系统的“第一道门”:发现并修复业务系统存在的漏洞;或者拒绝点击网络钓鱼等不明恶意链接和邮件/社交工程。如果攻击者在目标网络无法轻易地建立初始访问,那么攻击者更可能转向其他较为容易进攻的目标。攻击者也希望花费尽可能少的代价来取得相应的收益。如果无法轻易地建立初始访问,这会增加他们寻找其他更容易进攻目标的可能性。

4. 搭建具有容灾能力的基础架构

高性能、具有冗余的基础架构能力是保障业务强固的基础条件,在云环境下,可以通过SLB集群的方式搭建高可用架构,当出现某一个节点发生紧急问题时,可以有效避免单点故障问题,防止业务中断的前提下,也可以防止数据丢失。在资源允许的条件下,企业或组织可以搭建同城或异地容灾备份系统,当主系统出现发生勒索事件后,可以快速切换到备份系统,从而保证业务的连续性。

推荐工具:SLB、RDS等高性能服务组合而成的容灾架构

5. 强化网络访问控制

精细化的网络管理是业务的第一道屏障。

对于大部分企业网络而言,它们的网络安全架构是“一马平川”的,在业务块之前,很少有业务分区分段。但随着业务的增长和扩容,一旦发生入侵,影响面会是全局的。在这种情况下,通过有效的安全区域划分、访问控制和准入机制可以防止或减缓渗透范围,可以阻止不必要的人员进入业务环境。

例如:可以限制ssh、RDP业务管理源地址、对数据库连接源IP进行访问控制,实现最小化访问范围,仅允许授信人员访问,并对出口网络行为实时分析和审计。具体可以从以下几个方面实施:

  1. 推荐使用更安全的VPC网络;

  2. 通过VPC和安全组划分不同安全等级的业务区域,让不同的业务处在不同的隔离空间;

  3. 配置入口/出口过滤防火墙策略,再次强调 -入口和出口均需进行过滤。主机彼此之间应当不能通过 SMB(139/tcp、445/tcp) 进行通信。如果设置了文件服务器,实际上就不需要进行这种通信。如果企业可以有效地禁用主机间的 SMB 通信,企业就可以防止攻击者使用“通过散列表”所进行的逐步渗透。SMB 通讯应仅限于应用分发平台,文件共享和/或域控制器。

图8.网络安全区域划分架构

推荐工具:VPC、安全组

6. 定期进行外部端口扫描

端口扫描可以用来检验企业的弱点暴露情况。如果企业有一些服务连接到互联网,需要确定哪些业务是必须要发布到互联网上,哪些是仅内部访问,当公共互联网的服务数量越少,攻击者的攻击范围就越窄,从而遭受的安全风险就越小。

7. 定期进行安全测试发现存在的安全漏洞

企业公司IT管理人员需要定期对业务软件资产进行安全漏洞探测,一旦确定有公开暴露的服务,应使用漏洞扫描工具对其进行扫描。尽快修复扫描漏洞,同时日常也应该不定期关注软件厂商发布的安全漏洞信息和补丁信息,及时做好漏洞修复管理工作。

推荐工具:安全众测产品、VPC网络、安全组策略、主机安全、可管理的安全服务(MSS)

8. 常规的系统维护工作

  1. 制定并遵循实施IT软件安全配置,对操作系统和软件初始化安全加固,同时并定期核查其有效性;

  2. 为Windows操作系统云服务器安装防病毒软件,并定期更新病毒库;

  3. 确保定期更新补丁;

  4. 确保开启日志记录功能,并集中进行管理和审计分析;

  5. 确保合理的分配账号、授权和审计功能,例如:为服务器、RDS数据库建立不同权限账号并启用审计功能,如果有条件,可以实施类似堡垒机、VPN等更严格的访问策略。

  6. 确保实施强密码策略,并定期更新维护,对于所有操作行为严格记录并审计;

  7. 确保对所有业务关键点进行实时监控,当发现异常时,立即介入处理。

推荐工具:主机安全产品

9. 重点关注业务代码安全

大部分安全问题由于程序员的不谨慎或无意识的情况下埋下了安全隐患,代码的安全直接影响到业务的风险,根据经验来看,代码层的安全需要程序员从一开始就需要将安全架构设计纳入到整体软件工程内,按照标准的软件开发流程,在每个环节内关联安全因素。以下是基于软件开发流程将安全管控点落实到流程中的最佳实践:

图9.SDL流程

对于一般的企业来说,需要重点关注开发人员或软件服务提供上的安全编码和安全测试结果,尤其是对开发完毕的业务代码安全要进行代码审计评估和上线后的黑盒测试(也可以不定期的进行黑盒渗透测试)。

推荐工具:安全众测产品、Web应用防火墙(WAF)、SDL标准流程

10. 建立全局的外部威胁和情报感知能力

安全是动态的对抗的过程,就跟打仗一样,在安全事件发生之前,我们要时刻了解和识别外部不同各类风险,所以做安全的思路应该从防止安全入侵这种不可能的任务转到了防止损失这一系列的关键任务上。

防范措施必不可少,但是基于预警、响应的时间差也同样关键。而实现这种快速精准的预警能力需要对外面的信息了如指掌,切记“盲人摸象”,所以建立有效的监控和感知体系是实现安全管控措施是不可少的环节,更是安全防护体系策略落地的基础条件。

推荐工具:大数据安全分析平台,云上安全威胁态势感知系统

11. 建立安全事件应急响应流程和预案

就像前面说的一样,在安全攻防动态的过程中,我们可能很难100%的防御住所有的安全事件,也就是说,我们要为可能突发的安全事件准备好应急策略,在安全事件发生后,要通过组织快速响应、标准化的应急响应流程、规范的事件处置规范来降低安全事件发生的损失。

推荐工具:可管理的安全服务(MSS)、安全事件应急响应服务(SIEM)

五、总结

从以上介绍看来,这些对抗攻击的方式并没有很高的难度。它们在企业信息安全日常实践中都是常用的安全措施。但是,大部分企业没有去做好基础防御工作,主要还是因为没有引起高度的重视,而一旦发生此类严重影响业务安全事件之后,后悔莫及。在愈来愈烈的网络安全环境中,如果企业、政府和社会各个机构没有从内心重视起来,构建和扩展深度防御,那么当威胁到来时只能是螳臂当车。

在勒索软件不断“变异”的趋势下,这种攻击行为在未来会继续不断锁定新的目标,以一种新的方式不断进化渗透,在血琳琳的诸多案例下,各企业、组织的信息管理人员需要引起重视,尤其是在当前互联网蓬勃发展的趋势下,数据对于企业的重要性越来越大时代,为我们客户保障数据安全,促进业务良性发展已然成为使命。(了解阿里云安全解决方案:https://yundun.aliyun.com/

作者:正禾@阿里云安全,更多安全类文章,请访问阿里聚安全博客