对付勒索软件的方法主要以预防和响应为主。但是,检测勒索软件对于保护企业组织同样重要。我们可以将勒索软件检测理解为勒索软件体系化防护的事中阶段,即勒索软件已渗透到系统内部,但还未大规模爆发。在这一阶段可以通过应用有效的监测防护手段,一方面防护的针对性较强,另一方面能够降低勒索软件爆发所产生的较严重后果。
勒索软件的检测技术通常可以分为两大类:
基于终端、网络的恶意样本及恶意行为检测:这种检测行为具有较强的通用性,即将勒索软件作为攻击的一种进行防护,一般杀毒软件或者服务器安全工具也具备对勒索软件的识别,这种产品用户可以优先选择。
专有勒索软件检测技术:随着勒索软件威胁逐步增加,安全厂商也不断推出专门针对勒索软件的检测产品或检测工具,这种产品可作为针对性勒索软件防护的产品,在完成基础部署后进一步采购应用。
本文将介绍目前业界常用的五种勒索软件检测方法,并对其应用优缺点进行分析。
静态文件分析
如果企业的一台关键服务器上触发了警报,但警报信息相当笼统,只是报告某文件可能是恶意软件。更糟糕的是,如果文件的哈希值不在VirusTotal(一个提供免费的可疑文件分析服务的网站)上,那么安全分析师将无法在网上找到任何信息来确定该文件是不是恶意文件。
这时候,要查看该文件是否可能是勒索软件(或任何恶意软件),最优选择就是进行静态文件分析。静态文件分析是一种恶意软件分析方法,它主要查看可执行文件是否可疑,但并不实际运行代码。
面对勒索软件,静态文件分析会查找已知的恶意代码序列或可疑字符串,比如经常被盯上的文件扩展名和勒索信中所用的常用词。分析工具会标记可执行文件中的可疑部分,可用于检查文件中的嵌入字符串、库、导入内容及其他攻陷指标(IOC)。不过此项检测手段需要依赖于针对勒索软件构建的威胁情报体系,不断增扩展名、可疑字符串等。同时,此项手段需人工处置的比例较大,产品化可能较低。
优点:
识别率较高,误报率低;
可以相对有效地识别已知勒索软件;
可以在勒索攻击执行前阻止攻击,因此并不加密文件。
缺点:
主要依靠手动分析,很费时,产品化程度不足;
可以使用打包器/加密器(Packer/Crypter)或只需将字符换成数字或特殊字符,即可轻松绕过。
常见文件扩展名检测
借助文件访问监控工具,组织可以将已知勒索软件的扩展名文件重命名操作列入黑名单,或者使用这类扩展名的新文件一旦创建,就发出警报。
比如说,Netapp的文件访问监控工具让你可以阻止某些类型的扩展名保存在存储系统和共享区上,比如WannaCry勒索软件(.wncry)。其他勒索软件黑名单解决方案包括ownCloud或Netwrix。
研究人员已针对勒索软件扩展名整理出众多列表,包括附有常见勒索软件扩展名的列表。可以较为方便的获取使用。不过此项检测手段也仅针对已知的勒索软件,对于勒索软件的变种防护能力较差。此手段可以作为一个基础性防护工具,与用户部署的终端安全产品形成联动。
优点:
采用黑名单模式,检测误报率低;
可较有效对付常见已知勒索软件;
不会对正常应用系统造成损坏。
缺点:
可轻松绕过,难以识别采用新扩展名的勒索软件;
很难找到拥有扩展名黑名单功能的文件监控工具。
蜜罐文件
蜜罐文件是故意放到共享文件夹/位置的虚假文件,以便检测可能存在的攻击者。一旦蜜罐文件被打开,就发出警报。比如说,一个名为passwords.txt的文件可以用作工作站上的蜜罐文件。目前,我国主流安全厂商推出的勒索软件防护方案中,都已采用此种方式进行防护,例如安天、安恒、奇安信、深信服等。
创建快速简便的蜜罐文件的一种常见方法是使用Canarytokens。Canarytokens是Canary 公司提供的一款免费工具,可将令牌(独特的标识符)嵌入到文档中,比如Microsoft Word、Microsoft Excel、Adobe Acrobat、图片和目录文件夹等更多文档中。
优点:
可以检测出静态引擎无法捕获的未知勒索软件。
缺点:
存在误报,因为某些合法程序和用户也可能接触诱饵文件;
如果勒索软件接触诱饵文件,重要数据文件将被主动加密;
如果勒索软件跳过隐藏的文件/文件夹或攻击特定文件夹,即可绕过。
动态监控批量文件操作
通过监控文件系统以查找批量文件操作(比如重命名、写入或删除),安全人员也可以捕获实时发生的勒索软件攻击,甚至可以自动阻止攻击。
文件完整性监控(FIM)工具可以帮助你以这种方式检测勒索软件。FIM将文件的最新版本与已知、受信任的“基准版本”进行比对,以此验证和核实文件;如果文件被篡改、更新或删除,就发出警报。动态监控文件操作需要有一套文件的保管清单。
市面上有众多免费的开源FIM工具,比如OSSEC和Samhain File Integrity,其他解决方案拥有实时修复功能,因此可以通过威胁自动响应立即阻止检测到的勒索软件。
优点:
可以检测出静态引擎无法捕获的勒索软件。
缺点:
如果超过定义的限制阈值,文件可能会被加密,影响业务开展;
如果勒索软件在加密操作之间添加延迟,或生成多个进程来加密成批/成组文件,可轻松绕过该检测方式。
测量文件数据的变化(熵)
在网络安全界,文件的熵是指一种测量随机性的特定指标,名为“香农熵”(Shannon Entropy):典型的文本文件有较低的熵,而加密或压缩的文件有较高的熵。换句话说,通过跟踪文件的数据变化率,安全人员就可以确定文件是否经过加密。使用文件熵可以实现检测并阻止加密个人文件的非法进程。测量文件熵的工具还可以在多次标记修改、出现重大变化后快速阻止恶意进程。
优点:
可以检测出静态引擎无法捕获的勒索软件;
误报率低于以上提到的动态检测手段。
缺点:
对终端设备的CPU资源占用率高;
文件将被加密,直至达到一定水平的可信度,因此无法阻止所有勒索破坏;
如果攻击者仅加密文件的一部分或分块加密,可轻松绕过该检测模式。
结语:
检测勒索软件可能很棘手,攻击者会使用多种混淆手法让勒索软件规避检测,新的勒索软件变体每天都在出现。因此,企业需要使用多种不同的勒索软件检测手段,并充分了解每种手段的优缺点。
此外,安全人员要始终假设勒索攻击会成功。因此企业需要随时确保有适当的勒索软件预防和恢复策略。随着勒索攻击能力向高层次发展,其攻击的流程化、能力化已经与APT趋同,因此针对勒索攻击防护体系建设需要形成持续的预测、防护、检测、响应,依照攻击发生的状态,可分为勒索防护策略建立、勒索攻击事前防护、勒索攻击识别阻断、勒索攻击应急响应。